Choosing a Language
Your first step is to choose a language to learn on. In case you’re wondering, most colleges tend to start their students on either Java or C++. Upper echelon programs will start you on Scheme or C, or they’ll assume you already know the basics and will use whatever language is best suited for describing the theory they’re teaching. In my opinion, Java is the best language to learn on. Java is excellent for beginner programmers because it automatically handles complexities that other languages make the programmer manage. It will allow you to learn the basics of coding and object oriented design without overwhelming you with too many details. Syntactically, it’s very similar to C++ and C which will make for a smooth transition when you start learning those languages. By the time you graduate, you’re going to want to know Java anyway and since it’s easier to learn than most other popular languages, it makes the most sense to start on it.
Choosing a Resource
After you’ve selected a language, your next step is to choose a resource to learn on. Your two main options are online tutorials and beginner books. Though online tutorials have good information and are free, I recommend borrowing or buying a beginner book. Beginner books are usually more polished, have better learning exercises, and cover a broader range of material. Plus, unlike tutorials, you can take a look at reviews to find out which books are the best. If you’re using Java and decide to go the book route, make sure that you select a beginner programming book, not a beginner Java book. The difference between the two is that the latter assumes you have programming experience, while the former does not. Your best bet is to check the table of contents and verify that the first couple of chapters are on topics like variables, data types, conditionals, arrays, and NOT on object oriented programming. You should only learn about object oriented programming after you’ve mastered the basics. For those interested, the book that I taught myself on was Java Programming for the Absolute Beginner. By no means is it an all encompassing Java book, but it’s perfect for someone who is brand new to programming and I recommend it.
Getting Started!
Once you’ve selected a language and a learning resource, you’re now ready to get started. It’s important to make sure that you’re not only reading and studying, but that you’re actually setting aside time to get your feet wet and do some coding. Just like anything else, if you work hard at programming a little bit each day and stay persistent and positive, you’re likely to be successful and have good results.
What's Next?

4 comments:
I think that what you said about actually setting aside time and programming is extremely important.
In school I have noticed that most students in my programming classes have absolutely no idea what they are doing. I think that it's because they just go home, copy what's in the book, and don't try anything off the beaten path. This makes for some very shaky skill in my opinion.
Most programming students cannot figure out a problem without a manual or an example to follow. Thanks for the advice. We definitely need it!
When I think about the best language to use to learn programming for the first time I'm not sure Java makes my top 5. I'd place Visual Basic, C#, Small Basic, Alice, Scratch, Leapord, Phrogram, Squeek all ahead of Java. Java just makes things to hard for beginners. Sure it is not as bad as it once was thanks to learning a lot from VB/C# but still. Plus graphics are too much work and beginners can get a lot of satisfaction from doing "real" looking programs early.
If you want a C-style language go wiht C#. It has everything Java does but is easier to use, has a great IDE, and as a bonus there is always XNA if you want to create video games.
I like Visual Basic a lot. I like it enough to have several published VB textbooks out there. The syntax is easier, friendly and more English like. And yet there is not much that Java or C# can do that VB can't do. Clearly nothing that a beginner needs. I used VB as a first language as a classroom teacher for several years and few students had problems moving on the C++ later.
Thanks for the input Alfred. I respectfully disagree though. I know your background is more at the high school level, but this post (and the blog) is more geared towards preparing those who are looking to major in computer science. College level computer science programs won't use any of the languages you mentioned besides C#, and in my opinion Java is a better language than C#. A large amount of college programs teach their students on Java, so from a familiarity standpoint, Java also gets the advantage. You mentioned that Java just makes things hard for beginners and that C# is easier to use, but I'd like to hear your reasoning for this.
I agree what you said. When I started programming back in 1999, I learnt first c then c++. After a year I went for Java and then SCJP (Sun certified java programmer). Programming takes patience. It won't coming overnight. By the way I love your microsoft interview part. And from then I started to build up and brush my existing knowledge in Java, Visual C++ and software engineering concepts which I learnt in my post-graduate study. I like the book you receommended : Wrox Programming interview exposed. Its an amazing. I also studying other books such as pragmatic programmer The: From Journeyman to Master by Andrew Hunt & David Thomas, code complete 2 by Steve McConnell, Java/ J2EE job interview companion by K.Arulkumaran & A.Sivayini.
Post a Comment