CS50's AP® Computer Science Principles

XSeries Program

Join Harvard Online in this series of CS50 courses for high school students that are taught by renowned Harvard faculty.

Featuring faculty from:
View All Courses In This Series

What You'll Learn

This Xseries is only for students in high school. Students not in high school should register for CS50T and CS50x separately.

This is CS50 AP, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for students in high school, which satisfies the College Board's AP Computer Science Principles (CSP) curriculum framework. Students in high school may receive AP credit for this course provided their school approves the credit and administers the College Board's Create Performance Task and End-of-Course Multiple-Choice Exam. Students should make all such arrangements in advance with their school directly. Students who earn a satisfactory score on all problem sets and a final project are also eligible to receive a verified certificate from HarvardX.

 

An entry-level course for students with no prior background, taught by David J. Malan, CS50 AP teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, and software engineering. Languages include C, Python, and SQL plus students’ choice of: HTML, CSS, and JavaScript (for web development); Java or Swift (for mobile app development); or Lua (for game development). Problem sets inspired by the arts, humanities, social sciences, and sciences. Course culminates in a final project.

CS50 itself is Harvard University's largest course on campus.

After completing CS50's AP® Computer Science Principles, learners will understand:

  • 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, and JavaScript plus SQL, 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

Series Courses

Read More

CS50: Introduction to Computer Science

This is CS50x

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

Enrolling Now

$466 $518USD

2 courses in 5 months

Start Today

Related Courses

Read More

CS50's Web Programming with Python and JavaScript

Feel empowered to design and deploy applications

Join Harvard Professor David J. Malan in this online course to dive more deeply into the design and implementation of web apps with Python, JavaScript, and SQL.

Read More

Introduction to Data Science with Python

Learn Python for data analysis

Join Harvard University Professor Pavlos Protopapas, in this online course to learn how to use Python to harness and analyze data.

Read More

CS50's Introduction to Game Development

Develop Your Next Favorite Game

Join Harvard Professor David J. Malan in this online course to learn about the development of 2D and 3D interactive games like Super Mario Bros., Pokémon, and more.