Welcome

This course is a variant of CS50x designed especially for employees and employers. Whereas CS50x takes a bottom-up approach, emphasizing mastery of low-level concepts and implementation details thereof, this course takes a top-down approach, emphasizing mastery of high-level concepts and design decisions related thereto. Ultimately this course empowers students to make technological decisions even if not technologists themselves. Topics include cloud computing, networking, privacy, scalability, security, and more, with an emphasis on web and mobile technologies. Students emerge from this course with first-hand appreciation of how it all works and all the more confident in the factors that should guide their decision-making. This course is designed for managers, product managers, founders, and decision-makers more generally.

How to Take this Course

Even if you are not a student at Harvard, you are welcome to “take” this course for free via this OpenCourseWare by working your way through the course’s nine weeks of material. For each week, follow this workflow:

flowchart TD
    A[Watch Lecture] --> B[Submit Assignment]

To submit the course’s assignments for feedback, be sure to create an edX account, if you haven’t already. Ask questions along the way via any of the course’s communities!

How to Teach this Course

If you are a teacher, you are welcome to adopt or adapt these materials for your own course, per the license. Additionally, we encourage teachers to participate in the CS50 Educator Workshop to learn more about CS50’s curriculum, technology, and pedagogy.

Previous Version

If you started, but did not complete, the previous version of this course which concluded on 31 December 2025, there will be some carry-forward of your progress from that course, though not all units are comparable between the two courses:

  • Earning a passing grade on the previous course’s Computational Thinking assignment, in 2025, will grant you credit for this course’s Interpreting Information unit.
  • Earning a passing grade on the previous course’s Programming Languages assignment, in 2025, will grant you credit for this course’s Practicing Programming unit.
  • Earning a passing grade on the previous course’s Internet Technologies assignment, in 2025, will grant you credit for this course’s Implementing the Internet unit.
  • Earning a passing grade on both of the previous course’s Web Programming and Cloud Computing assignments, in 2025, will grant you credit for this course’s Weaving the Web unit.

If you completed and earned a certificate for the previous version of this course, you cannot complete this course and earn a certificate. It is considered, for all intents and purposes, the “same” course as the one you’ve already completed, and we only award each student one certificate per course.