layer
Harvard University

CS50's Introduction to Computer Science

Get an introduction to computer science, the art of programming, and coding languages in just 12 weeks.

Estimated 12 weeks
6-18 hours per week
Self-Paced
Progress at your own speed
100% Online
Learn anytime, anywhere

About this course

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.


Show More

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

Show More

At a glance

  • Institution:
    Harvard University
  • Subject:
    Computer Science
  • Language:
    English
  • Level:
    Introductory

About the instructors

David J. Malan
David J. Malan
Gordon McKay Professor of the Practice of Computer Science
Harvard University
Doug Lloyd
Doug Lloyd
Senior Preceptor in Computer Science
Harvard University
Brian Yu
Brian Yu
Senior Preceptor in Computer Science
Harvard University

Ways to take this course

Choose your path when you enroll

Verified

$149 USD

Qualify to receive a verified certificate that you can add to your resume or post on LinkedIn.

Audit

Free

Start learning for free today, then upgrade to earn your verified certificate later.

Verified Track
Audit Track
Access to course materials
Access to course materials
Unlimited
Limited
World-class institutions and universities
World-class institutions and universities
Pricing Option Icon
Pricing Option Icon
edX support
edX support
Pricing Option Icon
Pricing Option Icon
Shareable certificate upon completion
Shareable certificate upon completion
Pricing Option Icon
Pricing Option Icon
Graded assignments and exams
Graded assignments and exams
Pricing Option Icon
Pricing Option Icon

Frequently asked questions

You'll have a different experience in your course depending on whether you've enrolled in the free audit track or paid verified track. As a free audit learner, you will have temporary access to course materials except graded assignments, and you will not earn a certificate the end of the course. You will be able to access the free content for the estimated course length posted on the course introduction page in the catalog.

If a course is active, you can enroll in the verified track to pursue a verified certificate of achievement.

Benefits of the verified track

  • Qualify to receive a verified certificate if you earn a passing score before the course ends
  • Access all graded assignments and exams
  • View the course materials even after the course is archived
  • Includes readings, videos, discussions, practice problems and progress just like the free audit track
  • Easily share your certificate to your CV or resume, or post it directly on LinkedIn
  • Support our mission of affordable education to everyone globally

If you click Pursue the Verified Track you'll be directed to the payment page. Enter your credit card information or click the PayPal button in the upper right to pay from your PayPal account. All fees are charged in US Dollars.

As a free audit learner, you will have temporary access to all course materials except graded assignments, and you will not earn a certificate the end of the course. You will be able to access the free content for the expected course length posted on the course introduction page in the catalog.

Benefits of the verified track

  • Start learning for free and upgrade later if the upgrade deadline hasn't passed
  • Access course readings and video lectures
  • Complete any ungraded, practice assignments if the course features any
  • Participate in the the course discussion forums
  • View progress of any ungraded practice assignments
  • Expires after the estimated course length has passed

Upgrading to the verified track will give you access to all materials, including graded assignments, until the course end date. Upgrading will not change or extend the course end date. You’ll still need to pass the course before it ends in order to earn a certificate. After the course end date, as a verified learner, you will have access to archived course content and materials, as long it exists on edX.

In the free audit track, you can access the course content for the Estimated course length listed on the course introduction page in the course catalog.

If your access to the audit track has expired and the course is still open for verified enrollment, you may Upgrade to Verified from your edX Dashboard to regain access.

If the upgrade option no longer appears or if you do not wish to or are unable to pay, you may instead enroll again in a future session. Most edX courses repeat in new sessions.