9 ms·
A guide for people who want to self-study the basics of computer science
- tsingy 3y agoMight interest some people looking to learn some Computer Science basics. It's a small aggregation of openly auditable university courses.
- KnobbleMcKnees 3y agoNot sure on the prerequisites. I have absolutely no discipline and still managed to get my compsci degree!
- ghaff 3y agoThat probably because you were in a degree program. Discipline is definitely an issue if you just decide to complete a couple dozen courses making up a curriculum from OCW or whatever. Even if you take out elective stuff, especially that not connected to the major, you're almost certainly talking many hundreds of hours to plow through a college major.
- KnobbleMcKnees 3y agoJokes aside, I agree. University programs do/can provide an almost overbearing amount of structure, and that worked well for me.
- vidyesh 3y agoI think the elective stuff might also be a reason to be able to successfully finish the degree. University degree for many comes down to studying strategically than understanding everything they are studying. So the elective stuff might be considered a break from other stuff, which means the brain does get time to take a break from a certain topic to retain that information while you study something else. Self-study is a road with very little guidance to understand which part is more important to study, and which just needs to be understood so the pressure to make sure one knows everything makes it difficult to progress at a consistent pace.
- ghaff 3y ago>Self-study is a road with very little guidance to understand which part is more important to study, and which just needs to be understood so the pressure to make sure one knows everything makes it difficult to progress at a consistent pace. Part of it is that there's also the question of what your goal is. If you down an MIT CS+EE degree curriculum in OCW, you're actually not going to have a huge amount of programming except as a byproduct. If your actual objective is to learn front-end development, I'm guessing you won't actually have learned that by the time you're done. I'm guessing most people looking for a self-directed CS bootcamp don't actually want a "CS" bootcamp.
- hcks 3y agoThat’s just the usual memes. Is this about « computer science » ? Then why isn’t there anything logic, algorithms, Turing machines, etc.. Is this « dev »? Then what’s the point of discrete maths?
- ke88y 3y ago> Is this « dev »? Then what’s the point of discrete maths? You can probably retire on a 6% coupon if you save a lot, but you'll have a much more comfortable retirement if you can clip a 15% coupon on those same savings. Discrete Mathematics is usually some mish-mash of formal logic, induction, combinatorics, number theory, and baby probability. You can get away without knowing these things, but studying them doesn't take very long (14 weeks, part time?!) and pays a very handsome dividend. A foundation in this sort of knowledge, and practice operationalizing it, is often the difference between $60K/yr and $100K+/yr for junior developers. The size of the dividend payment generally increases as one's career progresses, assuming you stay on the IC track. Induction and formal logic are useful for reasoning about programs that contain loops. Often you can get away with intuitive understanding, and many people program for years before encountering problems where formal and structured reasoning becomes necessary (myself included!). But most well-paid developers will encounter a problem or two each year where reasoning about non-trivial loops is required and where the basics of induction and formal logic are tremendously helpful. Exposure to basic thinking techniques in combinatorics is essential for reasoning even informally about time and resource complexity. Writing code that relies on non-trivial time and resource complexity analyses is occasionally necessary in most well-paying developer positions. The very basics of number theory is useful for understanding, conceptually, how cryptography works. This isn't essential for most dev positions. But it is helpful knowledge. Baby probability is increasingly required knowledge for many dev positions, and not just because of the explosion of AI/ML/DS. Again, you don't need this material often. You can probably go an entire career avoiding the brutal pain of spending 14 weeks, 1-2 hours per work day, studying simple mathematics. But the ability to pull these skills out when they're needed is the difference between commodity "keep him around if we have billable hours" bootcamp labor and in-demand "smart and we really need to keep him around and eventually promote him to principal" labor.
- kandel 3y ago
- hahhahanananana 3y ago> High School Mathematics Whenever I try to catch up with maths (in Khan Academy and elsewhere), I always end up in an awkward state where I keep recursively researching less and less advanced subjects because of gaps of various sizes in my fundamental knowledge. It's incredibly demotivating.
- glass-z13 3y agoSame for me, let me know if you find the solution! I think it's extremely hard to get into this kind of stuff when you basically have to start from 0 meanwhile everyone else has a better foundation than you
- tsingy 3y agoThe book that made things click for me was Maths: A Student's Survival Guide by Jenny Olive. Give it a shot, use a calculator for everything. IMO in the age of computers let computers do the calculations and just learn to have intuitions.
- ghaff 3y agoI'd have to be convinced that you can develop those intuitions without basic arithmetic. Mind you, I'm not saying spend a lot of time mastering long division or whatever. (I'd probably have to look up the technique myself.) But I think some level of numeric fluency is probably necessary.
- 2devnull 3y ago“I'd probably have to look up the technique myself.” No offense but I am pretty sure that was the point. If it’s math you forget, it’s not math worth learning. Learn what you want or need to know. The rest is dross.
- ranieuwe 3y agoI have the same problem and have still not found a workable solution. Only one there seems to be is to basically rerun 12 years of math, which is really unpleasant because I know 80% of the work making it unrewarding and slow. I don’t know what I don’t know that is super demotivating, indeed.
- totierne2 3y agoI am looking for a bottle of computer science motivation for my 16 year old. I do an hour a week coding with him. It is not enough, he does no coding in between times. There are other things he prioritises ahead of coding. (School, music, YouTube videos, and chess.)
- Swizec 3y agoMaybe your son is not into coding and that’s okay. This is not a great profession to be in if you don’t enjoy it.
- gigatexal 3y agoLet him find his passion. Don’t force him into programming. There’s plenty in the tech space that needs doing. And there’s even more in life that he can do to earn a living that’s not tech related.
- EGreg 3y agoIs this like Poor Richard's Almanac?
- ggr2342 3y agoFor understanding higher math I have found this primer course extremely useful: Introduction to Mathematical Thinking by Keith Devlin (Stanford) https://www.coursera.org/learn/mathematical-thinking https://www.coursera.org/learn/mathematical-thinking
- Zolomon 3y agoI read this book which helped me understand what it finally meant to think mathematically. Highly recommended, Keith is a fantastic lecturer.
- cactusfrog 3y agoThe CMU database course is fire I want to make a non C++ workbook for that course to write an s3-based relational database (for fun), but I don’t have time for other projects because of poor time management
- satvikpendem 3y agoI've found Teach Yourself CS a better resource, albeit more advanced: https://teachyourselfcs.com https://teachyourselfcs.com
- deleted 3y ago[deleted]
- teunispeters 3y agoAs someone who could never afford to get a degree at university, I love this kind of stuff! I have gaps in my own knowledge, so I keep going through stuff, to find what I'm missing and fill it in. Eg I'm not great on O(x) calculations.
- imranq 3y agoI had a student who was basically performing at a 6th grade math level despite being in 11th grade. I told that student to go through Khan Academy starting from Pre-K all the way to 12th grade and don't continue unless they achieved mastery. That student went from the C math student, to ultimately scoring a perfect score on the SAT II Math. So I highly recommend everyone start for the absolute basics, even if it feels like a blow to the ego
- qazpot 3y agoIf someone is interested I highly recommend Tech Yourself CS website, it is much more concise and complete set of resources. https://teachyourselfcs.com/ https://teachyourselfcs.com/