Ways of learning
Ways of learning to program, right from the basics:
Well, I know the very basic stuff, about data structures, variables, ideal program structure, etc, in C++, VB, Pascal, Delphi, Python, PHP, and then some. I just can't put it together to actually make anything, at all. It seems to be some magic thing you're meant to pick up, not something that can be taught. People have said to try reading source code, problem is i can never seem to understand anyones source code. So, after two years or attempting to learn to program I'm still on the first chapter of most books. I've read hundreds of tutorials, which I can follow.. just I can't turn that knowledge into doing anything else, at all. Any advice? Any unusual ways of learning, or should I give up entirely - two years seems a long time to have done nothing :(
Charli!
What kinds of things have you been trying? I remember being in the same position, I understood all sorts of things but couldn't implement them. I eventually realized that I was attempting things that were way too hard for me. I decided to try really simple things like old arcade game clones and found myself programming all the time. I think my problem was that all I did while I was learning was read stuff. Programming can only be learned by programming. Maybe you're having the same problem?
Practice, Experiment, don't just read examples, program them yourself and see what they do.
Get good so you can write your programs without looking at books and understand what they do. The only way to really learn what programs do is through practice and experience. Good programmers don't get good overnight, it's a continuous process that takes time : )
Get good so you can write your programs without looking at books and understand what they do. The only way to really learn what programs do is through practice and experience. Good programmers don't get good overnight, it's a continuous process that takes time : )
Two years is a long time, its about the length of time i've been programming properly.
What is it exactly that doesn't work? Do you just keep getting errors, or is it a problem making logical sense of what you're coding?
If you need a kick-start:
Can you use the clipboard? I thought so. Okay, copy and paste (or if from a book, type it in) the code for a simple program that was shown to you in one of these tutorials. Now, once it works, try playing around with some of the variables, and use the compiler's help, MSDN and Google to search for certain libraries and their functions. You should then be able to expand on it without worrying about the "magic" that you need to make a program, until you're more experienced.
If you don't understand the logic:
Do you understand how a computer works (in terms of bits and memory locations)? If not, find something that'll tell you (it's not difficult). But, judging by the Original Post, I don't think this is the problem.
What is it exactly that doesn't work? Do you just keep getting errors, or is it a problem making logical sense of what you're coding?
If you need a kick-start:
Can you use the clipboard? I thought so. Okay, copy and paste (or if from a book, type it in) the code for a simple program that was shown to you in one of these tutorials. Now, once it works, try playing around with some of the variables, and use the compiler's help, MSDN and Google to search for certain libraries and their functions. You should then be able to expand on it without worrying about the "magic" that you need to make a program, until you're more experienced.
If you don't understand the logic:
Do you understand how a computer works (in terms of bits and memory locations)? If not, find something that'll tell you (it's not difficult). But, judging by the Original Post, I don't think this is the problem.
I've tried making text adventures in almost every language I know, that was the basic-est thing I could think of, an easy one that just loaded a few rooms into memory, no natural-speech parsing or anything like that, but I've failed everytime - I just have no idea how to proceed past a certain point. I made a dynamic PHP website too, with an upload facility, login system, etc, but all the stuff was gleaned off tutorials, and the site ende dup being an absurd number of pages long, all full of straggley horrible code.
So, I do try and do practical coding stuff, but.. still stuck :(
Good programmers don't get good overnight, it's a continuous process that takes time : )
-- Just... I'm somewhat sick and tired of spending tonnes of time trying to learn, and I just realized its been two years, and I still know nothing.
So, I do try and do practical coding stuff, but.. still stuck :(
Good programmers don't get good overnight, it's a continuous process that takes time : )
-- Just... I'm somewhat sick and tired of spending tonnes of time trying to learn, and I just realized its been two years, and I still know nothing.
I'd say that first you should crack down, pick a language, and dedicate yourself to learning it.
All done? Okay, now, once you've read all your tutorials, all your books, and all of other peoples' source code, I want you to hide it. Get rid of it in any way you can think of, and go back and redo something from chapter 1. Do the simplest thing you can think of (even if that means "Hello World!"), and do it without references. That's the memorization stage...most people don't program anything like that. But it'll help you to memorize how simple commands work, and that's what you need (speaking for C++, anyway).
Keep going bigger and better until you can't go any further without references...until you're stuck. Grab a reference book (tutorial, other peoples' stuff, whatever) and go back and redo what you've already done. That teaches you better ways to do things, and to learn to solve problems. Programming is problem solving. If you made a method that's better than the book's or tutorial's...find out what makes your method better. If their method is faster, takes less lines, or just seems like "how it should work"...who cares? If you came up with the solution, then you're learning.
And then practice. Before long, you'll have the simple commands memorized and know quite a few of the un-simpler ones, and, most of all, you'll know METHODS. You'll know how to recognize problems, and how to make them un-problematic.
At least, that's how I'd do it. But I guess someone else will have a better idea by the time I post this.
EDIT: Hey, like 4 people posted between my post and the OP's...and I kinda like their methods. Seem like abbreviated versions of what I just said. That's my story and I'm sticking to it.
All done? Okay, now, once you've read all your tutorials, all your books, and all of other peoples' source code, I want you to hide it. Get rid of it in any way you can think of, and go back and redo something from chapter 1. Do the simplest thing you can think of (even if that means "Hello World!"), and do it without references. That's the memorization stage...most people don't program anything like that. But it'll help you to memorize how simple commands work, and that's what you need (speaking for C++, anyway).
Keep going bigger and better until you can't go any further without references...until you're stuck. Grab a reference book (tutorial, other peoples' stuff, whatever) and go back and redo what you've already done. That teaches you better ways to do things, and to learn to solve problems. Programming is problem solving. If you made a method that's better than the book's or tutorial's...find out what makes your method better. If their method is faster, takes less lines, or just seems like "how it should work"...who cares? If you came up with the solution, then you're learning.
And then practice. Before long, you'll have the simple commands memorized and know quite a few of the un-simpler ones, and, most of all, you'll know METHODS. You'll know how to recognize problems, and how to make them un-problematic.
At least, that's how I'd do it. But I guess someone else will have a better idea by the time I post this.
EDIT: Hey, like 4 people posted between my post and the OP's...and I kinda like their methods. Seem like abbreviated versions of what I just said. That's my story and I'm sticking to it.
Quote:Original post by red_sodium
What is it exactly that doesn't work? Do you just keep getting errors, or is it a problem making logical sense of what you're coding?
I can make sense of the code given in tutorials and stuff, just I have no idea where to even start if I wanted to do anything myself
Quote:If you don't understand the logic:
Do you understand how a computer works (in terms of bits and memory locations)? If not, find something that'll tell you (it's not difficult). But, judging by the Original Post, I don't think this is the problem.
I can understand how a computer works, I can understand how programs should work.. just.. not my own.
Ahh. I think everyone feels the way you do at some point, but maybe to a lesser extent. It gets that way when you realise that the project you're working on is just a horrible mess (either the code or the actual program).
I agree, stick to one language for now until you can produce something proficiently in it.
Can you give us any specific examples of projects you've attempted and reached the part where you're "stuck", and what that part was? This shouldn't really be happening to you.
I agree, stick to one language for now until you can produce something proficiently in it.
Can you give us any specific examples of projects you've attempted and reached the part where you're "stuck", and what that part was? This shouldn't really be happening to you.
I hope this question doesn't insult you, but when was the last time you wrote a farenheit to celcius converter? Or a program that prompts the user for two numbers and returns their sum? Maybe you just need to do some really simply things to build confidence.
Do what Boku San suggested. Read/research as much as you can. When you have read all the references, and believe you understand them, hide them. Then try to do what they did! It may not be that easy. This is a also good way to develop a style of your own. When you are stuck, reference one of your sources and see how they did it.
(An analogy)
When you write a science research paper, what do you do? Do you read one reference and then paraphrase what it said in one paragragh and then for the next paragraph paraphrase another source? I hope not. You read many sources, develop your understanding, intergrating all those sources. You then write the paper, without the sources open or anything. Write what you remember and understand. This process does two things. It helps prevent plagiarism (same as developing your own style), and it makes you understand what you are saying (same as combining all of those tutorial's and book's ideas together).
(An analogy)
When you write a science research paper, what do you do? Do you read one reference and then paraphrase what it said in one paragragh and then for the next paragraph paraphrase another source? I hope not. You read many sources, develop your understanding, intergrating all those sources. You then write the paper, without the sources open or anything. Write what you remember and understand. This process does two things. It helps prevent plagiarism (same as developing your own style), and it makes you understand what you are saying (same as combining all of those tutorial's and book's ideas together).
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement