If you've never done any programming then I would suggest starting out with some other language like C and C++. Python is good if you just want to be able to understand some code. But if you dive into other stuff like source code auditing, reversing etc you need to thoroughly understand memory concepts like data types and data structures which the scripting languages don't cover extensively. If you've some understanding of the concepts in C and C++ then learning other languages won't be very difficult.

Manu Zacharia (-M-) wrote:Now how to start or view the course, very simple - open up youtube.com and search for CS106A and CS106B and you will get the videos as a playlist which you can follow.

I love how much free stuff is out there. It is hard to find good tutorials/classes. It's almost like there's so much out there that it's hard to narrow down what you are looking for.

As for learning programming, the best thing you can do is learning by doing. When you get some basic knowledge on how programming works, think of some cool little app you want to do or a process you want to automate, logically think it through, and then code it. If you're not sure, search for the answers.

<nostalgia>I started back with QBasic and started doing simple games like random number dice games and little graphics puzzles. Then of course there was the Gorilla game that was too much fun for as simple as it was, and it was an amazing thing when I realized I could read the code and make changes that actually did something. It sparks an interest that never dies... ah the good old days.</nostalgia>

The point is, think of something, no matter how simple, and get the computer to do it for you. Then add to it. If you're an admin-type, then try VBScript and automate some stuff that you do routinely.

Before you know it you'll be as good as pizza1337 writing shellcode!!

"Live as though you would die tomorrow, learn as though you would live forever."

yatz wrote:As for learning programming, the best thing you can do is learning by doing. When you get some basic knowledge on how programming works, think of some cool little app you want to do or a process you want to automate, logically think it through, and then code it. If you're not sure, search for the answers.

I completely agree. Some of my favorite books for learning programming are the cookbooks, cool script/hack books, etc. It's fun if you try to just look at the title of the hack/script/recipe and try to do it on your own before seeing how it was done in the book.

This is a site I was recently exposed to and am starting to work on: http://projecteuler.net/ I hear it's kind of math-heavy, but it should still be fun/interesting to some.

I will agree with the above as well. I took a bunch of programming languages in school. I left without any real understanding of programming. I didn't really grock it until I starting programming. At some point, you go through a eureka moment, and then it makes sense.