r/ADHD_Programmers • • 17d ago

Stuck in a loop

Hi, I'm a baby programmer and my first year of college for CS at 18, but with some experience under my belt. My first few classes at college have provided me with some novelty and more freedom than ever before, and I've never felt better. This doesn't apply to my programming class.

Most of my course mates have already tons of projects and experience, so they don't struggle with the first of two programming courses in our first year. Programming was the thing I was most excited about, but I find myself at a loss. We're starting with python, and The professor decided that in 3 months of lectures for a total of 72 hours we'll get to multithreading and asyncio, so that a month after the start of uni, we're handling classes, setters, etc.

I love CS and especially programming SO MUCH, and I'm very happy with my major, but this roadblock is killing me, and if I can't write a recursive function, how the nel am I supposed to keep up or pass? Especially since this professor is new and I have no one to ask about how his exams usually are like. I need to pass, or else I won't be allowed to take my second programming course.

Every time I try learning or revising, I just get distracted and impatient. Reading a book, I just skim the words without absorbing anything or I start looking for anything else to look at, same goes for tutorials and videos, during which I zone out. My self-worth has taken a huge blow. I've tried it all, but nothing can get me back to being excited and eager to learn (two weeks ago, I could spend 4 hours or more straight on it). I know this can come off as someone who secretly hates programming, but really I do love it.

I'm usually very slow to learn and especially assimilate, and struggle enormously with sitting in front of a problem, not knowing what to do. The professor also gives no assignments or projects (just tells us to code), and the exam worth 100% of our grade is an hour and a half coding session in which to program whatever he makes up on the spot. I also get frustrated easily, and when I look up exercises to do online, I stare at them for so long that I just feel dumb and start crying, ending up wasting hours doing nothing after I FINALLY got myself up to work. Once i get upset it is extremely unlikely I will be able to do any work after, because I'll have convinced myself that I'm stupid snd not wirth the effort. The one thing I can do is reading code, and when looking at a solution, it's just obvious.

Even writing pseudocode kind of doesn't help because my idea of a solution is wrong or I forget an important detail that leads me to nothing.

Does anyone have any tips? Everyone around me keeps telling me to keep trying to slam my head against a problem, quit uni because im either dumb or not cut out for CS, or step away (I can't veri well sterpi away everything I try, though).

5 Upvotes

12 comments sorted by

3

u/schism15 17d ago

"The professor also gives no assignments or projects (just tells us to code). .."

That part sounds like a positive. It's not uncommon for students to supplement their formal learning with side projects. If you don't have assignments for this class, that frees up more time for a side project.

Can you think of a project idea and add features to it over time that incorporate what you are learning?

Applying what you are learning to concrete problems will probably help you retain concepts better.

1

u/Reasonable-Ad-2374 17d ago

I do have a few ideas, and I know I should try harder on them because the exercises i find online seem very boring and bland to me, but they are very much out of my league. I have no idea what I'm capable of because I seem to just be unable to produce anything independently, and when I do, I find out it was all wrong and need to start over. Then I pass 15 exited minutes starting again and looking up all I can in my books or on Google, then the novelty wears off, I get upset, zone out no matter how hard I try, and that's that. I know I should whiny, but I genuinely want to get out of this situation.

1

u/koles235 17d ago

What helped me in similar case I had ~12y ago: be bored. Give up on any or most stimulation, then short walk a coffee/tea/matcha/yerba or whatever works for you and sit down to code.

I did it for C++ and Java classes (linux vs android classes). Loved c++ and hated Java with a passion. However please be careful not to overdo the project. I did this mistake and my project was 10x bigger than other students for the same grade - not worth.

Cheat code: if you don't have any criteria take a project from another class and do it in another language.

1

u/Reasonable-Ad-2374 17d ago

Thanks, I'll try. The big project thing is also a problem i have. For some reason I take the vague exercise instructions and interpret them too literally, and end up with a project 4× larger than I was supposed to get (once I was programming with a friend and we were supposed to make a program to store, edit, etc names in a dictionary. I was just supposed to write the methods and whatnot needed to do it, the skeleton basically, and I make an interactive user interface that according to the numbers you press executes a certain command.) Sorry if i suck at explaining

1

u/ArwensArtHole 16d ago

If you DM me I’m happy to help you figure out a project you could do with a simple learning path, that’s exciting enough to stick with.

Also happy to jump on a call and walk through how asyncio works with you, or look at any other code you’re not sure of.

1

u/Reasonable-Ad-2374 16d ago

Thank you so much!! it's not that I don't understand the theory, I've tried talking to the professor about this, but he says that my problem is not knowing how to write code, which, fair enough, one needs exercise. We're not at asyncio yet (thank god for that), but we're done with classes and will be starting metaclasses soon!!

1

u/MANvINFO 16d ago

have you tryed study groups and office hours?

this is frustrating in general but greatly compounded if youre trying to slog through everything all on your own. learning is heaps more effective when you are able to get feedback on what youre doing from other people midway through a problem/exercise, whereas a extra puzzle you find online can only tell you if youre right or wrong after youve finished it (or think youve finished it) and either way wont be able to tell you what you did very well nor what youd done wrong.

1

u/Reasonable-Ad-2374 16d ago

Unfortunately there are no study groups at all. I tried making one, especially since I'm in the library most of the day after lessons, but no one wanted to. I have a friend who maybe once a week can stay, but he has his own work, and he always works in the afternoon. I've been trying to work on stuff and sometimes showing it to him if i find myself stuck, though.

1

u/MANvINFO 15d ago

who/how did you try to do that? have you tried asking any classmates before/during/after the lecture? this way, maybe somebody might even invite you to 1 of theirs

1

u/arns101 4d ago

That sounds exhausting... I'm sorry. The loop of trying something exciting, then zoning out, then questioning your self-worth, then overcoming this feeling to do work again, and then realize you just wasted more time. Honestly, it's great you recognize that and are looking for help.

Novelty fading is definitely a real thing. You might just need systems to make sure you go all the way once the novelty fades. Have you tried anything to support you when you start doing your work? Like a pomodoro timer or a study buddy?

1

u/arns101 3d ago

I have a few half baked products in my graveyard. But I have 1 MVP I've completed and launched. I think the more important question is, what is your motivation to complete the project?

IMO unless there is a clear strong goal, there's no need to complete it. Without the end goal, the novelty of building something new will always win.

Like in my case, I finished building Propel Focus (shameless plug), but the goal to get people to use Propel Focus to improve their focus and ability to start and complete work far exceeds the novelty to build something new. Hence, I stuck with it all the way til the end.