Live data from Hacker News

Northeastern's redesign of the CS curriculum

huntnewsnu.com

121–130 of 189 posts

Re: Northeastern's redesign of the CS curriculum

#121

I went to Caltech when they were contemplating similar things in the CS curriculum, although the normal curriculum was less radical than Northeastern's seems to be. There is a tension here that is being understated which is that people of every major now take the intro-level CS class because programming is integral to everything. Teaching algorithm design in that class is not particularly useful to a biologist who ju…

I went to UNC Chapel Hill, and this was already done back in 2005 there. CS major intro classes were numbered in the 400s (401, 402, etc) with a focus on data structures, basics of big-O (later refined in algorithms), etc.

CS 101, 102, etc. were the “non-major” intro CS classes and exactly what you describe here. They didn’t count towards a CS major at all. Neither would non-calculus-based physics classes.

Note that, at least at UNC, in every other department I know of, 400-series classes were generally graduate level. But UNC CS operated a bit differently.

I loved the challenge and the knowledge I gained, but it’s worth noting that CS at UNC was much, much harder than nearly any other major there (Chemistry may be the one exception).

Re: Northeastern's redesign of the CS curriculum

#122

I went to Caltech when they were contemplating similar things in the CS curriculum, although the normal curriculum was less radical than Northeastern's seems to be. There is a tension here that is being understated which is that people of every major now take the intro-level CS class because programming is integral to everything. Teaching algorithm design in that class is not particularly useful to a biologist who ju…

This exists already at Northeastern. They have a data science major and minor with a much more 'practical' intro sequence that teaches in Python. I actually TA'd for it, and many of the students were business or life sciences majors going for a data science minor. It even came with a 1-credit practicum geared towards specific domains, which students could choose from.

I live in California and I recently read an article from the perspective of Berkeley's CS department explaining why they don't take transfer credits from high schoolers who took AP CS or AP Stats -- they're just not "real" Computer Science, but rather applied programming.

Even when I was an undergrad (1995-1999) and a grad student (2008-2011) everyone knew that CS was a research science [that happened to turn out people who lucratively employable skills], and not a software engineering program, which existed separately at both schools.

Re: Northeastern's redesign of the CS curriculum

#123
post #56

Teaching object-oriented design as fundamental computer science seems like it would have been an odd decision for 2025. I looked up the class syllabus, and it seems to have been taught in Java (fine) and makes extensive reference to design patterns (not fine).

What's the problem with design patterns? At its core, a design pattern is just a name applied to a frequently used code pattern. It gives us a common language. I can tell you we are using a publisher-subscriber model and you know what that is without me having to be super specific.

Re: Northeastern's redesign of the CS curriculum

#124

I went to Caltech when they were contemplating similar things in the CS curriculum, although the normal curriculum was less radical than Northeastern's seems to be. There is a tension here that is being understated which is that people of every major now take the intro-level CS class because programming is integral to everything. Teaching algorithm design in that class is not particularly useful to a biologist who ju…

This is how physics is now. You teach an intro physics class and you have a billion engineering students all telling you what they actually need to know to be an engineer. But the truth is, it is often impossible to anticipate what a person needs to know for their future. The future is not an easy thing to predict despite recent innovations in AI and machine learning. And a student's current motivation is not necessarily the most important thing to consider when thinking about what they should be currently learning. People often change majors, career paths, etc. This is why I would rather people learn about topics that are fundamental to various fields, such as algorithms or conservation of energy or whatever, than some topical thing.

Re: Northeastern's redesign of the CS curriculum

#125
post #5

15 years after MIT made the same switch from Scheme to Python. Since CS at MIT seems to be fine, so will CS at NEU.

I believe this is a fundamental misjudgement of the CS curriculums at MIT and NEU and, apologies for being blunt, probably the worst take on this thread.

The student populations at MIT and NEU, particularly in CS, are fundamentally different. The majority of undergraduates at CS MIT participate in academic research while the vast majority of CS undergraduates at NEU do not (do not let NEU's exceptionally high computer science research output [1] confuse you - the undergraduate and graduate schools are very separate). MIT educates significantly less students than NEU. MIT's algorithms class (6.046) is significantly more rigorous than NEU's equivalent (CS3000) - just compare the publicly available curriculum and problem sets [2,3]. In general, MIT's CS curriculum caters towards the third of the student body that go on to do PhDs, while NEU's CS curriculum caters towards the vast majority of students that beeline towards industry [4,5]. The institutional goals and educational values between MIT and NEU could not be more different. I know all of this to be true because I've spent a significant amount of time at both institutions.

I don't know if NEU will butcher its CS curriculum. I hope not. I guess we'll just have to see.

P.S. it's worth checking out Pyret [4], essentially a functional teaching programming language. The language is mostly written by NEU staff, so I wager NEU's future CS curriculum plans to phase out Racket in favor of Pyret.

[1] https://csrankings.org/#/fromyear/2014/toyear/2024/index?all... [2] https://courses.csail.mit.edu/6.046/ [3] https://tlarock.github.io/teaching/cs3000/syllabus.html [4] https://facts.mit.edu/alumni/ [5] https://www.northeastern.edu/experiential-learning/co-op/ [6] https://pyret.org

Re: Northeastern's redesign of the CS curriculum

#126

Earlier quoted context omitted.

Are there "math weed out courses"?

Yep. At my university, after the usual calculus/diff eq/lin alg sequence everyone in STEM takes, we had “intro to advanced mathematics” that was proof based, taught in the spring, and a pre-req for everything higher level (abstract algebra, real analysis, etc). Most math programs have a similar “first proofs” class as their “weed out” class.

In that case the weed-out course is _after_ the calculus/diff eq/lin alg sequence then, not the intro math course.

Re: Northeastern's redesign of the CS curriculum

#127

Matthias Felleisen, architect (I think) of the current curriculum, explains to a hypothetical skeptical university administrator the virtues of it: https://felleisen.org/matthias/Thoughts/py.html

Here is Felleisen's (who I should note is retiring) views on teaching programming at NEU, which is worth a read:

https://felleisen.org/matthias/Thoughts/Developing_Developer...

Re: Northeastern's redesign of the CS curriculum

#128

I went to Caltech when they were contemplating similar things in the CS curriculum, although the normal curriculum was less radical than Northeastern's seems to be. There is a tension here that is being understated which is that people of every major now take the intro-level CS class because programming is integral to everything. Teaching algorithm design in that class is not particularly useful to a biologist who ju…

Why can't they just take a class on shell scripting? The whole point of computer science is to automate things, because that's what gives you leverage. If you don't care about understanding computer science, at least skip to the point and enjoy the fruits. We've been using the UNIX shell for 50 years. It's not going anywhere.

Re: Northeastern's redesign of the CS curriculum

#129
post #80

It's funny, my friends and I all entered CS around the same time (2010-2013) and I remember thinking it was weird for NEU to be using Racket. Clearly it's successful, and has proven itself to be a great place to start a CS career. I always advocated a C based language, like C or C++. That's where my program (not NEU) began and I hated it but am grateful. We eventually moved onto Java. Later courses through my 3rd yea…

None of what you talk about is computer science , it's applied programming. Computer science is to programming in the same way that astronomy is to navigation. How can a student "understand" LLMs without the background knowledge of computer science? Programming courses can teach how to use LLMs, in the same way it can teach how to use Python, Java, language-de-jour.

I watched the video first lecture in the MIT course on which Structure and Interpretation of Computer Programs is based and it explains "computer science is not a science and is only incidentally to do with computers" and goes on to compare the relationship between CS and programming to that between geometry (which means "earth measurement") and surveying.

Re: Northeastern's redesign of the CS curriculum

#130

I went to Caltech when they were contemplating similar things in the CS curriculum, although the normal curriculum was less radical than Northeastern's seems to be. There is a tension here that is being understated which is that people of every major now take the intro-level CS class because programming is integral to everything. Teaching algorithm design in that class is not particularly useful to a biologist who ju…

See also Applied Mathematics vs Pure Mathematics.
Post reply on HN