Skip to main content

CS50's Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.

12 weeks
6–18 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

5,663,212 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Mar 19
Ends Dec 31

About this course

Skip About this course

This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x 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, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course.

Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.

HarvardX requires individuals who enroll in its courses on edX to abide by the terms of the edX honor code. HarvardX will take appropriate corrective action in response to violations of the edX honor code, which may include dismissal from the HarvardX course; revocation of any certificates received for the HarvardX course; or other remedies as circumstances warrant. No refunds will be issued in the case of corrective action for such violations. Enrollees who are taking HarvardX courses as part of another program will also be governed by the academic policies of those programs.

HarvardX pursues the science of learning. By registering as an online learner in an HX course, you will also participate in research about learning. Read our research statement to learn more.

Harvard University and HarvardX are committed to maintaining a safe and healthy educational and work environment in which no member of the community is excluded from participation in, denied the benefits of, or subjected to discrimination or harassment in our program. All members of the HarvardX community are expected to abide by Harvard policies on nondiscrimination, including sexual harassment, and the edX Terms of Service. If you have any questions or concerns, please contact harvardx@harvard.edu and/or report your experience through the edX contact form.

Awards

Class central top 100 course of all-time.edX Prize Finalist 2018

At a glance

  • Associated skills:Forensic Sciences, Computer Science, JavaScript (Programming Language), Cryptography, Python (Programming Language), Cascading Style Sheets (CSS), Resource Management, Data Structures, Finance, C (Programming Language), SQL (Programming Language), HyperText Markup Language (HTML), Security Software, Algorithms

What you'll learn

Skip What you'll learn
  • A broad and robust understanding of computer science and programming
  • How to think algorithmically and solve programming problems efficiently
  • Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
  • Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
  • How to engage with a vibrant community of like-minded learners from all levels of experience
  • How to develop and present a final programming project to your peers

This course is part of CS50's AP® Computer Science Principles XSeries Program

Learn more 
Expert instruction
2 high-quality courses
Self-paced
Progress at your own speed
5 months
5 - 14 hours per week

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.