Advanced Placement (AP) courses are challenging and demanding college-level classes offered to high school students. AP classes allow students to dive deep into a subject matter, build their knowledge, and get ready for college-level work. Students typically take AP courses in subjects they have a sincere enthusiasm for and are considering studying in college. Taking an AP course and doing well on the exam can also have a positive impact on the college admission process, and, in some cases, students might receive college credit if they score well on the exam.
The creator and administrator of the courses, the College Board, offers a variety of AP courses across subjects, including Computer Science (CS). The College Board offers two Computer Science courses:
- AP Computer Science A
- AP Computer Science PrinciplesÂ
Navigating the world of AP courses can be difficult, and, since there are two AP Computer Science courses available, I want to provide an overview of both courses and help parents and students understand the differences.
The intent of this article is not to tell you if one class is better than the other or which class your child should take; it is to help explain the two classes and share what I have learned. I hope it will give you a foundation so that you and your child can discuss the courses and explore further with your child’s teachers, department heads, and guidance counselor.
About Computer Science
At a high-level, computer science is a discipline of science focused on solving problems through algorithms that run on computers. At the heart of computer science, a person uses computation (i.e., mathematical calculations), algorithms, and computer design to solve problems. An algorithm is a step-by-step process for solving a problem or accomplishing a task, often by a computer.
If your child likes to use technology to solve problems, computer science might be a path to study in college and pursue as a career. Most industries today rely on computer science, which is great news when it comes to making career decisions. It means your child might be able to pick an industry that interests them personally and even be able to select the type of organization they would like to work for (e.g. for-profit, non-profit, startup, and government). Additionally, there is a wide range of fields within computer science, such as software, hardware, networking, artificial intelligence (AI), etc., which means there is an opportunity to choose a discipline and specialize.
The point here is that options are numerous and constantly changing in computer science, and, if your child has an interest in technology, taking an AP Computer Science class in high school could help them to explore the possibilities of this important field.
AP Computer Science A: Course Overview
AP Computer Science A is a programming class in Java, a popular in-demand programming language. Java is used to build server-side applications, games, and financial applications, and is the core foundation for developing Android apps. According to the course overview, students will be introduced to topics that include problem-solving, design strategies and methodologies, organization of data (data structure), approaches to processing data (algorithms), analysis of potential solutions, and the ethical and social implications of computing. Students are expected to have knowledge of basic English and algebra and be comfortable with functions before taking the class. The course curriculum is compatible with many introductory computer science courses (CS1) in colleges.
AP Computer Science Principles: Course Overview
AP Computer Science Principles is an introductory class to computer science with a focus on computational thinking and the tools needed to analyze, study, and work with large data sets to draw conclusions from trends. It’s recommended that students have completed a first-year high school algebra course with a strong foundation in basic linear functions and composition of functions. The course curriculum is equivalent to a first-semester introductory college computing course.
This course emphasizes “student creativity” and encourages students to explore how computer software and other technology can be used to solve problems; in this way, it’s far more interdisciplinary, and it focuses on the ethical implications of technology alongside the mechanical components. The course does not designate one specific programming language; instead, teachers select the programming language(s) that is most appropriate for their students.
AP Computer Science Principles launched in the 2016-2017 school year and was meant to complement AP Computer Science A. The course aims to broaden participation in computer science, especially in underrepresented groups like girls and minorities. The course is designed for students who do not have prior computer science experience and the expectation is that after completing the course, students will move onto Computer Science A.
As the most successful launch of any course in AP history, AP CS Principles has dramatically increased the number of students exposed to computer science and broadened their understanding of how it might play into their future career. – College Board website
Comparing the Courses
I talked with the experts at Collegewise, the largest independent college counseling consulting company in the U.S., about the AP CS courses. This organization helps high school students find, apply to, and select colleges and they are very familiar with AP courses and exams. I asked Abby van Geldern, College Counselor, Collegewise-Newton, and former Admissions Counselor at RPI, about the AP CS Principles course and how it compared to the well-established AP CS A. Â I also asked her to offer guidance on course selection.
Abby started by saying the new AP CS Principles course is a great addition to the suite of AP courses available to high school students. Colleges are always looking for students to challenge themselves academically, especially in topics that they’re passionate about. By taking at least one of the AP CS courses and doing well in it, the student is showing colleges they have challenged themselves, are ready for college-level work, and have an academic interest in computer science.
AP CS Principles course will give students without programming experience a starting point into the world of computer science. The initiative to engage more students, specifically underrepresented populations, in the field of computer science was much-needed and was quite successful in its inaugural year. However, Abby pointed out that AP CS Principles should not replace the AP CS A course in a student’s curriculum; rather students should plan to take AP CS Principles as an introductory course to AP CS A.
As mentioned, AP CS Principles is designed as an interdisciplinary curriculum. Students are learning not only basic computer programming skills but the application of those skills and the effects of programming and technology on the world today. Students will be challenged to think about the ethical and moral implications of coding, computing, and technology. Abby explained that parents can consider this the liberal arts approach to computer programming with real-world application of computer science.
Which Class to Take?
If your child is trying to decide between classes, Abby offered this advice: “If I was counseling a student who was deciding between these two courses, I would encourage them to think about their programming ability. A student who already has a basic understanding of Java and has experience programming should feel comfortable diving into AP CS A. A student who is just realizing their interest in computer science and does not have coding experience should most likely start in AP CS Principles.”
Abby also said another way to differentiate between courses is to consider what the student is planning on majoring in: Computer Science, Data Management, or Information Technology & Web Science (ITWS). Data Management is the study of the discoveries and challenges prevalent in design, analysis, and organization of data, and ITWS is the study of all things related to the web including cybersecurity, web development, web privacy, content value and more. If a student is already leaning towards a computer science major in college, AP CS makes the most sense to ensure they have a strong programming foundation. If they are thinking about the more interdisciplinary majors (Information Technology or Data & Web Science), the AP CS Principles course might be more applicable because this course allows students to understand the practical application of computer science.
Abby offered a final strategy to help decide which course is best for your student: Look at the AP transfer credit policy for each school on the student’s college list. Based on the score of their AP exam, you can determine if the college will accept the AP credit and which college course it will satisfy.  This will also show you which AP course the computer science department at each school would prefer or recommend as a stronger foundation for their curriculum.
With respect to college credit, Abby said, “Currently, it appears that most schools are taking AP CS A as a credit for Computer Programming 101 or Data Structures courses, and AP CS Principles as a credit for Introduction to Informatics or Fundamental Concepts of CS courses.”
What if Your High School Doesn’t Offer AP Computer Science?
The AP program doesn’t require a student to take an AP course before taking an AP Exam. If your high school doesn’t offer AP CS courses or your child is home-schooled, you can find several online courses available through Khan Academy, Virtual High School, or a college or university. Students can also teach themselves the AP CS curriculum and prepare for the AP Exam in May. A strong score on the AP Exam will show colleges that your student fully understands the concepts and has mastered the material. Students can also take a computer programming course at a college or community college in their area and send their transcripts to the colleges they are applying to.
Conclusion
No matter which AP CS course a student decides to take, make sure they are excited and passionate about the material. If a student is interested in taking a class, I recommend speaking with their math teacher, programming and engineering teacher, department heads and/or guidance counselor to learn more about the course and identify necessary prerequisites. Please note that not all high schools offer AP Computer Sciences courses and some may only offer one course. Inquire with your school to find out if they offer one or both classes.