Question:
I'm terrible at programming, no matter how hard I try I never seem to get any better. Advice?
1970-01-01 00:00:00 UTC
I'm terrible at programming, no matter how hard I try I never seem to get any better. Advice?
Eleven answers:
Joe
2017-02-28 09:40:56 UTC
1
Kaydell
2013-10-09 09:30:20 UTC
What I suggest that you do is have some projects to work on. Little mini-projects, such as helping people with questions here on Yahoo! Answers, and some project of your own.



Concepts such as "encapsulation" and "abstract classes" versus "interfaces (which are all abstractions)", these concepts are so abstract that you need to work on some code to really understand them.



Now, when I study a programming concept, I see sample code and I take it apart into little pieces and try out the little pieces and then put the pieces back together into a whole.



I remember back in college, I took a course in Software Engineering and this textbook, writiten by experts, said to 1) First do Requirements Analysis and then 2) Write a Specification, and then 3) implement the code.



I tried this approach in a term project and this whole concept of how to engineer software actually held me back. My specification was too detailed, it is what is called "over-specification". What I've found since for both my school projects and even for projects at work, is to 1) first get them basically working, and then 2) add a small feature at a time, until the software is more complete.



I think that the software engineering that I learned in that class would be for huge projects. But for my school and work projects that was just holding me back.



"...whenever someone tries to explain the concepts..."



You can't really learn that well by people explaining the concepts, you have to write some code, and then maybe have somebody explain the concepts in terms of your own code that you are very familiar with.



You can email me if you would like: kaydell@yahoo.com
?
2013-09-28 17:43:17 UTC
You don't have to be the best. You just have to have some skills. I hire many programmers and most can't do it; even though they all act like they can no problem.



Some people are gifted at it and some aren't. In most fields, there are only a small percent that excel terrifically and they have some talent built in. The rest of us just sort of get along.



I would hire a personal tutor for you. What you don't understand is most people that seem to get it are getting some help you aren't. It could be a mother/father engineer or simply a computer given to them at a young age and coding classes in kindergarten.



In any case, giving up doesn't make sense unless you hate doing it. You'll get it eventually. You just may not be the best one ever and that's ok. Most programmers suck anyway.
Natnael Getahun
2013-08-20 21:10:08 UTC
It seems to me that, even if you can't program that well, you can make algorithms that could be implemented by other software engineers because of your logic skills. Seriously, anyone can learn a programming language. Syntax is easy, remembering certain known algorithms: a breeze. But not everyone has the capacity to create algorithms, especially ones that revolutionize the way we think about certain fields of computer science.
tumbleweed_biff
2013-08-20 20:41:01 UTC
Why is it you fail Algebra? The value of Algebra is in teaching logic, with which you say you do well?



We all learn in slightly different ways. I found that the normal means of teaching math really didn't work with me, however, when framed differently, taught in a more interactive way, such as one on one tutoring, I could grasp things much more effectively. This was really a problem for me in college when I was studying Calculus and Physics.



I know what you mean about comprehension of things and losing them 10 minutes after "learning" them. In my case, part of the problem turned out to be undiagnosed ADD. Have you ever had any testing for any sort of learning disorders? Knowing where your weaknesses are can make a big difference.



Quite often, I have found myself blocked by comprehension issues, typically of relatively basic elements upon which later things depend. I have found that typically, I will finally encounter something which suddenly makes everything click. Usually, it is the result of someone finally explaining things in a way which allows me to finally grasp the idea and everything behind it just clicks into place.



Whenever you run into one of those basic things you don't quite grasp, approach a number of different people to get them to help you understand. One of them will hopefully frame things in a way which finally makes them click and then everything will makes sense and you can continue on. Don't try to continue until you finally grasp the item with understanding.



The way they teach medical procedures goes like this: watch one, do one, teach one. When you learn a new thing. Do something to use it right away. Then, find a way to explain it to someone else. Assuming a ready audience not available, you can do it as a writing project. Consider doing it as a blog tutorial on the topic you are learning. As you frame things in a new way to try to help someone unfamiliar with the topic to understand, using your own words, your memory and understanding will grow dramatically, as will your retention.
2013-08-20 20:11:17 UTC
I know exactly what you mean. I'm taking computer science in high school right now, (we program in Java) and when I first started I had no clue what was going on. Your problem isn't that you can't do it. Some people learn differently than others. I can't learn from my teacher at school, I either learn from the book or from websites. I thought I would never be able to understand classes and objects, and because of it I almost failed the class. One day it just came to me and from then on I haven't had a problem. So don't give up, just keep trying and it will come to you. It might help you to look up some videos on Youtube, "thenewboston" has many videos of programming in different languages and has help me a lot. Also what are you programming in?
_Object
2013-08-20 19:48:43 UTC
Well, fortunately your skill as a programmer is not determined by your grade nor by your math grades - simply by the quality of code you write.

Without knowing you personally and being in the class, I wouldn't be able to tell whether you know your stuff or not. I'm guessing that you'd probably be really good were you offered a practical, usable explanation.



If you're like me, when you go and read some article or your math teacher writes some equation on the board, expecting it to bring some epiphany (Oh, that explains the relationship between x and y type thing), it just goes over your head.

For example: I can tell you all day that C++ lambda expressions are implicitly convertible to function pointers, but unless you see, examine, and understand the practical application of a topic, you don't get the point. That snippet of text is just rote memorization, while the application used isn't.



Programming is NOT theoretical. Only in a school is programming taught like mathematics. What I'd say is put down your textbook and just write some code.

I learned (and still do!) like this:

I would read random articles or some textbook or something, and write down a feature that I want to learn, and what the feature does - and than close the textbook.

Than I would write some code, or open an old project, and see how that feature could possibly improve my code. Than I would try my hardest to implement it, with the aid of whatever I needed.

Being able to see the benefits, effects and results of certain features on code is always a great benefit, and it was only really by that kind of experimentation that I taught myself to program..



Best of luck.
Maxime
2013-08-20 19:24:11 UTC
Programming is not for everyone as mentioned above but I believe that if you put more time you will eventually understand. When someone explain you a concept you must apply it. This way it will be easier for you to remember and if there is a problem search about it online so you will have more information about it. And concerning math it is about the same, you must put more effort and time to understand and apply it.
Dragon Master
2013-08-20 19:20:06 UTC
Firstly, don't sweat vocab to much. If you're treating Computer Science like an English class, there's a serious problem.



Also, when it seems like studying more makes the material harder, that should be a major warning that your approaching this from the wrong angle.



Rather, focus on getting the ideas. First, make sure you completely understand the basics. And I mean COMPLETELY.

Computers don't function the way humans expect them to because they aren't humans. They don't think and process information in the same way. Make you you have mastered all of the basics before even beginning to move on to anything more complex. (Assuming your learning Java, try http://www.codingbat.com to practice.) This will help you get into the general mindset of programming (which is the hardest part).



After that, whenever someone presents you with some kind of vocab or new concept, focus on these two things:

1) What is it?

2) What problem does it solve?

Don't worry about memorizing definitions or anything like that, that won't help you when it comes to using it.



Try writing a few programs yourself. I personally discovered recursion by simply writing some code and later discovering that it had a name.



Also, remember, no one is dumb. At least not so much so that they can't accomplish.



It would also help to know what language you're working with.
Jeff P
2013-08-20 19:04:38 UTC
I hate to be that person, but it simply seems like programming isn't for you. I know that's not the answer you wanted to hear, but maybe you should try something else like web design/development. Programming can get very complex and confusing, so if you're not understanding concepts like translation, encapsulation, polymorphism, etc., programming just may not be your forte.



You said you enjoy HTML--focus on that, CSS, maybe even some JavaScript. Master those first then maybe try something else like PHP or Python. Best of luck.
Rocky
2013-08-20 19:06:11 UTC
You can do anything if you try. You could be spending time right now researching and practicing.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...