Advanced Placement (AP) courses provide a multitude of benefits. Not only do they train and hone important skills, but they give an opportunity to earn college credit at a significantly reduced cost. Taking a course is a sure-fire way to ensure prospective students enter their formative college years with a head-start. The last few decades have seen a huge shift in the importance of CS for all sectors of employment. Indeed, CS is no longer a stand-alone subject, it is a crucial area for almost any career. Marketing is now digital marketing, banking is now online banking; even those who prefer the arts benefit from being digitally savvy. Among the academic disciplines, there has been a proliferation of ‘computational’ studies, such as computational linguistics, computational biology, and computational physics. With this in mind, the benefits of taking an AP Computer Science course are evident. Yet the two AP courses have tangible, meaningful differences. Before enlisting on a course, students should take time to research the options and ensure they choose wisely.
What are the options?
Now that ‘AP Computer Science AB’ has been discontinued, the choice between AP computer science courses boils down to two options. While they might sound similar, the content of the courses is starkly different. You may be aware that ‘Advanced Placement Computer Science A’ (hereinafter referred to as ‘Computer Science A’ or ‘CSA’) is considered to be a more practical, technical course. Whereas Advanced Placement Computer Science Principles (hereinafter referred to as ‘Computer Science Principles’ or ‘CSP’), is a more general, introductory, course. However, the differences run a lot deeper than that.
There is considerable crossover between the two. They are both partially assessed through multiple choice examinations, provide basic introductions to programming, introduce data analysis, and look at problem solving with creative solutions. The principle difference between them is the spectrum of material covered. From music, to business, to navigation, CSP offers a broad overview of CS-related fields. It has been designed to introduce students to the vast array of computer science applications thereby giving an overview of how the CS ‘big picture’ works. CSA on the other hand, offers a more niche alternative. By focusing on pragmatic programming skills and the underlying concepts behind them, CSA ensures that its students have a meaningful grasp on the key building blocks of computer science. These two rival approaches are perhaps best understood by metaphor. If Computer Science Principles was Hispanic Studies, then Computer Science A would be like studying the Spanish language.
What you need to know about Computer Science Principles
Computer Science Principles is a new course. At the time of writing, it has been available for less than two years. It takes a largely academic look at the state of CS today – students will learn about the uses, effects, impacts, and future, of computing technology. The course covers areas like cyber security, data, and the internet. There are various collaborative elements of the course wherein students must work together to solve computational problems with creative solutions. ‘Big-data’ has been one of the buzzwords of the last half-decade, this course will provide students with data-analysis skills that will be useful for many careers. The course also covers non-technical elements such as the negative socio-ethical consequences of mass-computing.
While it involves considerably less programming than CSA, CSP does still contain a programming element. It does not specify a ‘programming language’ – this choice will be made at the teacher’s discretion. Nonetheless, students can expect to use simpler block-based programming applications, these will most likely be ‘drag and drop’ programs like Scratch or App Inventor. While these programs will help students get their heads around the basic principles of programming, it is not necessarily reflective of the day-to-day life of a programmer.
The Computer Science Principles Exam
The AP Computer Science Principles course is assessed through multiple means. As well as through-course assignments, participants must undertake a 2-hour test. The test counts for 60% of the overall assessment, students must answer 74 multiple choice questions (some questions require multiple answers). The remaining 40% is split between two assignments to be taken during the main body of the course. The first of these assignments is on the ‘Impact of Computing Innovations’. With 8 hours of class time allocated to it, this assignment counts for 16% of students’ overall scores. The second assignment, ‘Application to Ideas’, counts for the remaining 24%. Students are given 12 hours of class time to complete it.
What you need to know about Computer Science A
CSA has a much greater emphasis on Java programming-based skills. For readers who are not aware, programming makes up the building blocks of all computer programs. It is the language in which computers operate in. Java is just one example of these languages, albeit a popular one. To an outsider, it looks indecipherably complex, but in the hands of an expert, it is like being fluent in a new dialect. While most of us can get through our daily lives without much of an understanding of programming, it is a vital skill for those who want to make a life in CS.
The course focuses on building and honing programming skills. Course-time is split between practicing computational language and hands-on lab-time. Students can expect a minimum of 20 hours in the computer lab, working on problem-solving exercises individually and in groups. Of the many areas covered, students can expect objectives in program-creation, design strategies, data analysis and organization, solution-testing, algorithmic studies, data structures, and socio-ethical computing practices.
While the programming element in CSA is more rigorous than in CSP, it should be noted that it is still deemed to be an introductory course. Programming is a complex affair and students should not expect to come away from the course with a mastery of it.
The Computer Science A Exam
Unlike CSP, CSA is graded solely by examinations, rather than mid-course assessments. To account for this, the exam is an hour longer and is broken into two sections. Like CSP, the first section is multiple choice. Students are given one hour and a half to answer 40 questions on topics like data-structures, logic, software engineering, and programming fundamentals. The second half of the exam also takes an hour and a half. The two sections are weighted evenly. However, this second section is ‘Free Response’; students are presented with four questions. They are required to answer using Java programming language, they’re graded on their ability to solve real-life problems with in-depth reasoning.
CSP versus CSA. Which is best?
The bad news is that there is no definitive answer to this question. The good news is that with a bit of introspection, it should become apparent which course is right for each student. To understand which course is the best fit, it is vital to answer two questions – ‘where is the student at now?’ and ‘where would the student like to be in the future?’. Once you have the answer to these questions, you can match the student’s skills and ambitions with the prerequisites and opportunities of each course.
Before enlisting on either course, students should have a familiarity with algebra and mathematics. Beyond that, it’s been recommended that CSP students have a grasp on the Cartesian (x, y) coordinate system and that CSA students should understand the key components of function notation.
While this may be a bit of an oversimplification, CSP can be considered as the preferred option for those with less experience and passion for CS, and also for those who do not want to make CS their primary lives’ focus. Because CSP offers a comprehensive sampling of different areas of CS, it is useful for students who suspect that CS will be significant in their lives, but who do not know exactly how.
For students who already have some programming skills, CSP will likely cover familiar territory that may not be challenging or particularly helpful. Similarly, if the student is looking to study computer science at college, then CSA is probably a smarter choice. A degree in computer science is going to be heavily focused on programming, and having an AP course is a great way to prepare. For that reason, CSA is compatible with CS1 courses nationwide. That said, because CSP does not define a specific programming language, it may prove to be a useful opportunity for budding-programmers looking to expand their repertoire of languages.
That is not to say that only future computer scientists should consider CSA. The AP College Board has provided a long list of academic/career pathways that would benefit from each course. As previously mentioned, having skills in programming can be highly useful for entrepreneurs of all varieties. While CSA is undoubtedly a more narrowly focused course, it is still useful for students pursuing careers in areas like aerospace and chemical engineering, database administration, forensic science, pharmacy, software development, meteorology, architecture, computer graphics, design and visual communication, linguistics, statistics, web-design, graphic design, exercise science, and even botany. Whereas CSP is likely to prove useful for students interested in working in civil and nuclear engineering, computer graphics, data-science, neuroscience, financial analysis, accountancy, technical writing, biomedicine, clinical technology, research, marketing, flight, mathematics, or applied physics. As well as many others.
There are a few other issues that are worth considering in the decision-making process. As mentioned, CSP is a newer course. That means for students who are looking to self-study, there is less material available. Although, of course, as with all AP courses, there is still a wealth of accessible resources, both online and in print.
It’s also worth considering that colleges treat the courses differently. For many, the in-depth nature of CSP is more worthwhile and so is treated with higher regard. But this is far from universal – the University of California provides eight credits for CSP, and only two for CSA.
Can you take both?
Yes, absolutely. If your personal situation allows for the taking of both courses, that is a great option. CSP and CSA are designed to be complimentary courses. While neither course is a prerequisite for the other, students planning on taking both courses will likely benefit from studying CSP first. This is because CSP introduces themes like variables and decision trees that have relevance for all programmatic languages. Studying CSP will give a theoretical framework that can be practiced in a ‘hands-on’ way in CSA.
Before deciding, all prospective students are strongly encouraged to study both course objectives and curriculum. They should compare these with their passions, as well as their own academic and career objectives. Furthermore, while success in a previous course should not be treated as gospel, as with all decisions of this nature, students should consult the advice of their teachers. Teachers may be able to provide useful insight into students’ natural abilities, and therefore give an indication of how much effort and adjustment will be needed to prosper in either course.
Despite all the different factors to consider, the smart decision for many students comes down to how they answer the following questions: ‘Do you have a passion for programming or experience in programming already?’ and ‘Are you interested in majoring in computer science or following an CS career?’. If the answer to either of those questions is ‘yes’, then that student should probably study CSA, if the answer is ‘no’, then CSP may be a better option. Rest assured that both programs will provide great educational benefits.
KTBYTE offers both core computer science classes and AP CS A preparatory classes. These classes can be taken online via live web-conference with the instructors, and course listing can be found at https://www.ktbyte.com/classes