¿Cuáles son las recomendaciones de cursos de secundaria para una eventual especialización de CS?

Cálculo y matemática. Ya sea que vayas a tomar clases mediante cursos AP o pruebas de matemática superior en la universidad, es obligatorio. Se requiere porque las escuelas lo dicen. ¡También es una herramienta útil que todos deberían tener!

Las especialidades de CS también deben tomar algunos cursos de ciencias naturales como química, física o geología. Estas son buenas cosas para familiarizarse en el nivel secundario para facilitar las clases posteriores. Los estudiantes de ciencias informáticas perezosos que conozco generalmente toman la geología para evitar las matemáticas, o están demasiado abajo en la escala de las matemáticas para inscribirse en la física basada en el cálculo simultáneamente. Personalmente, me gusta este requisito porque aprendí mucho más sobre física de lo que pensé. Ahora me estoy especializando en física. Creo que este es un requisito excelente porque produce carreras de CS con mentalidad científica que ahora pueden integrar física o química con CS, en lugar de los tipos de CS estériles secos. No sugiero que los estudiantes de CS sean de mente estrecha, pero me he encontrado con numerosos profesores que eran programadores expertos pero que no podían explicar por qué el cielo es azul.

Un gran lugar para encontrar los requisitos exactos del curso para su universidad y especialización es: Assist.org

Fuente: Junior level CS major

En cuanto a lo que podría tomar de los cursos ofrecidos en la escuela secundaria, estoy de acuerdo con las otras respuestas de que las matemáticas son buenas. Tome al menos un curso de matemáticas cada año. Los cursos de ciencias y / o ingeniería también son buenos, pero lo que enfatizaría es el aspecto de modelado, obtener una idea precisa de lo que algo es y no es, compararlo con su conocimiento y experiencia existentes, y tal vez darse cuenta de algo que no hizo no esperes; evaluando sus propias nociones al respecto, utilizando algunos métodos técnicos para ayudar a precisar lo que se ha descubierto tangiblemente y qué preguntas aún necesitan respuesta, y reflexionando sobre cómo cualquier idea que haya obtenido tiene implicaciones más amplias para otros fenómenos que parecen similares.

Un aspecto poderoso de CS es usar computadoras para modelar (en más formas de las que normalmente se imaginan, tanto el modelado de la Naturaleza como de fenómenos artificiales, como la computación misma). Esta es una razón por la cual enfatizar las matemáticas es bueno para esto: las matemáticas son buenas para modelar.

Una idea que tienen las ciencias duras, pero que a menudo he visto que falta en CS, es la idea de desafiar e intentar mejorar los modelos. El objetivo del modelado es comprender mejor los fenómenos, no validar el trabajo existente. Sin embargo, a menudo veo que la gente extraña esto en ciertas especialidades, incluida la CS. Me parece que hay algunas especialidades que se han vuelto tan fascinadas con la capacidad de modelar de la computadora que han perdido el contacto con por qué es una buena idea.

Tome cualquier cosa y todo relacionado con las matemáticas.

La teoría de la informática puede pensarse en una forma de matemática discreta aplicada, y los algoritmos a menudo se derivan de conceptos matemáticos.

Cualquier programación que pueda hacer en su tiempo libre también sería buena.