Help with studying in CS
Posted by Same_Emphasis_1004@reddit | learnprogramming | View on Reddit | 16 comments
Hello
Im a CS student in Poland, and honestly I don't know what to do. I am always the worst person in my group when it comes to exams, tasks with programming and math, ect. I just feel like giving up, since I study a lot and it doesn't seem to help. I can barely understand wth am I writing(java mostly, I am somewhat okayish with python rn, but it would've been wierd to suck in it as much as I do in java).
I have no prior experience in coding nor in let's say "advanced math"..But I really want to work in cybersec. I'm at a loss as I pay a lot, and it weighs down on me.
Any tips how to learn not to panic when I don't understand what to do? Maybe even some for reading code and understanding what am I doing? I especially with all my heart do not understand arrays and other collections..I watched a ton of videos and it never helps.
Thank you for reading!
Parking_Flounder_712@reddit
This could’ve been written by me 2 years ago!
Don’t give up. The first year of CS is all about the individual pieces. They are boring, confusing and hard to understand out of context. Just scrape through anyway you can. Don’t be afraid to ask dumb questions, ask for help, apply for extensions. This stuff is hard!
The second year, you’ll start to notice that the subjects are starting to combine a bit, and you’ll recognise (and start to understand) why you had to learn them in the first place. You’ll start to do group projects, and realise you’re all thinking the exact same thing - everyone is suffering from a huge case of imposter syndrome and you’ll start to feel a bit better.
The third year, you’ll realise that people you thought were killing it have changed degrees or dropped out, group projects aren’t so scary, and you’ll find yourself helping out people in your class because you know how it feels to be so down on yourself.
Just by walking one foot in front of the other, you will go further than most. Stem is hard, computer science is insanely hard, and there is no way to succeed in this field without struggling first.
All you have to do is NOT QUIT! Defer, take a break, go part time, ask for a do over - just keep going forward.
And another little hint: you don’t actually have to learn / retain it all. You’ll find that there is a subject or a part of a subject that gives you energy. It might be data, UI, algorithms, mobile apps, systems analysis etc, who knows - but pay attention to what assignments you are trying to perfect rather than just get through. That’s your field!
Good luck OP, you’ll be fine.
Parking_Flounder_712@reddit
As for code reading/writting tips, I’ve found asking your AI of choice to break down any assignments into smaller pieces (project management style) and then for each part of the build instruction them to build as a junior; mid and senior level and explain the differences; and prompts like asking “what are the 5 mistakes a beginner is most likely to make” tends to help with perspective.
Also if you feel comfortable with Python, use it as your base and compare or translate Java back so that you can start to notice the patterns and style and get an understanding of the functions etc
Same_Emphasis_1004@reddit (OP)
Thank you so much. I don't want to give up for now, so I think I will try my best
With an AI matter, sometimes I give him the task, and ask for hints but never for a full solution. I don't know if that is a good strategy though.
Parking_Flounder_712@reddit
Sometimes you need the solutions to be able to understand what it should look like. Don’t feel like you can’t use AI in a way that suits you.
Particularly with cyber security projects, ask AI to give you the code from different perspectives - there is always a fight between user experience and levels of security - you need to get a feel for the risk analysis side of what trade offs to make. Basically, how bad would it be if the data is leaked, system is down etc governs whether security is the main priority.
When you are asking for the answer though, only ask for small pieces at a time - otherwise it gets too overwhelming to learn.
Try asking for an answer in “blocks” or get the skeleton overview (ie main function here, for loop here etc) so you can see how the programs assemble / what order to put things. Then you can try to build the pieces from memory a small piece at a time. You can then ask AI to review it and check for syntax errors.
You can treat it like a quiz too: get it to leave out variable names or one or two functions depending on what you’re trying to learn. Then it starts to jog your memory and build your confidence.
Spotifyismvp@reddit
Hmm, I know it's stupid, but have you thought about asking a really good classmate you think is smart to explain to you the concepts one on one? I swear it helps. Second, the most important two pieces of advice I would give you are: 1) Write in paper first. Write code later Basically, always have a pen and a paper with you, try to write pseudo code on paper of what you want to do, try brute force first them upgrade from there, thinking and designing the code usually takes the LONGEST time of the process, writing code then, when you already understand coding concepts) is much faster and easier
2) Answer problem solving questions, I can't stress just how important this is, it's like maths, you only get better at it the more problems you solve
But where do I solve such questions?? 1) your sections probably already give you a set of questions, answer these multiple times until you understand them 2) hackerrank: gives you questions in a road map
3) codeforces sheets, here in my country, each university has a club for ICPC, and so a sheet we mostly all answer at the beginning is Asiut sheet, it divides questions by topic (data type, strings, arrays, functions, maths, etc) start from the bottom, each new topic you learn, solve the questions there, obv it gets harder the more you advance, but it's really good.
This is regardless of whether you want to advance in Cyber security or software or whatever, the very first coding principles are usually always one for all
Bonus: don't rely heavily on AI, Always try to solve the issue yourself. Good luck, and if you need any help, just ask.
Codeforces sheet: https://codeforces.com/group/MWSDmqGsZm/contests
Same_Emphasis_1004@reddit (OP)
Thank you so much, actually writing on paper doesn't seem like a bad idea, since I do prefer physical copy of books. Sometimes it is hard for me to focus when I have to read of the screen. Once again thank you for your advice
Spotifyismvp@reddit
YW 🤗
Spotifyismvp@reddit
Also your classmates will joke about how you guys write core on paper when IDEs exist, but imo, writing on paper is what will make you actually take note or every small thing in the code and will just make you a much better coder
token-tensor@reddit
arrays clicked for me when i stopped thinking about them as a concept and just started using them — write a program that tracks 5 of your scores, then find the highest. that's it. the panic usually comes from trying to understand before doing, just build tiny things with them first.
Same_Emphasis_1004@reddit (OP)
Okay, I will try, thank you
CompetentEditors@reddit
You’re not the worst, you’re just early and trying to make sense of things that are genuinely confusing at first. Arrays and collections don’t click from videos alone, they start making sense when you slow down and actually trace what the code is doing step by step, even if it feels basic. Java also makes beginners feel worse than they are, so that gap you’re noticing is normal. You don’t need to figure it all out alone though, sometimes it’s just about having someone break it down in a way that actually sticks. I’ve helped people get past this exact stage before, so if you want, DM me and we can make those concepts finally click.
AutoModerator@reddit
Your post/comment was removed since we do not approve of going private.
There is zero benefit in going private as you lose the opportunity for getting peer reviews. Also we have had plenty of people return after going private (despite being warned) complaining about how they were ghosted after some time or being tricked into buying rubbish that didn't work and even if it did they didn't need.
Our Rule #11 demands that any and all communication happens in the open, public subreddit.
This is for the benefit of more against the benefit of one.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
honey1badger00@reddit
Since you want to make a career in cyber-sec.I recommend you to get good with python.And honestly i would say do one language at a time so my advice would be to leave java. You can practice with free code camp python certification. About not panicking you discuss with claude, trust me , it will help! 🤟
JGhostThing@reddit
I find that using AI in learning coding is worse than any other thing. Learning involves failing, and it is difficult to fail with AI. Software architecture is part of learning to code, and AI removes this learning.
Middle--Earth@reddit
Watching videos is good, but how many bits of practice code have you written to help you test how arrays work?
Same_Emphasis_1004@reddit (OP)
As I think of it maybe up few dozen?? Mostly old tasks from my professors or other groups that I could find, sometimes something from the tutorials i watched.
It may be not enough, as I think of it now.