Hubbry Logo
AP Computer ScienceAP Computer ScienceMain
Open search
AP Computer Science
Community hub
AP Computer Science
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
AP Computer Science
AP Computer Science
from Wikipedia

The Advanced Placement (AP) Computer Science (shortened to AP Comp Sci or APCS) program includes two Advanced Placement courses and examinations covering the field of computer science. They are offered by the College Board to high school students as an opportunity to earn college credit for college-level courses.[1] The program consists of two current courses (Computer Science Principles and Computer Science A) and one discontinued course (Computer Science AB).[2]

AP Computer Science was taught using Pascal for the 1984–1998 exams, C++ for 1999–2003, and Java since 2004.[3]

Courses

[edit]

There are two AP computer science courses currently offered.[4] Computer Science Principles is considered to be a more "big picture" course than the programming-intensive Computer Science A.[5][6]

AP Computer Science A

[edit]

AP Computer Science A is a programming-based course, equivalent to a first-semester–level college course. AP CSA emphasizes object-oriented programming and is taught using the programming language of Java. The course has an emphasis on problem-solving using data structures and algorithms.[7]

AP Computer Science Principles

[edit]

AP Computer Science Principles is an introductory college-level course in computer science with an emphasis on computational thinking and the impacts of computing. The course has no designated programming language, and teaches algorithms and programming, complementing Computer Science A.[8]

AP Computer Science AB (discontinued)

[edit]

AP Computer Science AB included all the topics of AP Computer Science A, as well as a more formal and a more in-depth study of algorithms, data structures, and data abstraction. For example, binary trees were studied in AP Computer Science AB but not in AP Computer Science A. The use of recursive data structures and dynamically allocated structures were fundamental to AP Computer Science AB.

AP Computer Science AB was equivalent to a full-year college course.[9]

Due to low numbers of students taking the exam, AP Computer Science AB was discontinued following the May 2009 exam administration.[10][11]

See also

[edit]

References

[edit]

Further reading

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
AP Computer Science is a program of (AP) courses offered by the , aimed at providing high school students with an introduction to the fundamental concepts, practices, and impacts of to prepare them for college-level study and future careers in . The program includes two distinct courses— and —that can be taken independently or in sequence, requiring no prior programming experience but familiarity with basic algebra. These courses emphasize , ethical considerations in , and the role of in society, with over 1,200 colleges worldwide offering credit or placement for strong performance on the associated exams. The AP Computer Science program traces its origins to 1984, when the first introduced AP Computer Science exams, initially focusing on programming in Pascal. By 1988, the offerings were formalized into , covering one semester of introductory programming, and AP Computer Science AB, which extended to two semesters but was discontinued in 2009 due to low enrollment. Programming languages evolved over time, shifting from Pascal (1984–1998) to C++ (1999–2003) and then to in 2004 for AP Computer Science A, reflecting alignments with contemporary college curricula. To address underrepresentation in computing—such as the absence of female test-takers in some states in 2013 and limited participation from students in 2015—the launched in the 2016–2017 school year, marking the largest course rollout in its history with for 1,500 teachers and pilots in 45 high schools. This addition has significantly expanded access, with female participation in more than doubling from 13,328 in 2016 to 31,458 by 2019, and further increasing to 60,259 by 2024, alongside increases among underrepresented groups. AP Computer Science Principles serves as an entry-level course for students from diverse backgrounds, introducing the breadth of without requiring coding proficiency. It explores five "Big Ideas": Creative Development, Data, Algorithms and Programming, Computer Systems and Networks, and Impact of , with exam weightings ranging from 10%–13% for Creative Development to 30%–35% for Algorithms and Programming. Students develop six practices, including designing solutions (18%–25% exam weighting) and analyzing computing innovations, through collaborative projects and the Create performance task. The course culminates in a 70-question multiple-choice (70% of score) and the Create performance task with written responses (30% of score), fostering skills in ethical and real-world applications. In contrast, AP Computer Science A is a more focused, programming-centric course equivalent to a first-semester college introduction, emphasizing the Java language to teach object-oriented design and problem-solving. Organized into four units—Using Objects and Methods (15%–25% exam weighting), Selection and Iteration (25%–35%), Class Creation (10%–18%), and Data Collections (30%–40%)—it covers essential topics like variables, control structures, classes, and data collections such as arrays and ArrayLists. The course builds five key skills, with a heavy emphasis on analyzing code (37%–53%) and developing code (22%–38%), supported by at least 20 hours of lab activities. The AP exam, revised for the 2025–26 school year to better align with evolving college standards, consists of 40 multiple-choice questions and four free-response questions, testing students' ability to write, debug, and explain Java programs. Overall, the AP Computer Science program has grown substantially, with enrollment in more than doubling over the past decade to 98,136 exam takers in 2024 and Principles attracting a broader, more diverse student body with 175,261 takers in 2024 to address the global demand for computing professionals. By promoting equity and foundational knowledge, it equips students to tackle pressing societal challenges through technology while encouraging lifelong engagement with the field.

History

Development of the AP Computer Science Program

The (AP) Computer Science program was established in the early as part of the 's broader initiative to offer college-level courses in high schools, aiming to provide motivated students with rigorous academic opportunities equivalent to introductory . In 1981, the decided to include among its AP offerings, forming a development committee that prepared the program for implementation by the 1983-84 school year. The program's initial goals focused on delivering college-level instruction in secondary schools, fostering at both high school and undergraduate levels, and preparing students for majors or other fields requiring computational skills, amid the rising demand for computing expertise during the personal computer revolution of the late 1970s and early . The first AP Computer Science exams were administered in May 1984, emphasizing fundamental computing concepts such as programming methodology, algorithms, and data structures. From 1984 to 1998, the program utilized Pascal as the primary programming language, which supported the teaching of structured programming principles and aligned with common practices in academic computing at the time. This choice reflected the program's intent to build a strong foundation in procedural programming, enabling students to develop skills transferable to higher education. To adapt to evolving industry and academic trends toward , the transitioned the language to C++ for the exams from 1999 to 2003, a change announced in the mid-1990s despite some educator concerns about its complexity for high school students. In 2004, the program adopted , selected for its prominence in both professional and university curricula, ensuring continued relevance in preparing students for advanced studies. In 1988, the introduced AP Computer Science AB as an advanced option building on the foundational A course.

Key Changes and Discontinuations

In the 1980s, the College Board introduced AP Computer Science AB as an advanced counterpart to the existing AP Computer Science A course, designed to cover a full year of college-level material including topics such as recursion, data structures, and object-oriented programming beyond the introductory scope of A. This exam was offered starting in 1988 to provide deeper preparation for students pursuing computer science majors. Due to persistently low enrollment, with only about 5,100 students taking the AP Computer Science AB exam in 2009 compared to over 16,600 for A, the discontinued AB following the May 2009 administration to focus resources on the more widely adopted A course. The decision was driven by demographic factors and limited participation, particularly among underrepresented groups, as AB's advanced content deterred broader uptake. To expand access to computer science education and address underrepresentation, the launched in the 2016-17 school year, marking the largest debut of any AP course in history with over 50,000 students in its first year. This course was developed to attract non-majors and diverse learners by emphasizing and real-world applications rather than intensive programming, motivated by stark disparities such as only 23% female exam-takers in prior to 2016 and minimal participation from and Latino students. In 2024, the announced revisions to effective for the 2025-26 school year, consolidating units from 10 to 4, removing while adding file I/O and data sets, and aligning the more closely with contemporary college introductory programming courses (CS1) to better prepare students for higher education. These changes aim to streamline content and enhance relevance without altering the core Java-based programming focus. The cumulative effect of these developments has driven substantial growth in participation, with over 273,000 students taking or Principles exams in 2024 and over 290,000 in 2025, a more than fivefold increase from pre-2016 levels and reflecting improved diversity and in high school .

AP Computer Science Principles

Course Description and Objectives

AP Computer Science Principles is an introductory college-level course that introduces students to the breadth of the field of . Students learn to design and evaluate solutions and to apply to solve problems through the development of algorithms and programs. They incorporate , , the , cybersecurity considerations, and the societal impacts of in their solutions. As part of a team, students apply the problem-solving and practices of to design creative solutions to problems of interest. This course is designed for students from diverse backgrounds; no prior experience in or programming is required. The primary objectives of the course are to develop students' practices, including designing computational solutions, developing algorithms and programs, using to manage complexity, analyzing code and , evaluating innovations, and considering responsible . The course fosters an inclusive culture and explores the creative aspects of programming, use, and technology's role in society. It assumes familiarity with basic algebra but no programming experience, and it spans one with hands-on activities emphasizing and real-world applications.

Big Ideas and Topics Covered

The AP Computer Science Principles course framework is built upon five Big Ideas that represent the essential concepts and practices in computing, providing students with a broad understanding of principles. These Big Ideas guide the curriculum and are weighted differently in the exam to reflect their relative emphasis. They encourage students to explore computing as a creative, analytical, and impactful discipline. The first Big Idea, Creative Development (10%–13%), focuses on ideation and iteration in program creation, emphasizing collaboration, program design, and the development of computational artifacts through iterative processes and user-centered design. The second, Data (17%–22%), addresses the collection, analysis, representation, and privacy of data, including how data is stored, processed, and visualized to inform decisions while considering ethical implications like bias and accessibility. Algorithms and Programming (30%–35%), the largest Big Idea, covers abstraction and algorithm design, including the creation of efficient programs using variables, conditionals, loops, and procedures to solve problems. Computer Systems and Networks (11%–15%) examines hardware, software, and internet functionality, such as binary representation, data transmission protocols, and the scalability of networks, including concepts like Moore's Law that illustrate exponential growth in computing power. Finally, Impact of Computing (21%–26%) explores the societal, economic, and ethical effects of technology, such as cybersecurity basics, global computing inequities like the digital divide, and the broader implications of innovations on privacy, equity, and policy. Complementing the Big Ideas are the six Computational Thinking Practices, which develop students' ability to apply computing concepts across contexts. These include: Practice 1: Computational Solution Design (18%–25% exam weighting), involving investigating issues and creating solution plans; Practice 2: Algorithms and Program Development (20%–28%), focusing on developing, testing, and refining algorithms and programs; Practice 3: (7%–12%), using models and representations to manage complexity; Practice 4: Code Analysis (12%–19%), reading and interpreting existing code; Practice 5: Computing Innovations (28%–33%), analyzing the benefits, consequences, and impacts of innovations; and Practice 6: Responsible Computing, addressing ethical and legal considerations (not formally assessed on the multiple-choice exam). These practices are integrated throughout the course to foster problem-solving skills. Key topics covered within this framework include programming in block-based or text-based languages, with no specific language required to promote flexibility and . Students engage with visualization techniques to interpret patterns and trends, cybersecurity basics such as and safe online practices, and global computing inequities that highlight disparities in technology access across regions and demographics. Hands-on elements are central, where students create computational artifacts like apps, websites, or simulations to apply concepts, and explore case studies on topics such as AI ethics and the to connect computing to real-world issues.

Exam Structure and Scoring

The AP Computer Science Principles exam is administered annually in May and has a total duration of 3 hours. For the 2025–26 school year and beyond, the end-of-course exam is conducted digitally using the College Board's app. It assesses students' understanding of the big ideas, practices, and course topics through a multiple-choice section and written responses linked to the Create performance task. The overall exam score combines the end-of-course exam (70%) and the Create performance task (30%). The multiple-choice section consists of 70 questions (including single-select, multi-select, and those with reading passages) and lasts 120 minutes, accounting for 70% of the overall score. Questions focus on conceptual understanding, , design, and impacts of computing across the five big ideas (e.g., 30%–35% from Algorithms and Programming). No is permitted. The Create performance task, completed during the course (at least 12 hours in-class time), contributes 30% to the score and involves developing a program of the student's choice. It includes submitting program code, a video demonstrating functionality (≤1 minute), and a Personalized Project Reference file. On exam day, students complete two written-response questions (25 minutes total) about the Create task using the reference file, scored as part of the end-of-course exam. The task is scored out of 6 points using a rubric evaluating program purpose, functionality, documentation, and impact analysis, then weighted to 30% of the total score. Overall scoring converts raw performance to a 1–5 scale, with scores of 3 or higher often qualifying for college credit or placement at participating institutions. Students can access practice resources through AP Classroom, including topic questions, sample performance tasks, and scoring guidelines.

AP Computer Science A

Course Description and Objectives

AP Computer Science A is an introductory college-level course in object-oriented programming using the Java programming language, designed to be equivalent to a first-semester computer science course (CS1) in higher education institutions. It targets high school students interested in pursuing computer science or related fields, providing foundational skills in programming and problem-solving. The course emphasizes a programming-centric approach, where students learn to design, implement, and analyze Java programs to model real-world entities and address computational challenges. The primary objectives of the course are to enable students to for creative outcomes, develop and implement through writing and testing programs, by reading and tracing execution to identify errors and verify functionality, document programs and computing systems for clarity and maintenance, and use computers responsibly by considering ethical and social implications of computing innovations. These goals foster , with a particular focus on practices such as design, execution, and output , assuming no prior programming experience while building proficiency in , variables, control structures, and to prepare students for advanced studies. There are no formal prerequisites for the course, though successful completion of high school Algebra II is recommended to support the mathematical reasoning involved, including familiarity with linear functions and problem-solving strategies. The course spans one , typically comprising 131–139 class periods of 45 minutes each, five days a week, with hands-on laboratory activities accounting for at least 20 hours—or at least 20%—of the instructional time to reinforce programming skills through practical application. Since its adoption of in 2003, the course has evolved, with the 2025–26 revisions aligning its content more closely with contemporary college introductory programming curricula based on faculty surveys and analyses, including consolidated units and updated topics like text files and sets to enhance and depth.

Units and Topics Covered

The AP Computer Science A curriculum was revised for the 2025-26 school year to consolidate the previous ten units into four, aligning more closely with introductory college programming courses while emphasizing essential programming concepts. This restructuring removes coverage of and introduces text file processing, allowing greater focus on core object-oriented principles, control structures, and data handling without advanced inheritance hierarchies. The course framework organizes content around enduring understandings, learning objectives, and essential knowledge, with an emphasis on developing algorithms, writing executable code, and analyzing program behavior using (minimum version 17, recommended 22). Unit 1: Using Objects and Methods (15–25% of exam weighting) covers foundational elements of , including the creation and use of objects to represent real-world entities. Students learn to declare and initialize variables with primitive types such as int, double, and , and to perform arithmetic operations and expressions using operators like +, -, *, /, and %. Input and output are introduced via the Scanner class for reading user input from the console, while methods enable text manipulation, such as , extraction, and length determination. Methods are explored as modular code blocks, including passing (by value), return types, and the use of built-in classes like Math for functions such as Math.random() and Math.pow(). Essential knowledge includes understanding scope and how objects encapsulate and behavior, with learning objectives focused on writing and calling methods to promote . This unit lays the groundwork for program by emphasizing and basic . Unit 2: Selection and Iteration (25–35% of exam weighting) builds on Unit 1 by introducing control structures to enable decision-making and repetition in algorithms. expressions form the core, using relational operators (==, !=, <, >, <=, >=) and logical operators (&&, ||, !) to evaluate conditions. Selection is implemented through if, , and nested if statements to direct program flow based on true/false outcomes. covers while loops for indefinite repetition, for-each loops for traversing collections, and nested loops for simulating processes like nested decisions or grid patterns. Students analyze loop termination conditions to avoid infinite loops and implement standard algorithms, such as finding the minimum, maximum, or sum in a sequence. Enduring understandings highlight how these structures simulate real-world processes, with objectives centered on writing code that correctly handles conditional logic and repetitive tasks while considering ethical implications like in decision algorithms. Unit 3: Class Creation (10–18% of exam weighting) focuses on designing and implementing custom classes to model complex data and behaviors, reinforcing encapsulation without extending to inheritance. Students define classes with instance variables (private for data hiding), constructors to initialize objects, and methods including accessors (getters), mutators (setters), and other behaviors like toString() for object representation. The "this" keyword is used to distinguish instance variables from parameters, and scope rules govern variable accessibility within classes. Learning objectives include creating classes that promote abstraction, such as a BankAccount class with balance and deposit methods, and analyzing how class design affects program modularity and maintainability. Essential knowledge covers access modifiers (public/private) and the role of classes in object-oriented programming, emphasizing ethical considerations in data representation, like privacy in modeling user information. This unit equips students to build reusable components for larger programs. Unit 4: Data Collections (30–40% of exam weighting) addresses storing and processing collections of data using arrays and dynamic structures, with new inclusion of input/output. One-dimensional arrays are introduced for fixed-size storage, including , initialization, traversal with for-each or indexed loops, and common operations like calculating sums or finding extrema. ArrayList provides dynamic resizing via methods such as add(), remove(), size(), and get(), enabling flexible . Two-dimensional arrays represent grids, traversed in row-major order for tasks like image processing simulations. are read using Scanner for line-by-line input, supporting data set analysis without writing to files. Algorithms include linear and binary search, as well as sorting methods like , , and (with basic for the latter). is introduced conceptually for problems like computation or simulations, focusing on base cases and recursive calls. Enduring understandings stress efficient data organization and algorithm analysis for , with objectives on implementing traversals, modifying collections, and evaluating qualitatively. Labs in this unit often involve simulations, such as analyzing election results from files or sorting student grades.

Exam Structure and Scoring

The AP Computer Science A exam is administered annually in May and has a total duration of 3 hours. For the 2025-26 school year and beyond, the exam is conducted digitally using the College Board's app, with automatic submission at the end of the testing window. It comprises two main sections: a multiple-choice section and a free-response section, designed to assess students' understanding of programming, practices, and course units. The multiple-choice section consists of 42 questions, each with four answer choices, and lasts 90 minutes, accounting for 55% of the overall score—this represents a revision from the previous format of 40 questions weighted at 50%. Questions are primarily discrete but may include occasional sets of 1–2 related items, focusing on code analysis, tracing execution, error identification, and conceptual understanding across the four course units (e.g., 30–40% of questions draw from Unit 4 on data collections and algorithms). No is permitted, and a Quick Reference sheet is provided digitally during the . The free-response section includes 4 questions completed over 90 minutes, contributing 45% to the score and totaling 25 points—a reduction from the prior 36 points to streamline assessment. Responses must be written in and are scored using a holistic rubric that evaluates correctness, logical structure, efficiency, and adherence to programming conventions. Question 1 focuses on methods and control structures (6 points), typically requiring implementation of iterative or conditional logic along with manipulation. Question 2 addresses class design (6 points), involving the creation of a class with a constructor, instance variables, and methods. Question 3 emphasizes via ArrayList iteration (6 points), excluding traditional arrays to align with revised topics. Question 4 covers 2D arrays or a short program (7 points), testing array traversal and algorithmic application. Overall scoring converts raw performance (multiple-choice correct answers plus free-response points) to a 1–5 scale, with scores of 3 or higher often qualifying for college credit or placement at participating institutions. The rubric for free-response questions prioritizes functional code that meets specifications, deducting for common errors like array access confusion while rewarding concise, efficient solutions. Students can access practice resources through AP Classroom, including unit-aligned sample questions, past exams, and scoring guidelines that stress and common pitfalls in code tracing.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.