This is CS50 OpenCourseware.
Computer Science 50 (otherwise known as CS50) is Harvard College's introductory course for majors and non-majors alike, a one-semester amalgam of courses generally known as CS1 and CS2 taught mostly in C.
Even if you are not a student at Harvard, you are welcome to "take" this course via cs50.tv by following along via the Internet. (The course's own website is at www.cs50.net.) Available at right are videos of lectures, sections (aka "recitations" or "precepts"), and seminars along with PDFs of all handouts. Also available at right are the course's problem sets and quizzes. If you have questions or would like to discuss the material with others, do join the course's Google Group.
If you're a teacher, you are welcome to adopt or adapt these materials for your own course, per the license.
If you'd like to take this course for real (on Harvard's campus or via the Internet) in order to receive feedback on work, grades, and a transcript, the course will next be offered through Harvard Extension School (as "Computer Science E-52") in Fall 2013. You can register online starting in July 2013.
Special thanks to Chris Thayer and Media & Technology Services for the course's videos and to Matt Chartier '12 and Rob Bowden '13, Fall 2011's heads.
djm
Copyright © 2011 – 2021, David J. Malan of Harvard University
This course's content is licensed by David J. Malan of Harvard University under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License, which means that you are not only welcome to "take" this course,
you are free:
So that folks (like you!) have a place to turn with questions, we've created a Google Group called cs50-discuss, which is like a message board and mailing list rolled into one.
Once you've joined, you'll be able to email the group at cs50-discuss@googlegroups.com and browse past discussions at https://groups.google.com/forum/?fromgroups#!forum/cs50-discuss.
Below are adaptations of CS50. If using CS50's material in your own course, let us know!
These lectures were filmed in Sanders Theatre in Memorial Hall by Chris Thayer. Notes were taken by Andrew Sellergren '08.
If you have questions or would like to discuss the material with others, you may want to join the Google Group at left.
Sections (otherwise known as "recitations" or "precepts" at other universities) supplement lectures. Led by Jason Hirschhorn '14, these sections were filmed in Sever Hall.
In order to accommodate students with different backgrounds, some problem sets are released in two editions: a standard edition intended for most students and a "Hacker Edition" intended for some students. Both editions essentially cover the same material. But the Hacker Edition typically presents that material from a more technical angle and poses more sophisticated questions. Most standard editions, though, are accompanied by code "walkthroughs" during which students receive direction on where to begin and how to approach the problem set. Led by Tommy MacWilliam '13, these walkthroughs were filmed in Northwest Science.
If you have questions or would like to discuss the material with others, you may want to join the Google Group at left.
Most of these problem sets require the CS50 Appliance, a virtual machine (for Linux, Mac OS, and Windows) that anyone can download for free.
Below are quizzes; other answers may be possible. Reviews were led by Tommy MacWilliam '13, Joseph Ong '13, and Lexis Ross '13.
If you have questions or would like to discuss the material with others, you may want to join the Google Group at left.
Seminars cover material beyond the scope of the course.
Below are papers about CS50.