Skip to main content

HarvardX: CS50's AP® Computer Science Principles

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 new AP CS Principles curriculum framework.

36 weeks
5–6 hours per week
Self-paced
Progress at your own speed
This course is archived

About this course

Skip About this course

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 new AP CS Principles curriculum framework.

An entry-level course 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, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. As of Fall 2015, the on-campus version of CS50 was Harvard's largest course.

Students in high school may receive AP credit for this course provided their school approves the credit and administers the College Board's end-of-year exam. Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are also eligible to receive a verified certificate from HarvardX.

At a glance

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

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, PHP, 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

Interested in this course for your business or team?

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