From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

CS50 (Computer Science 50) is an on-campus and online introductory course on computer science taught at Harvard University and Yale University. In 2016, CS50 became available to high school students as an Advanced Placement Computer Science course. The on-campus version is Harvard's largest class with 800 students, 102 staff and up to 2,200 participants in their regular hackathons.[1][2]

The course material is available online for free on the EdX platform, with a range of certificates available for a fee. As of 2021, this online version, called CS50x, teaches the programming languages C, Python, SQL, HTML, CSS, and JavaScript. It also teaches fundamental computer-science concepts including arrays and data structures, and the Flask web framework.[3] The 2021 iteration of the course also introduced three new additional lectures on computer security, artificial Intelligence, and the ethics of technology.[4]

The lead instructor is Harvard professor David Malan.[5] Brian Yu[6] is also a former member of CS50 and was one of the lecturers.[7] Facebook co-founder Mark Zuckerberg and former Microsoft Chief Executive Officer Steve Ballmer have given guest lectures.[8][9]

Several follow-on programs exist, focussing on web programming, artificial intelligence, game development, and mobile apps.


Lectures are recorded and uploaded to several services including iTunes U, EdX, and YouTube. Additional video "walkthroughs" are recorded with professors and volunteer students. Course questions, called problem sets, or "psets" for short, are available in both PDF and HTML format. Students can upload problem set answers, and some questions are graded by automation. Students can also use special software to check their code in the cloud. In 2016, CS50 became the first university course to offer students the possibility to watch all lectures entirely in virtual reality.[10]

Follow-up courses[edit]

CS50 offers several follow up courses, including:

  • CS50 Computer Science for Web Programming - a more in-depth look at HTML, CSS, and JavaScript, as well as frameworks including Flask and Django.[11]
  • CS50's Introduction to Artificial Intelligence with Python - covers search algorithms, machine learning, and artificial intelligence.[12]
  • CS50's Introduction to Game Development - teaches the Unity and Löve 2D game engines, as well as 2D and 3D game principles.[13]
  • CS50's Mobile App Development with React Native - teaches the React Native application framework, as well as a more in-depth look at HTML, CSS, and JavaScript.[14]

Beginner courses[edit]

CS50 also provides courses for people who are new to programming or who want to understand more about technology.

  • CS50's Introduction to Programming with Scratch - an introduction to programming using Scratch, a visual programming language with which aspiring programmers can write code by dragging and dropping graphical blocks [15]
  • CS50's Understanding Technology - covers basic technology concepts, such as computer hardware, the Internet, and multimedia.[16]


  1. ^ Pappano, Laura. "10 Courses With a Twist". The New York Times. Retrieved 2014-05-04.
  2. ^ Farrell, Michael. "Computer science course fills seats, needs at Harvard". The Boston Globe.
  3. ^ "CS50x 2021". cs50.harvard.edu. Retrieved 2021-03-25.
  4. ^ "What's new for 2021? - CS50x 2021". cs50.harvard.edu. Retrieved 2021-03-25.
  5. ^ Orbey, Eren. "How Harvard's Star Computer-Science Professor Built a Distance-Learning Empire". The New Yorker.
  6. ^ "Brian Yu's web page". brianyu.me.
  7. ^ Feldt, Brian (2014-03-11). "LaunchCode hackathon to feature global computer science educator". St. Louis Business Journal. Retrieved 2014-05-04.
  8. ^ "CS50 Guest Lecture by Mark Zuckerberg". Harvard University.
  9. ^ "CS50 Guest Lecture by Steve Ballmer". Harvard University.
  10. ^ Fahs, C. Ramsey (2016-08-31). "CS50 Moves Away from Traditional Lectures, Toward Virtual Reality". The Crimson.
  11. ^ "Computer Science for Web Programming Professional Certificate". edX. Retrieved 2021-03-25.
  12. ^ "Computer Science for Artificial Intelligence Professional Certificate". edX. Retrieved 2021-03-25.
  13. ^ "Computer Science for Game Development Professional Certificate". edX. Retrieved 2021-03-25.
  14. ^ "Computer Science and Mobile Apps Professional Certificate". edX. Retrieved 2021-03-25.
  15. ^ "CS50's Introduction to Programming with Scratch". cs50.harvard.edu.
  16. ^ "CS50's Understanding Technology". cs50.harvard.edu.

External links[edit]