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.
"Everything will be OK" - people will succeed in any system. Nobody will ever compare the outputs of the two systems, so nobody will ever know. Let me instead suggest that one question we should ask is: What kind of students will be successful in the new system? What kinds of students will not? One interesting thing aspect of the former curriculum is that (IMO) it provides an entry for students who are not entering w…
Northeastern's redesign of the CS curriculum
71–80 of 189 posts
Re: Northeastern's redesign of the CS curriculum
#72I 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.
Re: Northeastern's redesign of the CS curriculum
#73Re: Northeastern's redesign of the CS curriculum
#74It'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…
Re: Northeastern's redesign of the CS curriculum
#75i'm a dropout just do horrible coding for fun can anyone explain why CS programs are adamant about not teaching on the job skills? like databases, web, embedded, security plus theory
Re: Northeastern's redesign of the CS curriculum
#76I haven't seen many CS curricula start bottom-up with things like digital logic, yet the best programmers I've worked with all started around there and then went upwards --- many of them were self-taught, and although I realise that introduces some selection bias, I have also worked with others who were self-taught but started with some HLL instead, but they didn't have quite the same performance.
As the old Dijkstra quote correctly states, physical computing devices have as much to do with CS as telescopes have with astronomy. They're eating utensils, not the main course. Computer science (the name in English is misleading and horrible) is not about physical computing devices. Devices are merely an instrument. Knowing how to use this instrument well is very useful for people in the field, but it is incidental to the field itself.
Even the distinction between "high-level" and "low-level" languages is meaningless from a CS perspective, as it essentially presumes a target language on a target architecture (with the target "low-level" language) that is treated as normative and "real", but again, that is an implementation concern wrt the instrument. From the CS perspective, compilation is just translation from one language to another.
So I dare say that a CS curriculum that starts with digital logic is not really a CS curriculum, but an electronics engineering curriculum. This is the lesson here.
Re: Northeastern's redesign of the CS curriculum
#77Earlier quoted context omitted.
I graduated with a degree in CS. Checking back with my university they'd added a degree in Software Engineering. CS (traditionally) is more about algorithms, limits, growth. There's a bunch of complexity in even just understanding and calculating what a computer can do. The Software Engineering degree makes so much sense if you're studying about how libraries can be tied together, upgraded, unit/integration testing,…
sorry if this sounds dumb I don't have any formal education why is there a distinction? when i hear computer science i hear the study of computers that in my head means software, hardware, and theory it's like having doctors that study humans theoretically and others that do surgery
Software Engineering is the study of how to efficiently build software, typically on a medium to large team.
Re: Northeastern's redesign of the CS curriculum
#7815 years after MIT made the same switch from Scheme to Python. Since CS at MIT seems to be fine, so will CS at NEU.
Before the current curriculum was implemented, a good portion of students were having difficulty finding jobs and co-ops. After the switch, employers were very eager to hire these students.
The change is not a mere "switch to Python" (which itself is not nothing). It is the replacement of a good curriculum with something mediocre.
Also, I don't know how MIT is doing after the switch.
Re: Northeastern's redesign of the CS curriculum
#79i'm a dropout just do horrible coding for fun can anyone explain why CS programs are adamant about not teaching on the job skills? like databases, web, embedded, security plus theory
It's stunning to work with fresh out of college cs grads and... having to take 10 minutes to explain how git works, why we use source control, and then every day fielding questions about git, merges, and fixing merge conflicts etc as the get up to speed. I realize there is a learning curve as someone fresh out of school but also there should be some basic job training using free versions of tools like git and sql. Th…
That's the point. CS curricula are supposed to teach you deep skills and principles, not how to fiddle around with git.
Re: Northeastern's redesign of the CS curriculum
#80It'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…
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.