¿Por qué los programas de pregrado de CS esperan hasta el tercer y último año para impartir clases como sistemas operativos, arquitectura y redes?

Hay cosas que debes saber antes de poder llegar a las “cosas buenas”. Eso es cierto en todas las disciplinas.

En la enseñanza (y la tutoría), mi jerarquía es así

pensamiento algorítmico (introducción a la programación) ->
Conocimiento ampliado de lenguajes de programación (programación intermedia, múltiples lenguajes) ->
arquitectura básica (más programación de ensamblador) ->
Matemáticas discretas (teoría de grafos, et al.) ->
algoritmos y estructuras de datos (programación avanzada) ->
mecánica del compilador (inc. lenguajes formales) ->
os (incluida arquitectura avanzada)

¿Por qué?

Bueno, necesitas saber cosas antes de poder saber otras cosas.

Si lo incluyo en una clase de sistema operativo y le digo que necesita crear un buffer de anillo para administrar una cola FIFO de doble procesador para una pila de red que es compatible con DMA, me mirará como si tuviera tres cabezas si tiene Un estudiante de primer o segundo año.

Empeora si le pido que cree un sistema de paginación dinámico que se ejecute conjuntamente con el kernel pero no sea interno, o un compilador que desenrolle bucles o un asignador de registros que conserve la asignación de registros marcada después del salto a un nuevo contexto pero usa un algoritmo de cuatro colores para administrar los otros …

Simplemente no tendrás contexto.

Pero si te paso por él, con frecuencia “y es por eso que hicimos X en la clase anterior”, no solo tiene sentido, sino que ves el tejido completo de los cómo y los porqués que hacen que todo tenga sentido.

Si eso tiene sentido.

Esto es cierto para la mayoría de los títulos de cuatro años, ya sea CS, ingeniería, negocios u otros títulos de artes liberales. Si bien no soy administrador de la universidad, creo que se hace de esta manera por un par de razones. Primero, los requisitos de educación general son más amplios y más similares a los de la escuela secundaria, lo que ayuda a los estudiantes universitarios en la transición a una experiencia de aprendizaje y evaluación más rigurosa y diferente. En segundo lugar, las clases más especializadas a menudo se basarán en habilidades básicas de cursos de nivel inferior e incluso otras materias.