How to Attend Harvard University in your Pajamas

CS50 is Harvard University's introduction to the intellectual enterprises of computer science and the art of programming. It is to be offered at both Harvard and Yale in coming semesters, marking a notably rare educational collaboration between the rival institutions. The entire course is also available online for free. Complete with lectures, notes, problem sets & YouTube walkthroughs of various concepts, anyone can emulate Harvard’s introduction to Computer Science from home, and I’d highly recommend it.

In full disclosure, despite my love of technology, I had never taken a formal computer science course before, nor have I attended a course at Harvard University. The college and the Internet have made it possible to basically audit the entire course and absorb the masterful teaching of David J. Malan at your leisure. So if you’ve ever been interested in how computers work, this course is a great investment of your time.

The class assumes no prior knowledge and begins by explaining boolean logic and binary numbers. Building from there, Malan explains the fundamentals of programming: data types, variables, control structures and operators. Overviewing the C programming language and the details of how computers actually store and retrieve data, the class continues into an understanding of cryptography and data forensics. Building on these topics allows for an easy transition into a basic understanding of Internet Protocol, browsers, HTML and server configuration. While on the topic of the server client relationship, SQL, database integration and web based languages like JavaScript & PHP are introduced.  A familiarity with these concepts requires a subsequent discussion of data security and best practices for developers. Paired with a captivating presentation by Microsoft’s former CEO, Steve Ballmer, this is where the class transitions into a review of concepts on the final week.  

CS50 includes multiple tracks, challenges and exercises for students depending on their familiarity with the material. Even if you don’t have the slightest idea of how binary numbers work and you can’t tell a bit from a byte, this is the best way I know of to gain a general understanding of computer science and the fundamental concepts of programming. 

In summation, my hat’s off to Harvard for making this possible. There are a number of barriers between most people and institutions that offer this caliber of education, but distribution on the Internet overcomes every single one of them. Increasingly complicated electronics now permeate every aspect of modern life and a fundamental understanding of how computers function is a very empowering gift.