Where to Learn Basic Theory Of Programming

I am looking to see if anyone knows a site or book that teaches the basics(the foundation) of programming. I’ve noticed that most of the programming code I have read seem to have very similar pieces.

Basically I would like to learn basics of Booleans , Variables, Loops, Arrays, etc and the fundamentals of programming. Any books on this subject would be good, I always find with myself that learning the basics of anything(such as music theory when learning a instrument) tends to speed up my process.

Also, is Computer Science any good at teaches these things?

Hi Dave,

I don’t have a book to suggest, but I can thoroughly recommend Udacity’s introduction to computer science course. It goes through all the fundamentals that you mentioned, teaching you to build your own simple search engine. You learn via a series of short videos, quizzes and programming exercises. The course is taught using Python, but the concepts can easily be carried across into other languages (and Python seems to be gaining in popularity these days).

I’ve heard that Python is a great first language to learn. I really don’t know Python at all. I strongly recommend that you learn Object Oriented language (ex. Java) over Scripted Language (JavaScript). Object Oriented is much more restricted in terms of programming syntax… I’m pretty sure anyone learns scripted language and then OO, they’ll probably hated.

I know python well and used it for many years. It is very object oriented and the new python 3 more so. Its syntax is a bit quirky in places for OO access modifiers compared to say Ruby but I’ve never regretted that and I don’t think that would do much damage to an initial OO learning experience.

Javascript proponents claim its OO but its OO syntax is a bit odd ball (imho) so probably not a good first language. However it does have some interesting features that might be useful to explore as a 2nd or 3rd language and Node.js ( a javascript server side engine) is becoming more popular these days.

I recommend the book “Think Like a Programmer” written by V. Anton Spraul and published by No Starch Press Inc.It covers a lot of the basics of programming theory that I have not seen even mentioned in any book or site that deals with a specific programming language or languages.

The information in this book is the theory that goes with using ANY programming language. It introduces the 50% of what programmers need to know that all the other books and web sites leave out.

Awesome thank you everyone, I stumbled across MIT’s Corseware Computer Science Intro course. The course uses Python so I think I’m gonna dig into that and same with the other suggestions that everyone posted.