Programming terminology – and why I suck at it…

There are some important words to remember, that I have to learn. That I still haven’t learned, or I keep forgetting them. Damn fibromyalgia!🤬

Words like allocate, processor, expression, value, arguments, constructor, parse and a gazillion others. I’ve studied programming now for over a month, almost two and I’ve learned the “basics” of just programming. I know how to declare variables, arrays and lists. I also (think) I know what they are and how to use them. I don’t really know what they do and what they are for, but I’m gonna learn it eventually. Or I know it, but can’t explain it in words, just in code.

I know what the different loops are and when they are (probably) most useful, but I can’t really explain them. Yeah, same problem even there… If I were to have a discussion with classmates it seems I’m one of the experts, but some days I don’t know a thing or something… The biggest problems I currently have with learning Java and programming in general are the basics underneath the basics and how to remember how you did that thing to get that output. People have also said that you’ll only remember how to program if you keep programming. Practice makes perfect! And that’s true!

For example there is an error I’ve gotten quite often since learning about arrays, and I have no idea why. It’s called StringIndexOutOfBoundsException and I got a tip that if I get an error, I should “read up” until I’ve solved the problem. The problem with my stupid crappy brain is that the documentation to me is often gibberish for my brain so I do not understand the explanation for the problem. As a beginner programming student, that might be fine, but I realized today that I should understand this gibberish and know how to solve it, but I can’t, unless I’ve encountered it too many times and learned how to solve it (or to prevent how to make it happen in the first place) and then I’ve learned it. That doesn’t necessarily mean I know what that error was, but I made sure it didn’t happen again when I’ll run a program.

I’ve noticed that I learn the majority of programming by actually programming and making mistakes, trying to fix them. I do this often the wrong way, by asking others instead of reading the books, googling, visiting stack overflow or reading the documentation. It’s a bad habit I am trying my best to change and I’m slowly improving. Note, that there’s nothing wrong in asking for help, but sometimes I’ve done this first instead of trying to solve something myself or I “cheat” and watch the tutorial video or have a look at the teachers provided source code.

I have to clarify, that often when I peek at the source code, it’s to find ONE way to solve my problem. I often try and try again until I turn blue in the face but the more I try, the more I learn, regarding programming itself, but just not the how and the why or something. My main problem is still to “read up” on stuff and picking up the book is really hard, but I have to try. There is apparently no other way…?

How to remember all of this, all the terminology and such is a huge hassle for me. It’s mainly due to me having fibromyalgia with brain fog as my main enemy besides aching muscles and total body stiffness some days of the week. If it’s not everyday, that is. My muscles basically always ache no matter what. If I’m lucky I can have better days where I remember more and I have the energy to do more as well, but those days are very few if they occur at all. Generally I have maybe two weeks in a year, scattered over the whole year where I feel like I’m on top of the world and can do anything. Most days I’m so tired I don’t know what to do with myself and now as a college student – it fucking sucks to have these disabilities I struggle with!

I understand the basics of programming and I’ve learned a lot I think, but clearly not enough to pass the final exam in a few weeks. If I’m in class and the teacher explains something, I understand what happens, but I do not use the correct terminology for it and I keep forgetting what the words are. I still in the end will learn and understand what I’m supposed to do to solve something, but the solution for it is basically to explain something to me like I’m three years old and in very plain English sometimes. At least on those days where my brain really does not want to work and I can barely find my way home and know my own name…

One example I use is instead of saying something like: “You haven’t allocated enough memory to/for the processor to run the program or installation”, I say “Do you have enough memory?”. See the difference? I know in this situation that you need at least good enough hardware (in this case memory or RAM) in order to do something with a computer, but I can’t find the correct terms to use – so I use whatever words I can find. I still understand (somewhat depending on the fibromyalgia) what’s going on, but how do I prove it using a piece of paper during an examination? That I have no clue on how to fix…

Anyways, that’s what I have to change. I need to speak more using data terms. Otherwise I’ll never learn this properly or get a proper feel for programming, because then I won’t understand it. Not to mention I have to get better at math as well, but yeah – that’s a whole other story to tell…

I also suck at reading. I hate reading, because it’s boring and I seldom learn anything by reading books. I prefer watching stuff, trying it myself, discussing it with others and writing about it. At least when it comes to learning something new, which I basically want to do all the time if I could. I feel that I need a different approach to learning programming, and even if I pass this class, I’m guessing that my knowledge of programming will become enhanced after I’ve done some more creative stuff. I had the idea that I wanted to make a little project of my own, in order to feel creative and “satisfied” wit how I learn everything I’m doing in college right now. The solution would be in my mind to create sort of a super quiz where I use all the knowledge I have regarding programming to ask myself questions about Computer Science as well as programming. I’d make sure to have all the sections in this quiz so I’d learn everything and then I’d answer the questions myself.

This is probably a great idea but there’s a huge problem. I do not have time for it. I barely have time to get to class, “read the books”, and do all the tasks asked of me by the teachers. I spend over 30 hours per week (not included traveling) including valuable time on the weekends to make sure I’ve done all I can for the next lecture or deadline. So far I’ve made it in time, but when that’s done – I’m so pooped the only thing I can do is watch tv, eat something and then go to bed. I haven’t seen a single friend I think since the first week of college, because I don’t have the energy to spend for anything outside of school. I fucking hate it!

I love school, it feels so right but sometimes I wonder if I’ve waited too many years to do this. I did not feel this bad 10 or so years ago when I started college the first time in 2009. My health, even if it was not good, it was not as bad as it is these days. Weight gain and a lot less exercise and interesting hobbies are the result of that, and especially a very poor diet!

Anyway, even if that program was a full-time thing, I did not spend 40 hours a week studying. About 5 – 10 was enough for me in general including lectures and seminars. And it’s been like that no matter what I’ve done in a full-time program at school or work, except obligatory hours I had to spend in middle school and high school. This is the first time in my life where I’m really active, using my brain and most of all – where I actually want to learn something and become something special or “something more”. And if I can – I will do this for about three more years and then hopefully full-time at my future employer.

I felt like crying yesterday, because I thought that if I can’t do this – my only choice is to be poor, probably never able to afford a Great Dane and have lousy, non passionate jobs that a robot can do instead. Also it will mean that I’ll never be able to work more than 20 hours a week… Not that I desperately want or need to work 40 hours a week, but the pay is pretty low when you can only work part-time and only simple desk jobs that are very non-creative. If I could work 20 hours a week and earn like $3000 a month (at least before Swedish taxes), which gives me about $2300 net income, I do not need to work full-time but I doubt I’ll earn that much with so few hours. Just to clarify – that income might seem low to you, but for me it’s like three times as much as I’ve ever made, being unemployed or with a disability pension. I felt like a rich king with my first job, but I did not earn that much in total, but I do not spend money, really. I like saving up, but I’d love to earn a lot more money in the future so I can save a lot more.

Anyway, going back to what happened yesterday, about what I realized. That made me so sad and angry. Not to mention frustrated. I have like 2 weeks or so to study like crazy for the exams. I feel pretty sure at the CS class, but I have to study a whole lot more for the programming class, but as long as I at least can learn the terminology I’m probably gonna pass the class. Since I am a student with a disability I can get help from the college, but I haven’t contacted anybody yet, because I’d like to try first myself. I feel like if I could do some extra credit stuff, I’d could probably earn myself a passing grade, but we’ll see if that’s even gonna be necessary.

I love what I’m doing. I couldn’t want anything else, but knowledge really and some better routines for learning. But it’s fun, challenging and if I make it – the possibilities are endless!

Advertisements

I love comments, so please leave a reply!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.