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.