Last week, we had the author of TDD for a Shopping Website LiveProject. Friday at 11am Ranch time, Steven Solomon will be hosting a live TDD session just for us. See for the agenda and registration link
I been in a java programming class for 2 months now, during the first month the class was pretty easy. But when we started learning loops and array, i'am complete lost. i know what for,while,do while does, and how it functions, but everytime when i'm given a problem, i have no idea how to solve it, or how to start, what should i do? reread the textbook? or look up the answers. My Ta told me that i should try to do the practice they give, how i just cant. Am i just not made to be in programming class? please help.
There are 2 parts to the problem, understanding what is being asked for and being able to describe how to come to the solution.
Do you understand what is being asked for? In plane English to you know what it is that the objective is. Can you restate it in your own words? If not is it because to terminology that is not sticking in your mind or can you just not wrap your head around what is being asked for even through you know all the terms?
Can you write out a simple process in English what to do to provide a solution to the problem if you were to solve it by hand? For instance, if you were asked to move all of the contents from one array to the another one, could you explain how to move items from one bucket to another? It is the same with arrays--you take one from one bucket and put it into the next bucket, repeat until all the items from the first bucket are in the second bucket.
If you cannot wrap your head around what is being asked, and you know all the terms, then you've got a problem there. Are you good at Math and science? The reason people ask that is because it is problem solving. If you are not good at problem solving, then why would you want to spend your life being miserable doing what you are not good at doing? People that go into technology are of a certain mind set--they like the challenge and problem solving.
Now if you cannot see a solution, there may be hope, problem solving is a logical approach that can be learned. Start with small problems and build up. If you cannot visualize what is going on in abstract--you cannot see it--then you have another problem. You have to be able to visualize the abstract to be able to make the solution in computer science. It takes some problem solving, it also takes some imagination, and it also takes the ability to visualize that which you cannot see in front of your eyes. Many people just cannot do that. If you are one, then programming is probably not for you.
I am not one that believes everyone should get a trophy. Some people can do things that others cannot, sometimes that is taste or preference, but sometimes it's just the way we are put together. You have to answer your question--sit down and look at the problems presented to you and analyze why you are having a difficult time (analysis is at the core of computer programming--you have to be able to analyze a problem no matter what it might be). Honestly answer yourself: is it something you can work on and overcome. If it is, then is it worth it to you to do so. If you cannot or it's not worth it to you to do so, then maybe it's time to seriously look at doing something else.
I had an instructor in my Calculus class that had a theory that all of us have some learning handicap, and when we find that handicap, then we have to work around it. Have you found you handicap? My handicap is that I suck at art, I can see it, I can imagine it, but I cannot get it down in any medium to use in the real world. I know all the mechanics, but still, I cannot get it from my mind to a tangible work. And after over 50 years of trying, I accept that.
So, put on your big boy pants and do the analysis, then answer your question.
Out on HF and heard nobody, but didn't call CQ? Nobody heard you either. 73 de N7GH
If you are in a programming class because it's part of your course and is just something you have to do then without any natural aptitude and without a keen interest you are going to struggle but anyone who is intelligent enough to be at college and who is interested in learning should be able to learn basic programming - There's undoubtedly a percentage of the population who will never be any good at programming in the same way that there are many people who can't draw, sing, play an instrument etc to any reasonable standard, but being able to master the basics such as simple loops should be within the grasp of most people. It's all down to the quality of the teaching and the amount of effort put in by the student (and I that suspect whilst having a great teacher really helps it's mainly down to the amount of effort the student is willing to put in).
As to what you should do: yes you should definitely re-read the course material; go online and search for tutorials on the subject; speak to your teacher, post an example of of the type of problem that you struggling with here etc etc. If you do post here we won't solve the problem for you but we will guide you on how to solve it.
You need to put a lot of work in, maybe a lot more than your classmates but if you are interested and keen to learn it will be worth it - 2 months isn't really enough time to decide you are incapable of learning to program especially if you haven't re-read the text books or tried to do the practice examples yet.
A wop bop a lu bob a womp bam boom. Tutti frutti ad:
Free, earth friendly heat - from the CodeRanch trailboss