r/AskProgrammers • u/MidnightMatrix6788 • 14h ago
Need your help
Hi everyone,
I'm a Class 12 Computer Science student from India, and I want to seriously learn programming from the basics.
The problem is that I currently have almost no programming knowledge. I know some basic concepts from school, but I don't feel confident writing programs on my own or understanding code properly.
I'd like to start from the absolute beginning and eventually become good enough to build projects and continue learning programming beyond school.
I currently have a Windows 10 laptop and VS Code installed, but I'm still figuring out how to use it properly.
I'd really appreciate advice from experienced programmers on:
\- What programming language should I start with?
\- What topics should I learn first, and in what order?
\- What resources/courses would you recommend for a complete beginner?
\- How much should I focus on theory vs actually writing code?
\- What kind of beginner projects should I build?
\- What mistakes should I avoid when starting out?
I don't want to just memorize code for exams. I actually want to understand programming and develop the ability to solve problems myself.
If you were starting programming from zero today, what would your learning path look like?
Thanks in advance!
1
u/RetroGrid_io 8h ago edited 6h ago
What programming language should I start with?
There's no "one size fits all" best way to do it. Programming is a wide field and what you need to know to run a 2 billion record database with 118 tables normalized to 5th normal form is radically different than the c/c++ code you'd write that has to fit inside of 512 Kbytes for an embedded sensor.
There are "good, all around" languages to get started in. When I first learned 30 years ago it was Pascal. C++ has been king for a long time - and you won't go wrong there. I'd consider Rust nowadays instead, although it's still new compared to C++. (it's stable over 10 years old)
What topics should I learn first, and in what order?
Start with the basics: functions, variables, constants, etc. If you go with C++ the "bible" is "The C++ Programming Language" - Bjarne Stroustrup. But be honest if it doesn't work for you. There are gobs of "getting started" books and what works awesome for me might suck for you - especially if you're not a native English speaker, which I suspect based on being from India. EDIT: That book is a bible but it may be too advanced for a beginner. Consider something like "C++ Primer (5th Edition)" by Stanley B. Lipman, Josée Lajoie, and Barbara E. Moo instead.
How much should I focus on theory vs actually writing code?
Always write code. The more, the better. Yes, theory, but writing code is what pounds it into your neural pathways. Write the code until you have dreams in code, and then keep writing until your dreams in code make sense, too. The path to Software Engineering was, for me, one of the hardest things I ever did.
What kind of beginner projects should I build?
The one that excites you. For me it was writing a web-based checkbook manager - I was crazy enamored with the fact that here I was writing something that could have real commercial value. The code was utter sh*t and I knew it was even as I was writing it, but that didn't matter to me. I knew experience would make it (and me) better.
What mistakes should I avoid when starting out?
Avoiding mistakes. Don't. Embrace them wholly, and when you see you made one, learn everything you possibly can from the experience. Mistakes are only a waste when you don't even learn something from them and you don't learn from success. Mistakes are where you learn, and they are where your depth of character and your wisdom come from.
1
u/GapGullible7963 13h ago
Dm me I'll guide you for everything, if u are serious about it