Northeastern's redesign of the CS curriculum

Overall Reaction

  • Many alumni and commenters see the change as “the end of an era” and a downgrade from a uniquely strong curriculum to something more conventional and mediocre.
  • Others support the move, arguing the old sequence had too much delayed gratification and was misaligned with Northeastern’s experiential, industry-oriented identity.

Value of the Racket/Fundies Curriculum

  • Widely praised for teaching program design, data reasoning, and abstraction rather than just syntax.
  • Racket’s staged “teaching languages” and DrRacket tooling are described as unusually well-suited for beginners, letting them focus on concepts without incidental complexity.
  • Some say it helped level the playing field for students without prior programming experience and produced graduates who can work effectively in any language.

Arguments for Switching to Python / Practical Focus

  • Supporters say intro courses should first “get students coding” in a widely used language; Python is approachable, useful for many domains, and aligns with co-op and employer expectations.
  • Some see this as better for non-CS majors and for students motivated by direct applicability and internships.

Teaching Languages: Pedagogy vs Industry Pressure

  • Several argue intro languages should be designed for pedagogy, not industry, citing calls for purpose-built teaching languages.
  • Others think that’s unrealistic given employer influence, large applicant pools, and tech companies funding specific language curricula in schools.
  • Pyret (a pedagogical language from the same research group) is mentioned as a possible successor to Racket that may preserve some of the old strengths.

Fundamentals vs Job Skills

  • Strong thread emphasizing CS as a theoretical discipline (algorithms, automata, computability, OS, architecture, databases) distinct from software engineering and tool training.
  • Others complain that graduates often lack practical exposure to tools like git, SQL, and modern stacks, arguing universities should include at least minimal job training.

Impact of LLMs

  • Some argue LLMs make fundamentals more important, since models can handle surface-level Python but not deep understanding.
  • Others observe students already pasting in LLM-generated code they don’t understand, worsening shallow learning.

Object-Oriented Design and Design Patterns

  • Debate over whether OO and Java-based design patterns are still “fundamental.”
  • Critics see classic OO patterns as dated workarounds and not core CS; supporters say OO concepts (encapsulation, polymorphism, interfaces) remain pervasive enough to require explicit teaching.

Jobs, Rigor, and Weed‑Out Courses

  • One subthread claims there is effectively no robust job market for grads outside a few top programs; others strongly dispute this.
  • Discussion of weed‑out courses: some defend early rigor to filter and raise standards; others see this as harmful and misaligned with high tuition and access goals.

Intro CS for Majors vs Non‑Majors

  • Multiple comments suggest separate tracks: rigorous, math-heavy CS for majors and practical programming/data courses (often in Python) for other disciplines.
  • Some universities already do this; cost and staffing are cited as barriers elsewhere.

Unclear / Open Questions

  • Unclear how much of Northeastern’s redesign is about language choice vs deeper changes (e.g., easing difficulty, allowing AP bypass, removing team/code‑swap projects).
  • Long-term effects on graduate quality, equity for less-prepared students, and PL research culture at the school remain debated and unresolved.