5 ms·
But many students come in with years of programming in a language like Python, Java, or C++. My friends and I built video games when we were in high school so w
by tmccrmck 9y ago
But many students come in with years of programming in a language like Python, Java, or C++. My friends and I built video games when we were in high school so we were comfortable in all three of those languages.
Scheme levels the playing field. I have never encountered a student who entered university with years of functional programming experience and I was a TA for an introductory CS course. I think moving back to Scheme would be a wise choice for universities that are combating problems with diversity.
- jcranmer 9y agoIf students have years of programming experience, why are they being made to take programming 101?
- outworlder 9y agoBecause it is a required subject in your curriculum? You don't get to pass people just because they say they know something.
- eropple 9y agoMy university did. COS101 was an optional class for complete novices but if you weren't already at least exposed to programming your advisor would sign you up for it. COS125 was the first for-realsies class (taught in Scheme, as it happens).
- cbr 9y agoIf a student claims to know what the class would teach, you don't have to take their word for it: you can talk to them, or you can give them a test. (I skipped the first two intro CS classes in college after talking to the professors and figuring out the right place to start given my background.)
- tmccrmck 9y agoBerkeley used to let students skip the introductory CS course, 61a (in Scheme), if they had received a 5 on the AP CS exam. They removed that option I believe after fall 2010. One of my friends was able to skip 61a by meeting with the department chair, Paul Hilfinger, and convincing him that 61a would be a waste of time for him. My friend could drone on and on about the simplest of subjects so we assumed he just annoyed Hilfinger until he said "enough already".
- jnordwick 9y agoHilfinger also liked to give people enough rope to hang themselves many times over with.
- alpha_squared 9y agoMost campuses call this "challenging" - I did it several times. In city college, I successfully took courses without their prerequisites by speaking with the professors and showing them my work/experience. It wasn't test-based, just portfolio review. In university, successfully challenging also gives you credits for that course (though there is a small fee per unit). I successfully challenged four courses (all in graphic design) - three of which were based on portfolio review and the fourth was based on completion of course projects in an accelerated period. Additionally, though not quite a challenge, I was able to speak with a couple CS professors and get them into admitting me into their courses despite not having the prerequisites (though was doing them concurrently). The course requisite structure is more a guideline than a rigid computer system that works one way and only that way.
- QML 9y agoIn addition, computer science is not the same as programming.
- metaobject 9y agoBecause they probably don't know as much as they think they know regarding algorithms, Big-O, etc. There are exceptions, of course.
- rspeer 9y agoWhen you say "programming 101" you might not be talking about the MIT courses being discussed here. 6.001 was a course in functional programming, based on the book Structure and Interpretation of Computer Programs. 6.01 (the replacement course that uses Python) is a project-based course involving robots and stuff. Neither of these courses depend on any specific knowledge, but they would be very difficult courses if you've never programmed before. (Most people coming into MIT course 6 have programmed before.) The "you don't know how to program, here's how to program" course has taken various forms over the years. When I was there it was 1.00, a Java course for engineers. Later it was 6.00, an optional intro to Python, based on "How To Think Like A Computer Scientist".
- idreyn 9y agoAs part of a reorganization of the undergraduate EECS curriculum last year the intro class is now two half-semester classes, 6.0001 and 6.0002. It's 0's all the way down!
- BeetleB 9y ago>6.001 was a course in functional programming, based on the book Structure and Interpretation of Computer Programs. While I can't speak for MIT, SICP was used as the introductory course for CS in a number of universities. It assumes no programming. It is challenging, but that's the point of going to top universities.
- deleted 9y ago[deleted]
- Ar-Curunir 9y agoToday it is not "many" students who come in to college with programming exp; for instance Berkeley's CS61A, which also moved to Python has over 1300 students. The overwhelming majority have not taken CS classes before.
- watersb 9y agoDang. 61A with SICP was my favorite class.
- wolfgke 9y ago> The overwhelming majority have not taken CS classes before. When I want to university I never took a CS class before and nevertheless could program really well. I believe one is not able to go to a university if one is not able to teach oneself the prerequirements of the subject that one want to study.