CS50: Computer Science Courses and Programs from Harvard | edX (original) (raw)

Whether you're interested in pursuing a career in computer science or simply want to better understand the technology we use every day, HarvardX CS50 courses can help. Learn the fundamentals, specific programming languages, and more on edX.

What is a CS50 program?

Computer Science 50, or CS50, is an introductory computer science program created by Harvard University.

Course offerings

HarvardX's courses and professional certificate programs on edX include:

Duration and flexibility

Course durations range from 5-12 weeks, while professional certificate programs average 5-6 months. However, these courses are self-paced, so your timeline may differ depending on your study schedule.

Costs and access

Learners can audit any HarvardX CS50 course on edX for free. The cost of a certificate ranges from 219to219 to 219to299. Professional certificate programs cost between 376and376 and 376and519. High school students can earn AP credit with HarvardX's CS50 AP Computer Science Principles XSeries program for $466.20. Prices may vary based on available discounts.

Top CS50 courses

Start with CS50x

Course Length (Weeks) Difficulty Level
CS50x - Introduction to Computer Science 12 Introductory

Complete your program certificate with one of these courses

Course Length (Weeks) Difficulty Level
CS50P - Introduction to Programming with Python 10 Introductory
CS50R - Introduction to Programming with R 7 Introductory
CS50S - Introduction to Programming with Scratch 3 Introductory
CS50 SQL - Introduction to Databases with SQL 7 Introductory
CS50L - Computer Science for Lawyers (and law students) 10 Introductory
CS50B - Computer Science for Business Professionals 6 Introductory
CS50 Cybersecurity - Introduction to Cybersecurity 5 Introductory
CS50T - Understanding Technology 6 Introductory
CS50 AI - Introduction to Artificial Intelligence with Python 7 Introductory
CS50W - Web Programming with JavaScript 12 Introductory

Explore All CS50 Programs

Explore All CS50 Courses

Show More

Why take a CS50 course?

You don't need prior experience to get started with HarvardX CS50 — in fact, the program is designed for students of all levels. Regardless of your prior computer science knowledge, CS50 courses can help you gain a solid grasp of computer science essentials, including popular programming languages, algorithms, and data structures.

Practical learning

Introduction to Computer Science (CS50x), the typical entry point for most learners, covers the fundamentals using real-world examples, such as gaming and finance, for practice problem sets.

Course variety

Learners can also take courses in specific programming languages, including Python, JavaScript, R and RStudio, and Scratch. CS50 also includes courses in mobile app development, cybersecurity, and understanding computer science applications within business (CS50B) and law (CS50L).

Career development

These courses emphasize computational thinking, a widely applicable skill that improves methodical decision-making. For those interested in pursuing a career in computer science — whether as a data scientist, analyst, programmer, or software engineer — CS50 courses provide a sturdy foundation for further study.

Note: Some courses are only offered annually or quarterly, so be sure to check program availability prior to enrolling.

Online computer science curriculum

HarvardX CS50 courses cover the essentials of computer science, such as programming languages and mobile app development. Topics, theories, and skills you can learn include:

Programming languages include:

Additional topics for CS50 students

Jobs for computer science graduates

The median annual wage for computer and information technology professionals in 2023 was $104,420, according to the Bureau of Labor Statistics (BLS). Below, you'll find a list of popular jobs for computer science graduates alongside BLS education requirements, 2023 salary information, and job growth projections.

Computer hardware engineer

Computer and information research scientist

Computer network architect

Computer support specialist

Database administrator or architect

Data scientist

Software developer

Web developer or digital designer