Quiero estudiar informática en la universidad. ¿Qué me recomendarías aprender antes de ir a la universidad?

Conoces POO, así que has comenzado correctamente. Ahora que se siente cómodo con esto y dice que conoce Python, el siguiente paso es estudiar Algoritmos. Podría comenzar con ‘Estructuras de datos y algoritmos’ de Goodrich y Tamassia. Está disponible en diferentes lenguajes de programación. Puedes elegir el que prefieras. Revise el libro en detalle y asegúrese de implementar las estructuras de datos en el idioma que elija. Sentirse cómodo con las estructuras de datos y los algoritmos aumentará su confianza cuando ingrese a la Universidad.
Para un aprendizaje más avanzado, recomiendo encarecidamente el libro ‘The Algorithm Design Manual’ de Steven Skiena. Este es uno de mis favoritos personales y te hace enamorarte de los algoritmos nuevamente.
No te estreses mucho, algunas de las cosas las aprenderás bien, solo después de hacer algunos buenos proyectos en la universidad.

Para estar de acuerdo con los demás, ciertamente no necesita aprender más sobre informática antes de comenzar el programa. Si hay algún curso adicional de instrucción que puede tomar para saltear el curso de informática del primer semestre, hágalo, pero la habilidad autodidacta por encima de este nivel es … extremadamente rara. Más a menudo, los estudiantes aprenden muchos malos hábitos.

La gente ha aprendido a programar a los 30, 40 y 50 años. Sin embargo, si todavía estás en la escuela secundaria, estás en el límite de tu habilidad para aprender fácilmente instrumentos musicales e idiomas extranjeros.

Asegúrese de tener algún tipo de libro que le guste leer. De esta manera, evitará parecer tonto al decir que no le gusta leer. He encontrado esto muy común en los estudiantes universitarios recientes. Ningún profesor universitario cree que hay personas inteligentes que lo han intentado y realmente no disfrutan leyendo ningún tipo de libro, por lo que muchos creen que estos estudiantes son flojos o no inteligentes.

Si eres introvertido o socialmente incómodo, hay muchas cosas que puedes hacer para abordarlo antes de la universidad. La capacidad de hacer amigos fácilmente es una de las habilidades más importantes para tener un comienzo exitoso en la universidad. Hable con un maestro de confianza o un consejero; no tienes que resolver esto por tu cuenta.

Manténgase al día con la programación haciendo proyectos para usted mismo. Escribir videojuegos de cualquier tipo es una actividad popular, y el motor (gratuito) Unity 3D usa C #. No tiene que ser juegos, por supuesto. Sin embargo, tenga en cuenta que OO es una forma de programar. No es la forma de programar porque hay muchas formas de programar. He tenido muchos estudiantes luchando por aprender lenguajes declarativos y funcionales porque estaban atrapados en la mentalidad OO o no podían entender que este nuevo paradigma del que no sabían nada podría ser realmente útil.

Algo que no estudiarás. De hecho, te recomiendo que no aprendas nada.

Ya tienes un gran comienzo sobre la mayoría de las personas que comienzan Computer Science. Si se siente cómodo con OO, entonces los primeros (al menos) 6 meses de aprendizaje de un idioma: “esto es lo que es una matriz” y “esto es lo que hace un bucle for” ya será bastante aburrido.

No aprendería nada. Escribiría un juego pequeño (o grande). Eso probablemente no es algo que hacen en CS1. O algo más que te parezca divertido, siempre y cuando sea complejo.

Si bien dice que sabe programar en varios idiomas, probablemente no haya intentado escribir un programa sustancial, digamos más de unos pocos miles de líneas, en ninguno de ellos. Ese es el problema que muchos idiomas están diseñados para resolver. Será mucho mejor escribir su propia versión de Space Invaders que aprender algo explícitamente.

TL; DR

No te molestes. Elija un proyecto divertido y compílelo en su lugar. Algo tan grande como cree con confianza que puede completar o completar en gran medida en el tiempo libre que tiene hasta que comience su curso. Un gran proyecto, no muchos pequeños.

Será más divertido y, en última instancia, mucho más útil.

Aprenda a leer libros de texto pesados ​​y descubra qué método de retención de la información funciona para usted. Repasar sus habilidades matemáticas en las áreas de lógica, teoría de conjuntos, trigonometría, módulo, cálculo y análisis lineal. Esos lenguajes no son los mejores para la teoría de la computación. Intente agregar ensamblador, Haskell, Smalltalk y Prolog. Es posible que su curso no use ninguno de esos, pero cada uno lo familiarizará con un modo diferente de pensar acerca de la programación. Dependiendo del curso que tomará, practique planear y escribir ensayos y / o electrónica digital.

Los talentos de la gente.

Ser capaz de programar es la primera habilidad que necesitará para obtener un título de CS. Una vez que tiene el título de CS, debe interactuar con las personas en un equipo y saber cómo “programarlas”.

Comience con Toastmasters International -Home, para aprender a hablar en público.

Después de eso, intente un trabajo cara a cara como vender ropa en una tienda por departamentos o vender en un mercado de pulgas, para conocer las ventas.

Intente dirigir algún tipo de grupo de voluntarios, como un gremio en World of Warcraft, o coordinar voluntarios en una organización sin fines de lucro, para aprender administración.

Sin las habilidades de las personas, serás un pequeño bote de una persona sacudido por las olas del océano. Con las habilidades de las personas, podrás navegar y navegar a través de todas las personas que te rodean.

Independientemente de si siempre prefiere enfocarse en el código y solo en el código, poder interactuar con las personas le permitirá mover sutilmente su carrera hacia donde desea estar.

Creo que es sorprendente que puedas codificar antes de comenzar realmente el programa. Creo que el entusiasmo por captar nuevos conceptos es muy importante.

¡Una de las cosas que recomiendo es tratar de codificar las preguntas básicas en plataformas como Hackerrank! Puede comenzar observando preguntas elementales en el idioma que elija y progresando hasta llegar a diferentes conceptos.

Como ex TA, le recomiendo que elija un proyecto y luego trabaje con conceptos desconocidos. ¡Crea un sitio web para ti o crea un juego! ¡Comience con un proyecto pequeño y se sorprenderá de cómo las ideas comienzan a fluir y comienza a lograrlas! ¡Esto ayudará totalmente a construir su currículum y lo distinguirá entre tantos candidatos!

Código de objeto o código orientado a objetos? Python y C # son bastante diferentes. Si ha dominado ambos a fondo, es posible que ya tenga lo que necesita (hasta que desee escribir compiladores o desarrollar nuevos idiomas).

Uni proporcionará la teoría.

Mi consejo sería, disfruta de la vida universitaria.