We may earn an affiliate commission when you visit our partners.
Course image
David J. Malan, Zamyla Chan, and Doug Lloyd

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.

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.

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

What's inside

Learning objectives

  • 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

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides students with a comprehensive introduction to computer science, meeting the requirements of College Board's AP CS Principles curriculum
Taught by experienced instructors from Harvard University, known for its strong academic reputation
Tailored for high school students, providing a strong foundation in computer science concepts and programming skills
Covers a wide range of topics, including abstraction, algorithms, data structures, security, and web development, offering students a comprehensive understanding of core concepts
Students who complete the course can earn a verified certificate from HarvardX, demonstrating their proficiency in computer science
Utilizes a variety of programming languages, such as C, PHP, JavaScript, SQL, CSS, and HTML, providing students with exposure to different programming paradigms

Save this course

Save CS50's AP® Computer Science Principles to your list so you can find it easily later:
Save

Reviews summary

Ap computer science principles

According to students, CS50's AP® Computer Science Principles is an accessible course that provides free resources for low income students.
This course features free resources for low income students.
"O curso tem como disponibilizar cursos gratuitamente para a população de renda baixa isso possibilita alunos estudarem bem mais do que a escola."

Activities

Coming soon We're preparing activities for CS50's AP® Computer Science Principles. These are activities you can do either before, during, or after a course.

Career center

Learners who complete CS50's AP® Computer Science Principles will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers apply their knowledge of computer science principles to design, develop, test, deploy, maintain, and manage computer software. CS50's AP Computer Science Principles provides a solid foundation for this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you develop the skills you need to be successful as a Software Engineer.
Computer Scientist
Computer Scientists use their knowledge of computer science principles to solve problems and create new technologies. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Computer Scientist.
Web Developer
Web Developers design and develop websites. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript plus SQL, CSS, and HTML. This course can help you build a strong foundation for a career as a Web Developer.
Data Scientist
Data Scientists use their knowledge of computer science principles to analyze data and extract meaningful insights. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Data Scientist.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as an Information Security Analyst.
Computer Programmer
Computer Programmers write and maintain computer programs. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Computer Programmer.
Database Administrator
Database Administrators manage and maintain databases. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript plus SQL. This course can help you build a strong foundation for a career as a Database Administrator.
Software Tester
Software Testers test software to identify defects and ensure that it meets requirements. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Software Tester.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, white papers, and training materials. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Technical Writer.
Systems Analyst
Systems Analysts analyze and evaluate computer systems to identify areas for improvement. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Systems Analyst.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computers and software. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Computer Support Specialist.
Information Systems Manager
Information Systems Managers plan, implement, and manage computer systems and networks. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as an Information Systems Manager.
Computer Network Architect
Computer Network Architects design and implement computer networks. CS50's AP Computer Science Principles can help you develop the skills you need to be successful in this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a strong foundation for a career as a Computer Network Architect.
Data Analyst
Data Analysts use their knowledge of computer science principles to analyze data and extract meaningful insights. CS50's AP Computer Science Principles may be useful for this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a foundation for a career as a Data Analyst.
Business Analyst
Business Analysts use their knowledge of computer science principles to analyze business processes and identify areas for improvement. CS50's AP Computer Science Principles may be useful for this role by teaching you how to think algorithmically and solve programming problems efficiently. You'll also gain familiarity with a number of programming languages, including C, PHP, and JavaScript. This course can help you build a foundation for a career as a Business Analyst.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read two articles that feature CS50's AP® Computer Science Principles:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser