This is CS50 AP for 2021–2022. Looking for 2020–2021?
Hello, world!
CS50 AP is an amalgam of two courses, CS50’s Introduction to Computer Science, otherwise known as CS50x, and CS50’s Understanding Technology, otherwise known as CS50T. CS50 AP is only for students in high school. Students not in high school should take CS50T and CS50x instead.
CS50 AP is also available via edX.
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 AP Computer Science Principles (CSP) curriculum framework. Students in high school may receive AP credit for this course provided their school approves the credit, submits the student’s work on the College Board’s Create Performance Task by Monday, May 2, 2022, 11:59 PM Eastern Time, and submits the student’s work on the End-of-Course Multiple-Choice Exam by Monday, May 9, 2022, 12:00 PM local time. See further details at the College Board’s 2021-2022 Annual Calendar and Deadlines page. 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.
Getting Started
Students
You’re welcome to “take” the course by following this website’s curriculum, but, so that you receive announcements and more, best to take the course via edX (for free) instead! To receive AP credit for this course, be sure to make arrangements with your school in advance.
What is CS50?
Teachers
If you’d like to teach CS50 AP at your school:
- Here’s the curriculum.
- Sign up for a GitHub account (for free), if you don’t have one already.
- For access to lesson plans (i.e., section materials) and sample solutions, submit the form at cs50.harvard.edu/teach.
- Watch the CS50 Educator Workshop 2020, if you didn’t attend in person.
- Subscribe to
- ap@lists.cs50.harvard.edu if teaching CS50 AP, and/or
- teachers@lists.cs50.harvard.edu if teaching any of CS50’s courses.
- Sign into and familiarize yourself with CS50 IDE. If you would like your students to share their own IDE with you, see cs50.readthedocs.io/ide/online/#sharing-your-workspace for instructions.
- Email ap@cs50.harvard.edu with any questions!