I'm starting to explore computer science, and a lot of people tell me to begin by learning programming languages like Python or C, along with data structures. I've tried a bit of everything, but I feel overwhelmed and unsure of how these pieces fit together. I really want to understand the core concepts—like logic, computation theory, and architecture—rather than just picking up various languages and tools for a few years without grasping the fundamentals. I believe diving deep into foundational math and theories is essential. Can anyone share structured resources or advice on how to approach learning CS effectively?
5 Answers
If you're keen on theoretical foundations, go for them, but be careful of getting bogged down in theory alone. More math could help, but it won’t necessarily get you out of 'tutorial hell.' Balance is key!
For a deep dive, check out these resources: [OSSU Computer Science](https://github.com/ossu/computer-science) and [Teach Yourself CS](https://teachyourselfcs.com/). Keep in mind that computer science focuses more on the theory and science behind programming, while practical skills come from hands-on coding. Data structures and algorithms are crucial foundational concepts, so you might want to start there!
There's so much information out there, it can be overwhelming. Here’s a quirky suggestion: try using a Commodore 64 emulator and play around with 6502 assembly language. It teaches you core fundamentals in a fun way, just like how a lot of early programmers got started. No direct career path in that, but it would give you a solid base!
You might want to focus on a specific area. Look into different tech stacks and industries where you can apply your knowledge. For instance, if you’re interested in web development, aim for the MERN stack and start applying for junior roles. This way, you can figure out what you enjoy and what you don’t without getting lost in endless tutorials!
It sounds like you might be putting too much pressure on yourself. A great starting point is the CS50 course from Harvard. It’s free and really hits the major fundamentals without overwhelming you with details. The key is to balance theory with practical projects; otherwise, you might never build anything meaningful!

That's a fair point, but I feel like a lot of beginners get stuck just learning theory without applying it in real projects.