Learning Programming

Started by
3 comments, last by SnotBob 15 years, 11 months ago
Hello again Gamedev community. I am really having trouble getting into the more complicated topics of programming (recursion, pointers, linked lists). Basically I have no idea what I am doing besides basic coding. I have done basic games like tetris and snake but I wish to advance myself and do some real programming. So basically my question is how would you go about learning the more advanced topics, specifically medium level programming and graphics programming. I would like to hear some suggestions of resources preferably free (I'm cheap :|) and maybe a comment or two on what books/tutorials are good and which to avoid. Thanks in advance for the help! GamerDude27
Advertisement
Just keep writing programs in your language of choice until it becomes 2nd nature like riding a bike. Until it you get the basics down linked list and other advanced data structures will go in one ear and out the other. I know I've been there like most other programmers.
One step at a time grasshopper as they say...

p.s. Ron Penton's data structures for game programmers is the best book I've come across that explains that stuff but unfortunately it's in C++ and hard to get a copy of the book now.
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Quote:
I am really having trouble getting into the more complicated topics of programming (recursion, pointers, linked lists)


Unfortunately, these are not complicated things in programming; rather you're just not ready to learn them at the moment.

If you're unable to take computer science courses, your next best thing is to get some books and work through them. It would be best to purchase these books, but as you say you're looking for anything free (at some point you'll have to spend some money), so perhaps a local library (either public or school) will have some basic programming books.

Once you have a book, sit down in front of your computer and read the book. Type in the code that you're reading about and attempt the exercises provided. When you come across something that you don't understand, figure it out (using whatever resources are available to you, i.e. books, peers, forums) before continuing as everything that follows will assume that you understand everything previously covered.
There are a couple of free books in my sig.
If you've written tetris or snake from scratch, those are not trivial things to program and I'd say that you are already well on your way. Since you didn't mention the language you are using, it's very difficult to point to resources.

Pointers are something that are a part of a language, so either you have already been using them, or what ever language you're using doesn't have them.

Linked lists are something that you generally don't implement yourself when writing applications. However, understanding how to implement them is important. You should have no trouble Googling for examples.

Recursion is a basic concept in programming. Basically it's nothing more than a function that calls itself. The first thing that you'll probably come across, where you definitely need recursion is tree data structures. You should look for binary trees. Figure out how to use a binary tree to sort a sequence of numbers. Say, you have the numbers 5, 8, 2, and 6. Put those into a binary tree in that order and use the tree to print out 2, 5, 6, 8. Also, figure out how to check quickly if a given number is in the tree.

However, ignore balanced binary trees for now, because that's an advanced topic and the algorithms for those are somewhat complicated.

This topic is closed to new replies.

Advertisement