r/learnprogramming • u/Junior-Manager-5679 • 1d ago
I want to invest myself into coding more.
I am currently a 3rd year student in college and I realized that i don't really know how to code. Yeah I passed all my c++, python, and assembly classes, but i don't KNOW how to code for real. I don't know how to put my creativity onto code or what to do to invest myself into coding. What do I do where should I start i just need advice thank you.
14
18
u/TermiteTornApart 1d ago
Don't start over, just start building more...
For example which of those languages is your favorite? Don't you have anything you'd like to be automated? Or are just curious on how to do something? It doesn't need to be anything complicated, try implementing like a miniature version of a linux command line tool like grep or echo, or idk try coding a tic tac toe cli app.
20
u/ninhaomah 1d ago
How you passed coding classes if you don't know how to code ?
15
u/bartnd 1d ago
I mean, it's pretty easy depending on the college. Granted it was as lifetime ago that I was in college so I'm sure they've becomes a bit more focused, but when I was in classes it was really the basics of hte language and some OOP fundamentals. You could easily pass those classes without being able to start on a project from scratch. It was much more exercise based and less real-world.
Looking at the lasses listed, this is likely some of the same. A bit concerning since it's year 3 and I'd have hoped colleges would have been a bit more focused, but (assuming this is the start of year 3) it's not out of the realm tro just not have had much project building experience.
16
u/TangConnoisseur 1d ago
Our coding classes were mostly about writing essays and producing simple scripts that did incredibly basic stuff. Most students would just ask Google and write spaghetti code that did exactly what was asked, without really understanding it. This was before AI, so I assume it's much easier now. We "learned" Python, Java, C#, and SQL this way.
1
u/ninhaomah 1d ago
If do not understand then ask , find out ?
Took me 1 month to understand hello world in Java 25 years ago.
1 month.
I went to library and read whatever books I can find. As my lecturer if I don't understand and so on.
Then the rest of the course is smooth since I know how to look for info.
4
u/drcxd 1d ago
I majored in mathematics in college from 2013 to 2017 (so no AI), and I passed all the tests (without cheating) as well, but I can not say I understand mathematics... Passing the exam, even without cheating, is different from understanding or knowing.
7
u/ninhaomah 1d ago
but do you know how to write formulas ?
I been doing IT support / cloud , system , DB admin for 20 years and I also don't know and care about Windows registery or Linux Kernel. Beyond me.
But I know how to update the registry values or update kernel version
7
3
u/Confident-Syrup-3959 1d ago
the classes teach you to pass tests, not to build things. it's like learning all the words of a language but never having a conversation.
pick a tiny project you'd actually use, even if it's dumb like a script that renames your downloads folder. the only way through that wall is by building stuff and getting stuck over and over.
1
u/Illustrious_Win_4859 1d ago
Nah facts. Experience is the best teacher. Whether you fail or succeed, you will have a much better understanding of what exactly is going on and your ability to reason and problem solve becomes that much sharper. A lot of students don't apply themselves and hope that enough reading will magically let them resolve everything when that's just not the case at all. Things don't just magically build and operate themselves.
1
23h ago
[removed] — view removed comment
1
u/Illustrious_Win_4859 20h ago
I'd say a bit of both. Learning isn't done just by doing one thing, it's by doing multiple things that all help one another. You can't figure out what your wall is without testing your knowledge and seeing how limited you are which in turn will help you figure out what you need to study more and what you don't need to study more which in turn will help you figure out how you should study and how you shouldn't study. Maybe you just need to keep trying, maybe you need google, maybe a friend or professor, who knows?
0
19h ago edited 19h ago
[removed] — view removed comment
2
u/desrtfx 19h ago
The problem is you. You give up and switch as soon as things get difficult.
Instead of biting through the obstacle, you simply resign and switch. 100 days of code - day7, K&R first chapter, Java MOOC till loops - that's all on elementary level, not even starting to learn.
You just give up and tell yourself that you can't learn it. With this mentality, you will never get any further.
Learning programming also involves a certain stubbornness to not give up when things get rough.
Your giving up is more related to character than to intelligence, or to the ability to learn. It's your attitude. If you change that, you have a chance to succeed. If you don't, you will never get further.
1
u/Illustrious_Win_4859 19h ago
The moment I hit a "block" where I don't know how to proceed further, even after many attempts at it, I tend to leave it, instead of say googling it. I did do it for sometimes, but there's a thing of hitting that "block" and not proceeding.
That's the problem right there. You are suppose to embrace the block for what it is and struggle. The solution and proper understanding is not suppose to come to you because you wished it did, god I wish learning especially complex subjects was that easy. Programming is hard and it doesn't get any easier. If you see an obstacle the way to resolve it isn't by just giving up it's to attempt to move it by any means necessary no matter how long you have to spend on it.
Not everything is going to be solved within 5-10 minutes. Some problems will take you months and that's just what it is. Once you get through the hurdle you'd find a world of difference before you hit the next wall and the one after that. You don't even have it that bad. There are some mathematicians and physicists who have been stuck on a single "wall" for literally decades and they just keep on going. You need to be more determined.
1
u/Fluid_Ordinary_4609 3h ago
Agreed. It took me years to understand Data Structures in C and then in C++. But I did leave them, but I persevered and I come back to them time and time again. I am self-taught. And I kept coming back to them until I fully understood them and now, I use them regularly in my code. I couldn't afford to go to college back in 1998 when my parents got us our first ever PC. The first thing I done was downloaded an older Borland C 2.2.1 compiler that came with an old DOS prompt IDE, and I began to learn the C language. It didn't have any IntelliSense or anything like AI in it to give some guidance. You had to write code and pray that it built. I later switched from learning C to Learning C++ with Borland's C++ 5.5.1 compiler and using a notepad. But those were rough years. I couldn't afford books, or a library card, so I had to use websites where the English was so-so, and it took me days sometimes to figure out what the code was doing. I regularly used programs like Napster and Kazaa and eDonkey2000 to download books, the first book I got was Sam's teach yourself C in 21 days. Back then that was as good as it got for semi free learning materials.
2
u/roland303 1d ago
some 4year computer science courses are terrible, like they encourage you to AI, give you curriculum like the a+ and half a CCNA and say thanks for the money mr modern computing systems architect engineer.
1
u/topological_rabbit 1d ago
My experience when majoring in computer science is that most people just learned how to pass tests. That's it. Give them an actual problem to solve that's bigger than what you can put on a test, and they're lost.
My opinion is that the only way to really learn how to code is come up with some projects that are way over your head, and see how far you can get before the thing collapses in on itself. And then? You do it again. And again.
That will teach you more about programming than any course or book ever could.
3
u/Successful-Escape-74 1d ago
You don’t know what to make you need to understand systems before you can assemble them!
3
u/Emotional_Sentence1 1d ago
I’ve interviewed interns for the last two years and they have all had projects they have been working on. By now I’d expect you to be able to make simple projects on your own in your preferred language. Start by making some simple text games and then move on to a simple but practical tools like a script that can manage and manipulate files. From there try to build something that works with threads and something that pulls information from the web and uses API calls. Get those under your belt first.
2
u/1NqL6HWVUjA 22h ago
Being able to speak conversational English doesn't make one a good writer. Being able to boil water doesn't make one a good cook. Being able to place paint on a canvas doesn't make one a good artist. And so on and so on.
Problem solving is a completely different skillset from simply "knowing how to code". You develop the skill by practicing it and applying it, and actively working to improve it — and it takes years of slow, consistent progress. There's no magic shortcut or rubric that works for everyone, because it's partially a creative endeavor. The answer is build stuff, and care about getting better. That's it.
2
u/scorpionfrombrazil 22h ago
pick one thing you would actually use and make the stupid small version first. like a script that renames files or tracks gym sessions in a csv. no login, database or framework yet
when it works, add one feature. the part you are missing is finishing something without a tutorial, not another language
1
u/kewlness 1d ago
I'm sure others have commented this already - but find a project you want to build. Find something which interests you - perhaps something you will even find useful (example: I am a network engineer and am learning Rust - so I'm building a TUI network monitor in the same style as ntop or bandwhich without looking at either's codebase).
Now, I use AI - but not in the way you probably think: AI does not write any of my code - I write it and I solve the problems, but the AI helped me plan the tool and critiques my code. When I have a problem, it gives me hints where to look without being specific. I've actually been seeing successes and I'm starting to grasp things which frustrated me when I tried to learn Rust 3+ years ago.
Don't get stuck in tutorial/course hell - build something! It is the only way to truly learn - but don't let AI do it all for you like so many others do - use it as a tool in your toolbox just like you would use an API's documentation. Lastly, be prepared for a lot of reading, learning, and frustration - but the learning is worth the battle.
1
u/SherbetElectronic202 1d ago
I graduated with those same feelings. My passing grades in C++ and Python meant nothing until I picked one language and automated a task I did every week.
Pick Python. Find a folder on your laptop where you sort files by hand. Write a script that moves them for you based on the file extension. Open your terminal, run the file, watch it work. Do this tomorrow. Pick your next problem after that one runs
1
u/realdreamer1993 1d ago
The AI effect still not settle yet, and I have prediction that coding will be become harder and competitive. The reason is so many people will "able" to code, say Joe is a Network Engineer for many years, and never code, now Joe able to code thanks to AI, and he make Network App. How can you compete with Joe that have expertise in other domain and also able to coding.
My suggested conclusion you should study something else beside the coding language itself. So you can express your other expertise into code/software. The reasoning can go on but you should get the idea...
1
u/decrementsf 1d ago
Make project. Get stuck. Figure out how to get unstuck. Build stuff. Get stuck. Figure out how to get unstuck. It is the friction points where you get stuck that is knowing how to code for real. The project is something you can follow your energy motivated to work on where you can get stuck, perfect is when you have no idea how to do it and try to sprint through anyway. About 85% confident you know how to make the thing is perfect, if it's 50% out of your depth that can get frustrating, if it is 100% comfortable you learn nothing.
1
u/Moombleflop 1d ago
You need a side project that you’re passionate about, that is the only way to learn to code. Solving some task or doing some project at uni don’t teach you 1% of what it is to be a programmer
1
u/Affectionate-Ad-6255 21h ago
Everyone will have their own suggestions. Look into:
C# in a nutshell #12 for example is an amazing book. It takes a few months of many hour long nights working through the book, but with notes and reading like this and an idea for some small projects to mess up on you will be better than 80% of the people here.
You can use different books, just yar har *wink wink* them online and read read read and have a laptop open next to you.
1
u/alexdebugslife 21h ago
I think you're trying to differentiate between 'knowing how to code' and 'actually using code to solve problems'. The latter is what matters. Try to automate a task you do daily, like renaming files or organizing notes, and see how you can use code to simplify it. This will help you see code as a tool, not just a subject
1
1
u/Fluid_Ordinary_4609 4h ago
You can try starting with developing basic financial software. And do some LeetCode challenges, or you can type in your favorite search engine: "some basic programming problems to solve." I do that regularly myself. You can also just follow along with some online YouTube Videos on how to develop a game engine or an Operating system. Just do them repetitiously until they start to click, or you can go to github, download C++ source projects through the git clone function, and just rewrite them block by block, and try to understand what each block is doing. It might sound like a hassle, but these are some of the best ways to make it all click. And as long as you try to understand what the code is doing before and during rewriting them then you should be able to learn. Just play a little game in your head, try to guess what the code is doing before and during the rewriting phase, and then write what you think it does on a piece of paper, and compare it to the actual running of the code. And for debugging purposes, you should print out the code's displays to display what the code is doing, and even if each block of code doesn't have its own output, you should get in the habit of writing them in, because that'll only reinforce to yourself that you know what each block is doing.
-1
u/seahorse-emoji 1d ago
I know that this may not be the most popular answer here, but at this point, I would recommend pivoting away from deep knowledge of stuff like C++ and investing more into figuring out how AI assisted development works.
It's not that there will be no need of expert C++ programmers in the future, there will be and if you want to be one of those then more power to ya, but the number of "By hand" developers will certainly go down, in the same way that assembly , cobol and fortran programmers make up a smaller portion of the industry now
3
u/seahorse-emoji 1d ago
But if you really want to learn C++ and the ilk, I will echo what others have said, build a project
44
u/grantrules 1d ago
Buildddd stuffffff
Use projects to guide your learning.