Learn to Code: Harvard's Free Online Computer Science Course

HTML, CSS, JavaScript, C, SQL, PHP, and More

Computer Nerds
Izabela Habur/E+/Getty Images

Harvard’s “Introduction to Computer Science” course is widely regarded as the best computer science course online and serves as a rigorous starting point for thousands of online students every year. Plus, the course is flexible: there’s an option for you whether you just want to look around, are dedicated to completing every assignment, or want to earn transferable college credit.

Here’s some straight talk: “Introduction to Computer Science” is hard.

It’s designed for students without previous computer programming experience, but it’s no walk in the park. If you enroll, you can expect to spend 10-20 hours on each of the nine project sets in addition to completing a complex final project. But, if you can dedicate the effort required, you’ll gain tangible skills, have a much more in-depth understanding of computer science and develop a better sense of whether or not this is a field you want to pursue.   

Introducing Your Professor, David Malan

The course is taught by David Malan, an instructor at Harvard University. Before creating the course and teaching at Harvard, David was the Chief Information Officer for Mindset Media. All of David’s Harvard courses are offered as OpenCourseWare – at no cost to the interested public. The primary instruction in “Introduction to Computer Science” is delivered through David’s videos, which are professionally filmed and often use screens and animation to get the point across.

Fortunately, David is both concise and charismatic, making the videos an easy watch for students. (No dry, 2-hours-behind-a-podium lectures here).

What You’ll Learn

As an introductory course, you’ll learn a little bit of everything. The curriculum is broken down into twelve weeks of intense learning.

Each weekly lesson includes an informational video from David Malan (generally filmed with a live student audience). There are also walkthrough videos, in which David directly demonstrates coding processes. Study session review videos are available for students that may be less comfortable with the material and need additional instruction in order to complete the problem sets. Videos and transcripts of videos can be downloaded and watched at your convenience.

Lessons introduce students to: binary, algorithms, Boolean expressions, arrays, threads, Linux, C, cryptography, debugging, security, dynamic memory allocation, compiling, assembling, File I/O, hash tables, trees, HTTP, HTML, CSS, PHP, SQL, JavaScript, Ajax, and dozens of other topics. You won’t finish the course as a fluent programmer, but you’ll have a solid understanding of how programming languages work.

What You’ll Do

One of the reasons “Introduction to Computer Science” has been so successful is that it gives students the opportunity to apply what they’re learning while they’re learning it. In order to complete the course, students must successfully finish 9 problem sets. Students begin creating simple programs from the very first week.

The instructions for completing the problem sets are extremely detailed and even feature extra help videos from past students (proudly wearing their black “I took CS50” t-shirts for solidarity with the currently-struggling).

The final requirement is a self-guided project. Students can choose to create any type of software using the skills and programming languages they’ve learned throughout the course. Enrolled students submit their final project to an online fair – after the class is over, projects are shared through a website for peers to see what everyone else has been up to.

Students needing extra assistance can work with Harvard tutors online for $50 an hour.

Did You Want a Certificate With That?

Whether you just want to take a peek at the course or want to earn college credit, “Introduction to Computer Science” has an option to help you get started coding.

EdX is the easiest way to access course materials at your own pace. You can sign up for free to audit the course, with full access to videos, instructions, etc. You can also opt to donate $90 or more for a Verified Certificate of Achievement upon completion of all coursework. This can be listed on a resume or used in a portfolio, but will not give you college credit.

You can also view course materials on CS50.tv, YouTube, or iTunes U.

Alternatively, you can take the same online course through Harvard Extension School for about $2050. Through this more traditional online program, you will enroll with a cohort of students during the Spring or Fall semester, meet deadlines, and earn transferable college credit upon completion of the course.