Depende de lo que desarrolles. Recuerde que CS no se trata de desarrollar un software, se trata de hacer cosas (o intentar hacer cosas) con las que no es posible hasta ahora. Por ejemplo, como desarrollador, su preocupación es encontrar los detalles de implementación del escáner de huellas digitales o cómo usar una biblioteca determinada para este propósito. Pero un experto en CS está inclinado a crear algoritmos para escanear una huella digital (o tal vez diseñar una mejor versión si ya está allí).
Sin embargo, también hay algunas asignaturas orientadas al desarrollo.
Si está familiarizado con los conceptos de OOP (herencia, polimorfismo, composición, etc.), puede comenzar a estudiar varios patrones de diseño utilizados para codificar grandes aplicaciones. También puede echar un vistazo a las matemáticas detrás de algunas cosas importantes, aparte de eso, puede echar un vistazo a algunas estructuras de datos y algoritmos (clasificación, búsqueda, etc.).
El descanso depende del área de interés, si está decidido a hacer aplicaciones relacionadas con el procesamiento de imágenes que las matemáticas y los libros de visión por computadora pueden ayudarlo. Si planea desarrollar una aplicación inteligente, puede aprender un poco sobre IA. Para comprender oraciones humanas, busque Procesamiento de lenguaje natural, para crear un compilador / intérprete de lenguaje, vaya a los cursos de Construcción de compiladores. Y hay tantos otros.
- ¿Cómo convertiría un número binario en un número decimal en la menor complejidad de tiempo?
- ¿Qué problema resolvió Alan Turing y cómo eso lo llevó a ser etiquetado como el 'Padre de la Informática'?
- ¿Un algoritmo 'clásico' de Shor esencialmente destruiría el interés en las computadoras cuánticas?
- ¿Puede una resta dar un resultado negativo usando un número sin signo?
- ¿Cuál es una manera fácil de entender la física?