3 ms·
The concepts in SICP are timeless. There's nothing to be lost going through that book. There are video lectures you can use to accompany the book: https://yout
by bmitc 3y ago
The concepts in SICP are timeless. There's nothing to be lost going through that book.
There are video lectures you can use to accompany the book: https://youtube.com/playlist?list=PLE18841CABEA24090 https://youtube.com/playlist?list=PLE18841CABEA24090
Also, I highly recommend the courses How to Code: Simple Data amd How to Code: Complex Data on edX that are based on HtDP.
- scns 3y agoSecond that recommendation. Kiczales is a great teacher, IMHO. https://en.wikipedia.org/wiki/Gregor_Kiczales?wprov=sfla1 https://en.wikipedia.org/wiki/Gregor_Kiczales?wprov=sfla1
- bmitc 3y agoYea, he is! And he helped write the book on CLOS and the metaobject protocol.
- tobinfricke 3y agoAs if to prove your point, those video lectures are from 1986. I took the course in 1999. And yes the material is just as relevant today.
- jstx1 3y agoNot necessarily as relevant, programming has changed a lot since SICP came out. Sussman says so himself - https://youtu.be/OgRFOjVzvm0 https://youtu.be/OgRFOjVzvm0
- db48x 3y agoDid geometry become irrelevant once we stopped caring about field boundaries along the flooding river Nile?
- joaogui1 3y agoI think the real comparison is "has the proportion of the population that needs to know how to take care of farm animals gone down?"
- db48x 3y agoI don’t really think so. If you decide to become a farmer, then care of farm animals may be very relevant to you. Similarly, if you decide to become a software engineer or computer scientist then SICP is very relevant to you. Not everyone uses geometry every day, but engineers do. And we all depend on engineers, so the understanding of geometry is a fundamental underpinning of our entire society. The same can be said of computer science. We don’t all program for a living, but the structure and interpretation of computer programs (the literal structure and interpretation, not the book) is becoming an ever larger factor in how our society functions.
- bmitc 3y agoI would wager that Sussman is being friendly and diplomatic towards his department here. I think the move away from SICP was primarily due to Sussman and Abelson tiring of teaching the course, which I believe Sussman says here or in another talk, changing tides in the landscape of universities and their relation to the job market, and a departmental political move. The move to Python was probably as much of a marketing choice and personal choice based upon leadership in the department than anything. There's an MIT professor, John Guttag, that wrote the Python book that they use and that's used in MIT's MITx and edX courses. I doubt he just wrote it and then the department just happened to later switch to Python and adopt the book. I think Sussman's answer is more of an observation of the result of the switch and not an explanation why. MIT is a slave to fundraising, and I suspect the industry trends of programming languages, funding sources, job market, and other marketing and political decisions led to the change over anything actually technical.
- charlysl 3y agoThis. That was my journey as a self-taught programmer who at one point realized had to learn the timeless foundations. And then MIT's 6.005 [1], where you will apply all this with a realistic language (Java, although the concepts carry to any language), and learn how to design, code and test programs that "have no bugs, are easy to understand and ready for change". And also learn a bit about algorithms, I don't think that one can design and understand properly without. And what is O(2^n) today will still be that in 100 years. MIT's 6.006 is amazing, both professor and TA [2]. I've seen Knuth's TAOCP recommended around here. Don't even consider that, do a course like 6.006 first, the Everest shouldn't be the first mountain you climb. Likewise favour HtDP over SICP at first, I've been there. If after all this you are still interested in LLMs, I recommend EdX's "Large Language Models: Application through Production" [3] [1] https://ocw.mit.edu/courses/6-005-software-construction-spring-2016/ https://ocw.mit.edu/courses/6-005-software-construction-spri... [2] https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/ https://ocw.mit.edu/courses/6-006-introduction-to-algorithms... [3] https://www.edx.org/course/large-language-models-application-through-production https://www.edx.org/course/large-language-models-application...