I'm new to programming and have a basic understanding of Python, HTML, CSS, and networking concepts such as IP addresses, ports, sockets, HTTP, TCP, and UDP. I'm starting a BTech program soon and plan to learn C, then C++, followed by data structures and algorithms in C++. I'd like to build projects alongside my studies, but I'm unsure what would be appropriate for my current skill level or whether I should focus on learning fundamentals first. What kinds of projects should I start with, and how should I choose and grow them as I learn?
3 Answers
Build things that are slightly beyond your current comfort zone, but keep the scope small enough to finish. Once one project works, add features, improve its structure, or recreate it using the next language or concept you learn. Finishing several modest projects will teach you more than endlessly planning one enormous application.
Choose small projects connected to your interests or something you actually want to solve. A calculator, number-guessing game, command-line to-do list, contact manager, or student record system with file storage would be good starting points. Don’t worry about making something completely original; focus on understanding and writing the code yourself. Later, you can rebuild the same ideas with C++, better data structures, or a more polished interface.
Yes, you should start building projects now. You don’t need permission or advanced skills first—small projects are one of the best ways to practice. Expect things to break, investigate why, and try again. That process is part of learning.

Try not to use AI as a shortcut that writes everything for you. It’s much more useful as a debugger or source of hints after you’ve attempted the problem yourself.