(no title)
mjdiloreto | 1 year ago
The combination of the "program design" process and the simplicity of the teaching language (student Racket) made the introductory courses at Northeastern excellent. I found that students who already had lots of programming experience hated the initial courses, but those of us with limited experience really excelled. For me, it really validates that Dijkstra quote about Basic programmers being psychologically injured.
The second introductory course used Java, but it mostly covered all the same topics as the first Racket-based course, just using Java constructs. It was a much more gentle introduction to the extra complexity of "real" programming languages, but the program design process was identical.
As I understand it, Northeastern is unique in its CS pedagogy, and there's only 1 other school I know of (WPI) that uses Racket as its teaching language. I will always be grateful for my time there.
danielam|1 year ago
tjridesbikes|1 year ago
Not a single CS major in my graduating class got a 4.0, and I refer to this with honor and respect. The curriculum taught us how to think, how to problem-solve, and how to design programs. It felt like the curriculum was created to foster _understanding_, not to crank out high GPAs.
I’m so disappointed that the Northeastern admin is trying to force such an excellent CS program into something more “accessible” a-la a boot camp. That’s not a knock against boot camps, which should be a low-cost way for people to get their foot in the door for this amazing profession! But, for a 4-5 year university costing $60k per year, I would expect to be challenged, learn theory, become versed in things I’ll never use on the job, and come out a well-rounded SE.
Felleisen may be a bit cantankerous, but he sure as hell knows how to approach CS education, and I can’t thank him enough for the opportunity I had to learn via his approach.
cies|1 year ago
A LISP would in most cases:
* level the playing field for all pupils
* focus on learning the concepts over learning the language (I argue LISPs are almost syntax-free)
* while not delving into type systems just yet!
dockd|1 year ago
My initial thought is that's a great idea. But then I start to think about how college classes are supposed to build on what you already know. Your math department doesn't begin with addition, the English department doesn't start with picture books.
Perhaps the real issue is forcing everyone with experience to start over at the beginning.
seanw265|1 year ago
As someone self-taught with experience in imperative languages like Obj-C, Java, and Haxe, most intro courses would have been redundant.
Racket’s functional approach, however, required a significant mindset shift. It deepened my understanding of core programming principles and fundamentally changed how I approach problem-solving.
kalinkochnev|1 year ago
marcosdumay|1 year ago
froh|1 year ago
please clarify.
few know basic in 2016?
few know Dijkstra said it in 2016?
in 2016 few knew that Dijkstra made the claim at some earlier point in time?
I don't understand what you want to say.
appstorelottery|1 year ago
> I was a student at Northeastern (where Matthias Felleisen was a professor) from 2016-2020, so I have first-hand experience with exactly this system of teaching.
This maybe so, however you likely don't have first-hand experience with early, unstructured versions of basic to which Dijkstra was referring to in his quote. These early versions lacked control structures such as loops or even if-then-else functions. Later versions of basic evolved to support modularity, OOP, local variables and everything else. Dijkstra tended towards hyperbole and exaggeration IMHO.
rramadass|1 year ago
No.
Dijkstra being Dutch was famously blunt, vigorously contrarian, uncompromising perfectionist and extremely honest.
A summary of his life and works; The Man Who Carried Computer Science on His Shoulders - https://inference-review.com/article/the-man-who-carried-com...
whateveracct|1 year ago
Not Racket, but Indiana University uses Scheme. Dan Friedman is a professor there and teaches a great 300-level programming languages class (in Scheme ofc)
In-state tuition to that school (and Purdue for that matter) is one of the few reasons I'd advocate for living in Indiana after growing up there haha.
setheron|1 year ago