AP Computer Science Principles

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

Course Description

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 sch... Read More »

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.

Read Less
Course Outcomes:
  • 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
Course Details:

Access Timeframe

Full Lifetime Access
Certificate Info:

Additional Details

*Verified Certificates are not available through betterU at this time.
About Instructor:

David J. Malan - Gordon McKay Professor of the Practice of Computer Science

David is Gordon McKay Professor of the Practice of Computer Science in the School of Engineering and Applied Sciences and a Member of the Faculty of Education in the Graduate School of Education at Harvard University. He received his A.B., S.M., and Ph.D. in Computer Science from Harvard in 1999, 2004, and 2007, respectively.


Rob Bowden - Doctoral Candidate in Computer Science

Rob is a Doctoral Candidate in Computer Science at the School of Engineering and Applied Sciences at Harvard University. He received his A.B. in Computer Science with a secondary field in Mathematical Sciences from Harvard in 2013.


Zamyla Chan - Doctoral Candidate in Chemistry

Zamyla is a doctoral candidate in Chemistry and Chemical Biology at the Graduate School of Arts and Sciences at Harvard University. She received her S.B. in Engineering Sciences with a secondary field in Computer Science from Harvard in 2014.


Doug Lloyd - Senior Preceptor in Computer Science

Doug is a Senior Preceptor in Computer Science in the Division of Continuing Education at Harvard University. He received his A.B. in Computer Science from Harvard in 2009.


DON'T HAVE TIME?

We can send you everything you need to know about this course through email.
We respect your privacy. Your information is safe and will never be shared.