La respuesta fácil es que es lo que usted hace de ella. Si te ciñes a los cursos obligatorios y no te presionas, no será difícil. Si intentas dar lo mejor de ti mismo y tomar clases más interesantes, entonces el plan de estudios puede llegar a ser muy duro.
La respuesta más larga es que parte de ella depende de ti, y parte del plan de estudios de CS se puede clasificar objetivamente como fácil o difícil. Primero comentaré los cursos básicos ya que todo el mundo los toma o los coloca fuera.
Los dos cursos introductorios (CS 121 y CS 187) son muy fáciles. El 121 se puede saltar con un poco de experiencia previa (como AP Computer Science). El 187 (el curso de estructuras de datos) es un poco más difícil pero sigue estando dentro de los límites de un curso sencillo.
Hay cuatro cursos básicos (220, 230, 240, 250) que se requieren después de terminar las estructuras de datos. Aquí están sus correspondientes dificultades.
CS 220 (Programación Funcional)- La dificultad del curso depende del profesor. La sesión del semestre siguiente a la que yo tomé se hizo mucho más difícil ya que se esperaba que los estudiantes se lanzaran directamente a Scala sin entender ningún concepto. En mi sesión, el curso fue a un ritmo relajado y con un gran profesor (¡elogios para Tim Richards!). Sin embargo, como muchos estudiantes tuvieron grandes problemas con los proyectos, la clase se detuvo por completo a mitad del semestre. Este curso básico es moderadamente fácil en general, pero será una brisa completa si usted ha tenido la más leve de una introducción a la programación funcional o Scala
CS 230 (Principios de Sistemas Informáticos) - Si usted ha tomado la programación C antes y tienen una comprensión preliminar de la interacción de hardware y software, entonces esto debería ser un curso sencillo. Se espera el uso de Linux y puede ser complicado para algunos acostumbrarse. No he tomado este curso pero tengo una buena comprensión del contenido, así que puedo decir con bastante confianza que esta clase fue bien hecha y es moderadamente difícil para un curso de introducción.
CS 240 (Probabilidad) - Este curso es (en mi opinión) un poco de un desastre. Es una excusa para una comprensión sólida de la probabilidad y es endiabladamente fácil de completar. Utiliza opciones en línea como MIT OCW para aprender mucho más mientras tomas esta clase. Puedo entender el razonamiento para hacer esta clase de ritmo más lento, pero la correspondiente caída en el material y la dificultad es un poco demasiado.
CS 250 (Matemáticas discretas) - Este curso es normalmente impartido por David Barrington que no tengo nada más que elogios como profesor. Lo tuve para CS 501 y puedo asumir que enseña este curso igualmente bien. Hay algunas partes de este curso que todo el mundo debería encontrar fácil (tablas de verdad de expresiones lógicas) y algunas partes más difíciles (escritura de pruebas). La dificultad de esta clase depende completamente de cada individuo. Puede ser muy fácil para algunos y muy difícil para otros. Esta asignatura no es tan difícil como podría ser (véase la 6.042 del MIT como ejemplo). Los temas se introducen a un ritmo más lento y hay algo de material que falta. Eso no significa que el curso no sea complicado. Una introducción a las pruebas nunca es sencilla. CS 250 también es único en el sentido de que hay una introducción a TCS al final del curso (Expresiones regulares, DFAs, Lemma de bombeo, etc).
A partir del otoño de 2016, UMass CICS está pidiendo a cada estudiante que tome CS 311 (Algoritmos) como un núcleo adicional. Pensé que este curso estaba bien hecho y definitivamente el más difícil de los núcleos. Se necesita mucho tiempo para entender estos conceptos y aún más para la práctica. Para los cursos de nivel superior, todo depende de tu ambición y preparación.
Los cursos de nivel 300 - 500 varían; algunos pueden ser bastante simples mientras que otros pueden ser extremadamente difíciles. Sólo puedo hablar de los que he tomado, así que no puedo dar más que una respuesta amplia aquí. Los cursos de posgrado (>600) son todos difíciles y requerirán mucho más trabajo. Los profesores de la UMass están bastante abiertos a dejar que los estudiantes de grado tomen estos cursos. Si no te sientes desafiado, inscríbete y eso cambiará rápidamente. Los cursos de posgrado aquí son de la misma calidad que en cualquier universidad de primer nivel.
Muchos estudiantes de CS hacen doble especialización, lo que también aumenta la dificultad del programa. Lo más popular sería doblar en Matemáticas y Ciencias de la Computación. La dificultad del plan de estudios de matemáticas es una conversación diferente (que puedo responder en un PM o en una pregunta aparte). Es casi seguro que esto hará que tu estancia en UMass sea mucho más difícil que una sola especialidad.
En general, los cursos básicos son fáciles y sencillos; uno debería encontrar poca oposición ahí. Dependiendo de lo mucho que te desafíes a ti mismo en los cursos de nivel superior, UMass CS puede llegar a ser tan loco como quieras.
Aquí están los cursos de CS y relacionados con CS que he tomado:
CS 220, CS 501 (Teoría del Lenguaje Formal), MA 235 (Álgebra Lineal), MA 411 (Álgebra Abstracta).
Lo que voy a cursar el próximo semestre:
CS 590D (Algoritmos para la ciencia de los datos), CS 575 (Combinatoria), CS 611 (Algoritmos de posgrado)
.