3 ms·
Having finished a CS undergrad and followed the OSSU curriculum for some years I can confidently recommend https://teachyourselfcs.com/ https://teachyourselfcs.
by ipnon 4y ago
Having finished a CS undergrad and followed the OSSU curriculum for some years I can confidently recommend https://teachyourselfcs.com/ https://teachyourselfcs.com/ instead. The courses chosen are more focused on capital-C capital-S Computer Science, and the resources are better suited for self-paced self-direction. One should start with https://teachyourselfcs.com/ https://teachyourselfcs.com/ and refer to OSSU if they find the former lacking in some measure.
Self-teaching computer science is a long and winding road. OSSU seems to favor a completionist approach that most people would do well to avoid. Grok on the fundamentals and quickly specialize, because life is too short to learn computer science in an encyclopedic way.
- loganc2342 4y agoOne course from OSSU I personally recommend to add onto Teach Yourself CS is “The Missing Semester of Your CS Education”[1]. For those unfamiliar with the tools needed to work through something like SICP, this course is a godsend. [1] https://missing.csail.mit.edu/ https://missing.csail.mit.edu/
- chrchang523 4y ago+1. I recently gave an internal presentation encouraging everyone on my (rather heterogeneous) team to look at that.
- asicsp 4y agoDiscussions for Teach Yourself Computer Science: * https://news.ycombinator.com/item?id=29353904 https://news.ycombinator.com/item?id=29353904 - Nov 26, 2021 | 52 comments * https://news.ycombinator.com/item?id=23588896 https://news.ycombinator.com/item?id=23588896 - June 21, 2020 | 265 comments * https://news.ycombinator.com/item?id=13862284 https://news.ycombinator.com/item?id=13862284 - March 13, 2017 | 237 comments
- activitypea 4y agoEchoing this. Teach Yourself CS is the best self-study resource available.
- zelphirkalt 4y agoI think expectation management is important and as you note: > Self-teaching computer science is a long and winding road. What does this mean in terms of years? My estimate for the not too persistent average person is, that working through (not only read once, forget) all of the books listed on that website could well take 10 years. For someone very focused maybe 5 and for one working "day and night" on it maybe shorter. Just to give an idea: SICP, the PDF version, has already 800+ pages and many many challenging exercises to solve. That alone could take a year or more, depending on how easily it comes to a person. That said, I often find the website to build up a huge wall against which anyone with not 100% motivation will crash. It might not be a realistic program for most people and I would rather recommend one item after another or smaller parts.
- noelwelsh 4y agoI expect the "not too persistent average person" would make zero progress, as my experience is that the average person learns very little unless forced to do so. For SICP, I read through the year after finishing my undergraduate Computer Engineering degree. I had a decent background, but a lot of the concepts in SICP were new. I loved the book and got through it in a few months of train rides, doing most of the exercises in my head. I feel that was sufficient for me, but I also don't think I'm in any way the "average person" when it comes to this domain.
- bnralt 4y agoYears ago I saw someone who was starting out in a specialist forum lament that everyone else on the forum was so much further ahead than they were. A user pointed out that the type of people who spend a lot of time on specialist forums are going to be among those most dedicated to the field, and just by visiting the forum and trying to improve themselves in that domain the individual was probably better than the vast majority of the people working in that domain. If you’re goal is to have the same amount of CS knowledge as the average person with a CS degree who’s a few years out of college, it probably wouldn’t take that much time. Extremely few - I’d say almost none - CS graduates have gone through the entirety of SICP. You can read the other comment where someone said they went through it after getting a degree in computer engineering, and a lot of the concepts in it being new to them. How long will this take? If you’re focused on learning as much as you can, it’s a never ending journey. But you probably won’t find a use for most of the knowledge (more and more so as you go along), so it’s going to be a hobby for the most part. If you’re just trying to cover the topics that people say you need to know (IE, the site gives understanding recursion as a reason to go through SICP), I imagine you could learn most of them surprisingly quickly.
- rraghur 4y agoProbably off topic Is there a good recommendation for teens who're just getting the programming bug? My son's getting hooked but their curriculum is terrible (think Excel or word )...
- efm 4y agoFreeCodeCamp is good. Practical tutorials to build real things all the way up to deep theory.
- rg111 4y agofreeCodeCamp the website with its main curriculum is really good. freeCodeCamp, the YT channel and republisher isn’t that good. They hoarde all kinds of stuff from other people on YT, and not all of the courses have good quality. I have seen some awful explanation/teaching in some videos on the fCC YT channel.
- phforms 4y agoI recommend taking a look at Processing: https://processing.org https://processing.org When I was young, generating visual things was my gateway-drug to programming. With all the tooling, frameworks, workflows, concepts, etc. that you have to learn today in order to do even simple things, programming can become pretty overwhelming to someone who is just starting out. Processing is like a sandbox that is simple, but still keeps you close to the metal and provides a fun and liberating environment to grow your skills. It may not be for everyone, which also depends on what your son is interested in building, but creative/artistic expression through code is something that I believe everyone should experience at some point. There are many great learning resources for Processing that cover the whole spectrum from very easy stuff to more advanced projects that involve physics simulation, fractals, 3D graphics, etc. I especially recommend the video lectures by Daniel Shiffman, who teaches even advanced topics in a fun and engaging way: https://processing.org/tutorials https://processing.org/tutorials
- mkehrt 4y agoI can also recommend Daniel Shiffman. His Youtube channel has tutorial series on both Java and JS bases Processing. https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw