Hey everyone! I'm currently an Electrical Engineering student, but oddly enough, my university doesn't cover C or C++. I'm eager to learn both C and C++ comprehensively—not just copying code for Arduino projects. I want to grasp the language like a CS student would.
Here's what I'm aiming for:
- Master C++ from the basics
- Get a solid understanding of C fundamentals since Arduino uses both languages
- Write clean code for microcontrollers like Arduino
- Build strong foundations in concepts like memory management, pointers, and OOP
- Find the best resources—books, tutorials, courses, and projects
- Ultimately, I want to read and write code like a real engineer, not just someone who copies sketches.
What would be the structured learning path? I'm looking for a proper curriculum that includes textbooks, practical exercises, explanations, and projects. If you've learned C or C++ effectively (whether through self-study or a university program), please share your roadmap and resources! Thanks!
3 Answers
I recommend checking out some project-based learning resources. One great repo is the 'Project-Based Learning' on GitHub, which has a ton of tutorials that focus on practical projects. For books, you might find the 'Free Programming Books' list helpful too. Also, the Developer Roadmaps site provides guidance on various learning paths. These resources can really help you focus and stay organized as you learn!
Just like any language, you’ll want to focus on what you need. Start by mastering the basics of C and C++, then practice specific areas based on your goals. Otherwise, it’s like studying grammar without ever using it in real conversations!
I do want to learn everything about C, but I know I need to start with those fundamental basics first. Thanks for the advice!
You didn't mention your prior coding experience. Knowing that can really help tailor the learning process for you!
Sorry about that! I've done some Python and learned assembly languages like AVR. I understand them, but I feel I need to work on my problem-solving skills to really improve.

Thank you! I’ll definitely check these out!