3 ms·
That's the approach Berkeley CS (and a lot of other CS programs, but I can only speak to UCB's coursework). The first CS course teaches fundamentals of computer
by DanFeldman 12y ago
That's the approach Berkeley CS (and a lot of other CS programs, but I can only speak to UCB's coursework). The first CS course teaches fundamentals of computer science, using (mainly) python, but also Scheme and a declarative language to explore the concepts.The subsequent coursework exploring Data structures/Algorithms uses Java, and then system-level architecture uses C and MIPS.
Every professor is extremely careful to make sure nobody leaves the course believing "This was a python course" or "This course taught me Java"; rather they emphasize the topics covered, using whichever language as the tool for exploration. Python is a great choice in this regard BECAUSE of how rapidly prototyping happens, perfect for a course built for exploration.
- sitkack 12y agoScheme is excellent, but Python only lacks a couple features that can mostly be bolted on or used from a different interpreter (tail calls, Stackless, etc). Some languages make exploring certain concepts easier, but the lack of that feature isn't a hard barrier. I think learning efficiency is an exponential function of the latency between hypothesis and result. Python just happens to have great tooling to minimize that.