r/AskProgramming • u/Different-Fall5513 • 3d ago
C# Need advice for learning
What do you do to learn concepts and new coding languages?
I’m starting my second year studying computer science and my first job as a full stack web developer. It seems like all of my classes and my job are teaching things very fast and it seems like I’m the only one who’s struggling this hard. The lectures do nearly nothing for me because I learned better by doing, but it’s hard to learn by doing because there’s 1000 different concepts and every line is something I’ve never even heard of so it’s hard to remember anything.
Please help, I’m really struggling but I do enjoy what I do know how to do
1
u/adjective10111 3d ago
Well concepts click when you read enough and experience them enough. I suggest trying to find the limits of a concept you learn after reading enough. For example think of all the ways it could go wrong and see what happens. And try to use them even where it doesn't seem very useful just to see it work or break.
If it's a high level concept try asking about them from knowledgable individuals. Or in this era ask AI (with a grain of salt cause it sometimes tends to bend reality just to make your statement correct)
Also make sure you understand the fundamentals. It may seem a waste of time to read much about memory allocation for example, but the level of understanding you would have when learning other concepts is insane.
Changing languages is also a piece of cake if you learn one low level language first. It's just some minor syntax and vocab change. Changing your focus tho (like backend, frontend, software, kernel, ai,...) sometimes needs learning completely new concepts which can take more time.
Feeling lost is normal, sometimes you have to just use it until you find the time or opportunity to really learn it. Don't worry much if you feel like you don't yet fully understand what you're doing.
But in the end it's personal really. Everyone learns differently and i just shared my way. I used sololearn (when it wasn't less bloated) to learn c++ before going to university. And learning that helped me a lot. Also i fiddled with the code snippets a lot.
1
u/Different-Fall5513 3d ago
How long should one struggle with a given bug or syntax problem before they just ask for the answer? Sometimes I’ll struggle for 30 minutes and ask a coworker who fixes it in 15 seconds
1
u/adjective10111 3d ago
It's normal! I sometimes had the same moments, i was struggling a lot and then some senior came up to me and fixed it. And i also had the problems that took hours and seniors couldn't help just to see it was a reference or custom kernel problem (I'm a cpp developer).
It's not about you being a bad dev, it's about your coworker being accustomed to these bugs. Idk if you've seen those kinds of car mechanics who figure out the problem by only listening to your car running, but it's the same thing. Other mechanics are not bad by any means but these ones grew old fixing similar problems over and over. Come with a new problem or kind of car and they're as oblivious as the others and will diagnose like them.
So don't get cold feet from such things. If you get a new coworker who's struggling with the same problem, now you can help in a minute. You will always get better and better. Just try to find the limits. When you learn what breaks things, it's easier to find the problem. (Also read the logs and stack traces. Debuggers and prints are your friends)
1
u/stepback269 3d ago
Here is some news: Great strides have been made in recent years within the neuroscience of learning.
What you need to do is "Learn how to Learn" based on the latest neuroscience.
(Pay special attention to how dopamine actually works. Hint: it doesn't give pleasure.)
Go to YouTube and in the search bar, type, "learning coaches"
Pick the ones who rely on modern neuroscience.
Godspeed and may the productivity-motivating dopamine hits be with you. :-)
1
u/geekichu 3d ago
another commentor here had the suggestion: think of a small full-stack project. soo.. react/typescript/javascript/html/css etc front end, and a node.js server backend .. that would be your API. try on you own to get something going, to one degree or another.
When you run into a glitch.. feed A.I. the files/code.. emphasize you are not lookng for a solution yet, you just want to know what is the most obvious immediate problem with it. emphasize youre a student trying to learn, you dont want to be spoofed. just need pointers.
You can also ask A.I. to give you (not code), the simplest bulleted list of minimum items required to get a simple client + api going locally.. try to figure out the code on your own as much as possible.. if stuck, again, feed it to A.I. and for it to sort of guide you but not spoonfeed you.
Once you get a very minimal phase working, ask A.I. to review it and list out the software/programming concepts that exist in it.
Another tack is to get A.I. to give you some actual files, BUT to only give you comments in those files.. where you have to fill in the code yourself.
I guess what I am saying is that you have to figure out how to get A.I. to be a teacher to how you need, without just depending on it for the answer.
The application could be super simple.. CRUD. add a user(name, dob, addr, etc).. and that has to flow all the way to the server and it can at first just hold it in memory... next step would be to have it just use a flatfile (JSON file) to mimic a database. Then, implement list of users. Then implment selecting, editing one of those users. Then, deleting user..
1
u/Different-Fall5513 3d ago
How long should one struggle with a given bug or syntax problem before they just ask for the answer? Sometimes I’ll struggle for 30 minutes and ask a coworker who fixes it in 15 seconds
2
1
u/geekichu 3d ago
ok so you said something key: 'and ask a coworker who fixes it in 15 seconds'. When possible, (I dont know your work situation) ask A.I. to look at it, and maybe in simplest english, describe the issue, and then maybe give you a pointer. a suggestion. tell it that you DONT want actual code yet. MAYBE - ask if and how and where would it make sense to add some temp debugging code, that would help you see the problem. last resort, ask A.I. for the code... do a side-by-side compare with your current code.. ask questions about it (obviously make sure the ai-code DOES work)
1
u/Different-Fall5513 3d ago
Oh man thanks, I really love this!
1
u/geekichu 3d ago
sure thing. :-) So, I hope you notice a bigger, higher-level point. Beyond just coding. A.I. can be an amazing tool.. but it depends on you being creative in what to ask. Be aware that most of default A.I. response is to feed you too much too soon... so you need to enforce the exact opposite.
1
1
u/Fresh_Future_2192 3d ago
I’d stop trying to remember every concept as you encounter it. Pick one small project and let the problems you hit guide what you learn next. When you get stuck, look up that specific concept, use it, then move on. After building a few things, you’ll start seeing the same patterns again and they’ll stick much better. Also, being overwhelmed in second year while starting a dev job is pretty normal.
2
u/MediocreBasin41 3d ago
i used to feel exactly the same in my second year, the pace is brutal when you're getting hit from both school and work. what helped me was picking one tiny project and just building it badly on purpose, no tutorials, just me and a million tabs open. the stuff that stuck was never from the lectures, it was from the 3am debugging sessions where i finally understood why something broke. you're definitely not the only one struggling, everyone just hides it well