Northeastern's redesign of the CS curriculum
Northeastern University’s decision to replace its Racket‑based introductory computer science curriculum with Python and a new structure is prompting debate over whether the school is abandoning core CS fundamentals in favor of industry trends and employability. Many alumni and educators praise the old functional-programming-focused “Fundies” sequence for teaching rigorous program design and leveling the field for beginners, while others argue that more practical, widely used languages better serve today’s students, especially non‑majors. The exchange highlights broader tensions between theory and practice, CS vs. software engineering, and the growing influence of employers and large tech firms on academic curricula.
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.