As a beginner programmer, you’ll often hear that an important feature of coding is being able to “think like a computer programmer.” And it’s true — programming is all about problem solving and being able to translate those solutions into the languages that computers can understand. CodeHS takes an approach that teaches you to think like a programmer, starting off with a toy language called Karel and gradually shifting into Javascript as the course progresses. The course provides a good foundation for those of you who aren’t quite sure how to start coding.

Similar to CodeHS, this book focuses on the intuitive aspect of programming, but it’s formatted as an ebook instead of a course. Allen Downey was inspired to write Think Java as a bootstrap introduction to the language, with a focus on easing students into the often difficult transition to object-oriented programming. With sixteen well-thought-out chapters of content, Think Java allows you to learn at your own pace, while still having all of the resources that you need compiled in a single book. Even better, the book doubles as a thorough introduction to Java since it teaches you how to think like a computer programmer.

One of our own courses at LearnToProgram, Programming for Absolute Beginners is an excellent course for beginner programmers. The course instructs you in the programming language Python because it teaches you the basics that you need to know for any future programming efforts — regardless of the programming language you’ll be using. Consisting of a number of video lectures accompanied by challenging lab exercises, Programming for Absolute Beginners is a great starting place if you want to gain a thorough knowledge of programming basics.

Codecademy is one of the best and most trusted resources for learning programming on the internet. The site’s interactive features make its tutorials interesting and engaging, and it’s designed for people who are complete beginners. The tutorials can be completed in your web browser. This functionality is great for people who’d prefer not to download anything to their computer in order to start programming. Overall, Codecademy features a number of different programming languages, all with brilliant tutorials — which is why a specific tutorial isn’t listed here. Codecademy is your go-to website as a beginner programmer, regardless of what language you choose to explore.

Coding Bat is designed more as an aide than a tutorial. It features a number of coding exercises for both Java and Python. Once you’ve gained some learning experience in these languages, you can practice your skills with Coding Bat’s exercises. For a beginner, practice is extremely important. Therefore, applying your knowledge in a practical environment is a great learning tool. After looking at some of the Java and Python tutorials on this list, you can come back to Coding Bat to see how your skills have improved.

Harvard’s CS50x is the university’s introductory computer science course. If the Harvard label isn’t impressive enough, many people have attested to the applicability of the course after its completion, as well as the competence of the instructor, David Malan. It is often praised as the perfect balance of introductory and challenging material. In other words, it’s not too hard, but it’s not too easy either. CS50x is a self-paced course that covers a broad range of material: you’ll explore C, PHP, and a number of other languages, as well as learning the conceptual basis of programming, such as abstraction and data structures. For an introductory course, CS50x immerses you in the world of programming and allows you to explore the various opportunities that programming has to offer.

If you’re looking to learn any programming language, chances are there’s a tutorial for it on TutsPlus. The site is an excellent resource for programming tutorials — with thousands of them — and it has a great community. Even better, all of the tutorials are completely free and are available to the public! If you’re looking for a great place to browse programming tutorials to see what you might be interested in, TutsPlus is the perfect place to start.


Try Python is a fantastic interactive introduction to the Python programming language. Hosted on Code School, it features just three levels of programming videos and exercises, but is at the top of our list for Python tutorials. Why is this? Try Python takes the cake because it has a built-in IDE for its virtual exercises, which allows you to code Python directly in your browser. This is an advantage for users who simply want to explore Python without having to commit to installing anything on their computer. Thankfully, Try Python is a great tutorial itself, so the site’s built-in IDE is put to good use. If you’re curious about Python and want a low-commitment — but still rewarding — sneak peek at the language’s functionality, you can Try Python!

For those of you who like repetitive practice as a learning mechanism, you can Learn Python the Hard Way. As the name suggests, the ebook is an intensive Python tutorial that drills you in the language until you know Python inside and out. People who’ve Learned Python the Hard Way do say that it is not for the faint of heart, but while it just might be the toughest and most rigorous tutorial on this list, you’ll wind up with successful results if you commit to the challenge.–cs101

Udacity is a very reputable site for programming tutorials. This tutorial is an introduction to computer science that doubles as an introductory Python course. It’s geared towards absolute beginners. Throughout the course, you’ll work on building both a search engine and a social network. By applying the skills you learn in the course to these projects, your foundational knowledge of programming in Python will be continually reinforced as you move through the course. You’ll be a pro in no time!


RubyMonk is an excellent resource for learning Ruby on Rails in a stress-free environment. It has four different tracks for learners of varying experience with the language, and features a number of zen-like exercises that explore Ruby’s abstract side. Given its focus on the language’s conceptual nature, RubyMonk is a challenging introduction for beginners. But if you’re up for the challenge — or maybe just curious about the “zen-like exercises” — RubyMonk can be a great way to get started learning Ruby.

Ruby on Rails Tutorial is one of the most comprehensive resources for learning Ruby. The ebook is free online but is available for purchase with an accompanying screencast series and a solutions manual that comes with each purchase. Ruby on Rails Tutorial teaches you how to develop and launch industrial-strength web applications with twelve chapters of content. If you’re looking for a proven way to gain a great foundation of programming knowledge in Ruby, this book is the way to go.

This Thinkful tutorial is a hands-on approach to your first encounter with the Ruby programming language. Called Learn Ruby on Rails as You Modify as Craigslist Clone, the tutorial is very interactive and guides you through the process of editing a fake Craigslist-esque website. The source code for a sample app is available on GitHub via the tutorial, which allows you to actually dive into the Ruby experience. The tutorial can be completed quickly, so it’s great if you’re looking for a brief introduction to Ruby on Rails while still getting hands-on experience applying the language to a “real-life” situation.


Code Avengers is considered to be a well-respected source of programming tutorials for its simple interface and responsive support staff. As a short introduction to some of the most popular programming languages, the site’s Intro to Coding gives you a brief sample of HTML, CSS, and Javascript. After completing this beginner tutorial package, you can pursue one of the languages in more depth. Some of the other tutorials on this list offer more comprehensive introductions to certain languages like Java and HTML. Keep reading to check them out!

Shay Howe’s site has some excellent tutorials for HTML and CSS, with two learning paths for different skill and experience levels. Each path consists of a number of well-written pages covering the major aspects of front-end web design and development with HTML and CSS. Each tutorial page is well-organized, with clear and informative graphics that supplement the content in each section. This site offers a straightforward way to go about learning web development.

This website offers free, easy tutorials for learning both HTML and CSS (as well as PHP and Javascript). One of its advantages is that it offers the option of learning HTML or HTML5, with the latter focusing particularly on the features in the latest specification of HTML. The tutorials on are straightforward and organized efficiently on the website. This is an excellent choice if you’re looking for a no-brainer set of tutorials for HTML and CSS.


If you want to learn Java, you can’t really go wrong learning from the people who literally created the language. These official tutorials are fairly comprehensive and cover most of the fundamental aspects of Java. One major advantage compared to other Java tutorials is that they are always updated to accommodate the latest release of Java. It is unlikely that you’ll have any conflicts learning from other tutorials, but it is something that you should keep in mind. There are also official tutorials that cover specific programming needs, such as security, sound, 2D graphics, etc. Oracle’s official Java tutorials are always there if you want them!

Code School’s Javascript Road Trip is a fun and engaging way to learn the basics of Javascript. There are three parts to the Road Trip, addressing increasingly more advanced topics as you approach your final destination (a foundation of Javascript knowledge). You’ll travel through the Cliffs of Value, Variable Valley, and Files Falls on your journey. What’s not to love? It’s always nice to have a little fun on your programming adventures, while still learning along the way!

For those of you who learn best by watching videos, this is an excellent course with Java lectures from Stanford University’s Mehran Sahami. Many people have attested to the proficiency of the professor, as well as the overall excellence of the course. While the course’s 28 full-length lectures require a time commitment, if you really want to dig into Java, going through this course is an excellent way to get started.


This quick tutorial on C++ is about as straightforward as you can get. It’s simple, well-organized, and gets the job done without needing any fancy graphics or gimmicks. While it isn’t a totally comprehensive tutorial, it offers beginning programmers a look into the world of C++ to see if it is something they would be interested in exploring further. Without all the features that come with other tutorials, this provides a clear and unbiased introduction to the C++ programming language.

Learn C++ is probably the most recommended tutorial for learning C++ on the internet. It features seventeen excellent chapters that cover just about everything that you need to know about C++ as a beginner. Each chapter is a thorough overview of a certain topic within the programming language, and individual sections deal with the nuts and bolts of the language. While Learn C++ is certainly not an exhaustive resource for the language, it is about as comprehensive as you can get in a single tutorial on the internet.

Penguin Programmer is a step-by-step guide to learning C++. In twenty steps, the tutorial leads you from the basics of the language into some of its more complex attributes. By the end, you will have gained a fairly thorough grasp of the language. Penguin Programmer is a successful tutorial for beginners because it constructs C++ as a language that anyone can learn, instead of a more esoteric language that should only be approached by more experienced programmers. By breaking the language down, step by step, into manageable chunks for beginners to absorb, Penguin Programmer excels as one of the best C++ tutorials for beginners.

Leave a Reply

Your email address will not be published. Required fields are marked *