Why MIT Switched from Scheme to Python (2009)
wisdomandwonder.com
Why MIT Switched from Scheme to Python (2009)
1–10 of 102 posts
Re: Why MIT Switched from Scheme to Python (2009)
#21) Learning must be applied learning. Give people problems to solve and they will come to you for data structures and algorithms, O notation, etc. If they don't, they should do something else
2) A lot of what's out there in programming languages are cargo cults, and newbies need to be prepared for this. For instance, virtual function inheritance isn't a thing. It's a weird call chain pipeline system glued into your vtable, which C++/Java teaching also won't bother to tell you exists. Make people start from assembly, graduate to C, then write their OWN vtable, so it's demystified. Now you've reduced the ability of software designers to piss on your leg and tell you it's raining.
So ideally I'd want students (at first) to be doing something either close to the machine or in the functional model. As they say though, the imperative of 1) means getting people to actually produce something, which is easier in Python.
Re: Why MIT Switched from Scheme to Python (2009)
#3> https://cemerick.com/2009/03/24/why-mit-now-uses-python-inst...
Re: Why MIT Switched from Scheme to Python (2009)
#4"The wizard book" is a great read and I recently starting flipping through it again.
Re: Why MIT Switched from Scheme to Python (2009)
#5I think there's a tension between two imperatives in teaching new programmers: 1) Learning must be applied learning. Give people problems to solve and they will come to you for data structures and algorithms, O notation, etc. If they don't, they should do something else 2) A lot of what's out there in programming languages are cargo cults, and newbies need to be prepared for this. For instance, virtual function inher…
This is essentially what CS50 at Harvard does, and it seems to work well. Once a student has been exposed to these 3 languages, subsequent courses can explain how a computer works and introduce new paradigms (FP, LP).
Re: Why MIT Switched from Scheme to Python (2009)
#6Re: Why MIT Switched from Scheme to Python (2009)
#7Having done the intro course in Scheme, I'd say it helped me understand functional programming far more than I ever could have with Python, and it opened me up to different ways of thinking.
Even though I never again used any Lisp variant, I'm still really glad I learned it and feel that what I learned using Lisp has informed my future decisions.
Re: Why MIT Switched from Scheme to Python (2009)
#8Sussman wrote "Structure and Interpretation of Computer Programs" which is the book formerly used in many introductory CS courses including 6.001 "The wizard book" is a great read and I recently starting flipping through it again. PDF https://mitpress.mit.edu/sites/default/files/6515.pdf HTML https://mitpress.mit.edu/sicp/full-text/book/book.html
[1]: https://github.com/sarabander/sicp
[2]: http://sarabander.github.io/sicp/
Re: Why MIT Switched from Scheme to Python (2009)
#9I think there's a tension between two imperatives in teaching new programmers: 1) Learning must be applied learning. Give people problems to solve and they will come to you for data structures and algorithms, O notation, etc. If they don't, they should do something else 2) A lot of what's out there in programming languages are cargo cults, and newbies need to be prepared for this. For instance, virtual function inher…
Another approach is to introduce newcomers to programming with a single course that: 1) uses Python to teach general programming, 2) uses JS to show how to write code that runs in a browser, and 3) demonstrates low-level programming patterns using C. This is essentially what CS50 at Harvard does, and it seems to work well. Once a student has been exposed to these 3 languages, subsequent courses can explain how a comp…
Re: Why MIT Switched from Scheme to Python (2009)
#10Sussman wrote "Structure and Interpretation of Computer Programs" which is the book formerly used in many introductory CS courses including 6.001 "The wizard book" is a great read and I recently starting flipping through it again. PDF https://mitpress.mit.edu/sites/default/files/6515.pdf HTML https://mitpress.mit.edu/sicp/full-text/book/book.html