so you only need to learn to be a plumber.
Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
11–20 of 141 posts
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#12> However, he did say that starting off with python makes an undergraduate’s initial experiences maximally productive in the current environment. I read this as "the parents paying tuition wanted their kids to learn practical skills so they can make money". I learned Scheme as a first language and I will be forever grateful for it.
If it was any other school than MIT I might agree, but since it’s MIT I doubt that is what the parents are thinking.
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#13Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#14> However, he did say that starting off with python makes an undergraduate’s initial experiences maximally productive in the current environment. I read this as "the parents paying tuition wanted their kids to learn practical skills so they can make money". I learned Scheme as a first language and I will be forever grateful for it.
That being said, I did respect the course and the language. I didn’t understand the science part of computer science before starting the minor and that course opened my eyes pretty wide (as did the Data Structures course). It really forces you to think and understand what you were doing, much less poking and prodding (different from trial and error) than what you could do with Python and its libraries. Plus there’s significantly less information out there on it in comparison. I wouldn’t bring parents into it, they have almost no influence on universities unless they are privately funding/donating.
But my god those parentheses...
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#15> However, he did say that starting off with python makes an undergraduate’s initial experiences maximally productive in the current environment. I read this as "the parents paying tuition wanted their kids to learn practical skills so they can make money". I learned Scheme as a first language and I will be forever grateful for it.
Do you think that "How to Design Programs"[1] is the best intro book? Should it be followed by SICP[2]? [1] https://htdp.org/ [2] https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#16I think scheme was better educationally but harder pedagogy. It requires a french metric tonne of time and contact time and patience to get some ideas through. I speak as one who did FORTRAN 74 first and tried to learn LISP self taught. Talking to others who did LISP first, what they did is recapitulate the instantiation of fundamental data structures and algorithm concepts while we just made 10x over engineered batt…
I think there's basically only three ways to teach EECS: stack top-down, bottom-up or as-needed/random.
If students learned bottom-up, starting at silicon, they'd have a firm grasp, and be more mindful, of practical system capabilities. Python and such would either be a starting crutch or a last learned.
Just like Scheme, a learning language, we had a learning OS: MINIX 2. Such constrained environments are easier to teach but less relevant in the real world, but the valuable part is the mastery of concepts is portable across technological fashions... it instills a confidence that playing with the Linux or FreeBSD kernel doesn't because it's so overwhelming to all novices, rather unlike a minimal working example.
Furthermore, because of the bifurcations in tech, fewer people have even seen a server much less racked a datacenter floor up, or understand assembly or C. This is concerning if academia is mostly producing CS students narrowly focused on web FE/BE.
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#17For context, MIT's previous EECS curriculum began with 4 required courses for all EE and CS majors. This meant that EEs had to suffer through Scheme, and CS'ers had to suffer through circuits. I'm sure everyone has their own opinion on whether this is a good thing or a bad thing.
Regardless, the EECS department switched to a new 7(?) "core" class format in which students choose 4(?), giving students the freedom to take more relevant courses to their interests/major. In this switch, 6.001 (scheme) was out and replaced with a more hands-on robotics-based Python lab class.
I can't really say which approach is better, but I do think there's an important place for the more pure "thinking" computer science classes too, even if it's not the first class taught to freshmen.
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#18> However, he did say that starting off with python makes an undergraduate’s initial experiences maximally productive in the current environment. I read this as "the parents paying tuition wanted their kids to learn practical skills so they can make money". I learned Scheme as a first language and I will be forever grateful for it.
Python was my first, but the computer science course at my university uses Scheme for one of its primary required courses. Really kicked my ass with man-handling recursion and lambdas to no end. Implementing trees (usually binary) gave me a hell of a time. I got so sick of opening DrRacket by the end of the semester. That being said, I did respect the course and the language. I didn’t understand the science part of c…
This is exactly what I look back on so fondly. I already had a lifetime of fiddling with libraries and stack overflow ahead of me, exploring pure computation was a completely eye-opening experience.
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#19> However, he did say that starting off with python makes an undergraduate’s initial experiences maximally productive in the current environment. I read this as "the parents paying tuition wanted their kids to learn practical skills so they can make money". I learned Scheme as a first language and I will be forever grateful for it.
I pity the MIT students that will waste so much of their intro course learning what is a vastly more complex language. There will be so many students that will struggle to learn python-specific topics that are irrelevant to learning the act of coding and may decide that CS and programming just aren't for them. Scheme is such a perfect language for this task because it puts so little between the student and the crucial experimentation phase that can instill a fascination/curiosity with programming. And now MIT students will miss out on that.
Re: Why MIT uses Python instead of Scheme for its undergraduate CS program (2009)
#20Python is a real language that does real things, but it's also completely approachable to a newbie.
If programming seems hard, then you have a bad teacher that is probably just trying to evangelize their hobby to you.
And god help anybody that tries to start with JavaScript.