Introduction to Computer Science

Introduction to the intellectual enterprises of computer science and the art of programming.

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for majors and non-majors alike, with or without prior programming experience.

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.tvby 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"), andseminars 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 throughHarvard Extension School (as "Computer Science E-50") in Fall 2013; you can register online starting in July 2013. You can also take this course through edX.

Special thanks to Dan Coffey, Shelley Westover, Andrew Hill, Colton Ogden, Ramon Galvan '16, and Kenny Boyle for the course's videos and to Rob Bowden '13, Daven Farnham, and Gabriel Guimaraes '17, Fall 2014's heads.

Creative Commons License

Copyright © 2014 – 2015, 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:

  • to Share — to copy, distribute, and transmit this content
  • to Remix — to adapt this content

under the following conditions:

  • Attribution — You must attribute this content to David J. Malan of Harvard Universitybut not in any way that suggests endorsement of you or your use of the work.
  • Noncommercial — You may not use this content for commercial purposes.
  • Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

with the understanding that:

  • Waiver — Any of the above conditions can be waived if you get permission from David J. Malan of Harvard University
  • Other Rights — In no way are any of the following rights affected by the license:
    • Your fair dealing or fair use rights;
    • Apart from the remix rights granted under this license, the author's moral rights;
    • Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.
  • Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link tohttp://creativecommons.org/licenses/by-nc-sa/3.0/.


Your Instructor(s)


Harvard College
Harvard College

Harvard University is a private Ivy League research university in Cambridge, Massachusetts, established in 1636. Its history, influence and wealth have made it one of the most prestigious universities in the world.


Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Start Learning Today!