Graphical

David J. Malan, Instructor
malan@harvard.edu
http://cs.harvard.edu/malan

Harvard College

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, encapsulation, data structures, databases, memory management, security, software development, virtualization, and websites. 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 concentrators and non-concentrators alike, with or without prior programming experience.

If you have suggestions on how to make this page more accessible, we're happy to make changes. Please let David J. Malan know at malan@post.harvard.edu.


Jump to: About | Adaptations | Google Group | Lectures | License | Papers | Problem Sets | Quizzes | Sections | Seminars

About

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 left are videos of lectures, sections (aka "recitations" or "precepts"), and seminars along with PDFs of all handouts. Also available at left 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 August 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


License

Creative Commons License

Copyright © 2011 – 2013, David J. Malan

This course's content is licensed by David J. Malan under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License, which means that you are not only welcome to watch, listen to, download, and/or read this content,

you are free
under the following conditions
with the understanding that

Google Group

Google Group cs50-discuss

Have a question about the course (even if you're not a student at Harvard)? Want to field questions from others? Join cs50-discuss, the course's Google Group!

Email Address: visit group

So that folks (like you!) tuning into this course via This is CS50 OpenCourseWare 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. (If unfamiliar with Google Groups, you can take the tour.)

Once you've joined, you'll be able to email the group at cs50-discuss@googlegroups.com and browse past discussions at http://groups.google.com/group/cs50-discuss/topics.

Do add yourself to the guestmap too!


Adaptations

Below are adaptations of CS50. If using CS50's material in your own course, let us know!


Lectures


Sections


Problem Sets


Quizzes


Seminars


Papers