¿Qué puedo hacer para prepararme para una especialización en informática?

No voy a agregar más artículos a la lista de cosas; Estoy de acuerdo en que tratar de codificar un poco y trabajar en matemática es útil, y tener una configuración de trabajo para escribir (editor de texto), ejecutar (terminal) y guardar / rastrear (git) ayuda mucho.

Dicho esto, quiero hacer la distinción: hay todas las cosas que puedes hacer. Realmente no necesitas hacer nada de esto; es totalmente posible obtener un título de CS de una institución muy buena sin haber escrito una línea de código de antemano; a veces, dependiendo de su programa, dedicar mucho tiempo a agrupar detalles de cómo se escribe el código Java terminará ralentizándolo más tarde cuando tenga que desaprender y reaprender cosas como la gestión de memoria de Java, lo que ofrecen las diferentes estructuras de datos en teoría frente a en las clases con las que has interactuado, lo que tiene una buena complejidad en comparación con una buena velocidad para todo lo que has usado, etc.

Así que la mayor sugerencia que agregaría a la pila aquí es que ahora mismo, debes estudiar de manera amplia, no profunda . Tendrá muchas oportunidades de hacer esto último más tarde con la experiencia que ofrecen las clases universitarias y la experiencia en investigación / proyecto / pasantía. Si desea crear la nueva gran aplicación iOS antes de comenzar, eso es increíble, pero si bien es una excelente experiencia en ingeniería de software, tiene una ventana de utilidad bastante estrecha con respecto al vasto campo de la informática. También puedes hacer un poco de introducción a Python, jugar con un kit Arduino, jugar con JFLAP, romper tu sistema de archivos, leer algunos libros menos específicos del lenguaje como Programming Pearls y The New Turing Omnibus, probar Weka en un montón de Shakespeare juega, y sal a la playa para pasar el rato antes de pasar gran parte del resto de tu vida haciendo cosas relacionadas con las computadoras.

Comience por obtener un libro de C ++ o Java para dummies. Debe ser uno de esos dos idiomas porque la mayor parte de la comprensión de los mecanismos de codificación se aprende mejor a través de ellos. En lugar de solo leer, analice los ejemplos y vea si puede usar lo que le enseñan a hacer algo.

Una vez que crea que comprende los conceptos básicos de sintaxis, control de flujo y construcciones como tipos de datos, objetos y punteros, comience a analizar la teoría de la computación además de cómo hacer que un programa funcione. Encuentre un libro en una biblioteca sobre estructuras de datos y algoritmos. Incluso si el libro proporciona código de ejemplo en un idioma diferente al que está familiarizado, los conceptos en su mayor parte siguen siendo los mismos. Un libro como ese le enseñará sobre estructuras de datos básicas, incluidas pilas, colas, matrices y estructuras de datos vinculadas, luego cubrirá algoritmos como la clasificación y la búsqueda, y luego obtendrá estructuras de datos más interesantes y útiles, como árboles y gráficos.

Estoy estudiando la física de la ingeniería eléctrica, pero para comenzar en la carrera de ingeniería eléctrica, tuve que tomar cursos de informática tanto en diseño de programas como en arquitectura de computadoras. Cuando tomé mi primera clase de CS, tuve una experiencia absolutamente nula en la programación, mientras que la mayoría de mis compañeros de clase habían estado programando desde la escuela secundaria, y solo me tomó cerca de 2 semanas alcanzarlos e incluso aprobarlos. No te preocupes que no lo hayas hecho antes. Si no lo obtienes al principio, pregunta a algunos compañeros que sí lo hagan o acude a un profesor. Una vez que te das cuenta de cómo funciona, no es difícil mantenerse al día.

Te daré una advertencia. Los departamentos de informática siempre requieren 2 semestres de cálculo para graduarse, y la mayoría también requiere un semestre de álgebra lineal y otro semestre de pruebas matemáticas (es decir, poder demostrar que una expresión matemática es verdadera). Si luchas con las matemáticas, ese aspecto puede resultarte difícil.

Ambas respuestas aquí son bastante abarcadoras, excepto que, como doble especialización actual en Matemáticas y CS, tengo una respuesta ligeramente parcial.

En general, he encontrado que mis dos carreras son extremadamente complementarias. Ambos se toman prestadas ideas el uno del otro. Dicho esto, creo que el lado matemático de la informática es la base más importante para tener éxito.

Descubrí que los científicos informáticos usan las matemáticas como una herramienta para hacer las cosas, y los matemáticos usan la computación como una herramienta para hacer las cosas. De esta manera, la ciencia de la computación espera que tengas un gran conocimiento de las matemáticas en algún momento. Es probable que se te solicite tomar una buena cantidad de clases de matemáticas, pero no puedo enfatizar lo importante que es entender lo que estás aprendiendo y poder pensar matemáticamente. Puede decidir que odia su clase de álgebra lineal, pero seguirá volviendo al primer plano en las clases de informática de nivel superior, así como en la industria. En mis clases de informática, he aprovechado las estadísticas, la probabilidad, el álgebra lineal, la teoría de los números, la teoría de grupos e incluso el cálculo para hacer las cosas. ¡No tome estas clases por sentado!

Hay varias cosas que podrías hacer para prepararte para un Comp Sci major, pero aquí están mis tres grandes:

  1. Prepare el material de antemano: si sabe qué clases tomará, avance y aprenda algo de la sintaxis de codificación básica. Esto te dará una gran ventaja.
  2. Learn Terminal / Git: Terminal es una herramienta muy necesaria. Aprenda cómo crear un directorio, cómo copiar un archivo, etc. Git es una herramienta de control de versiones y es muy popular. Aprende a usarlo y la colaboración será 10 veces más fácil para ti.
  3. Matemáticas, matemáticas, matemáticas: repasar sus matemáticas. Las matemáticas son una parte esencial de la informática y probablemente las más difíciles de aprender sobre la marcha.

¡Buena suerte!