In this course, students will expand upon their previous studies in "AP Computer Science A" by investigating both low-level and high-level aspects of computing. First, in their examination of digital logic, circuit design, and assembly programming, students will discover the intimate relationship between the physicality of hardware and the more abstract nature of software. After exploring the lower-level underpinnings of more traditional, high-level languages, such as Java or C++, students will then analyze a wide range of dynamic data structures and evaluate them for their appropriateness and scalability in a variety of applications. Students who complete this course can expect to be well prepared for continued study and/or a career in the fields of Computer Science, Electrical and Computer Engineering, and/or Information Technology.
Discrete Mathematics and Digital Logic
Computer Architecture
Compilers
Abstract Data Structures
Algorithm Analysis & Big-O Evaluation
Digital Logic Design
Binary Representations of Data
Boolean Algebra and Digital Logic
Digital Components and Computer Architecture
Assembly Programming
Instruction Set Architecture
Memory Allocation
Assembly Programming with the LC-3
Linear Data Structures
Big-O Notation
Array-based vs. Link-based Structures
Stacks and Queues
Hash Tables
Non-Linear Data Structures
Trees
Heaps and Priority Queues
Graphs
While this junior-level course is open to both IB and non-IB students, it is designed to meet the curricular goals and standards set forth by the International Baccalaureate Organization. The content of this course covers the IB Standard Level (SL) as well as some of the Higher Level (HL) curriculum and is intended to prepare students for either of the IB Computer Science exams. IB seniors are strongly encouraged to take the SL test this year, while IB Juniors are strongly encouraged to take the HL course and exam next year. There is no Internal Assessment or External Assessment for non-IB students.
IB students taking the exam this year will be required to complete an independent software development project to serve as their Internal Assessment. Students will design, implement, test, and document a real-world, software solution to meet a client's needs. While this project is to be completed outside of class throughout the middle portion of the school year (November through March), students will be able to reserve time before and after school and during available Flex periods in which they can receive supervision and support while completing their IAs.
The External Assessment for the SL exam consists of two written exams in which students are expected to demonstrate a broad understanding of general computing concepts, terms, and methodologies. By the end of May, any IB students who choose to test in Computer Science will be adequately prepared for the IB Computer Science SL exam. However, most Westwood Juniors usually opt to wait a year and take the HL exam at the end of their Senior year.
Throughout the year, students will submit self-assessments for each of the 20 course standards.
Each standard contains a number of skills that students are expected to master. The following tables outline the specific skills needed to assess whether the student has reached the stage of developing, meeting, or exceeding the given standard.
Throughout the year, students will independently research 32 supplemental topics that directly and/or indirectly relate to the main course units.
Every 4 weeks, students will submit a self-assessment that summarizes their understanding of the most recent topics and assess their mastery of relevant vocabulary and their ability to apply the concepts to a real-world context.
Most Monday's, students will engage in short programming prompts that are intended to be completed within the span of a single class period. For each code challenge, students will write a short program to read and parse data from a text file, process the data according to the prompt, and then print the required output to the console.
Following each Code Challenge, students will submit a self-assessment that analyzes their process for developing a solution that assesses their mastery of programming, problem solving, and data processing.
Students will have multiple opportunities this year to earn industry-based certification through the Pearson Information Technology Specialist program.
The certification will allow students who are "considering or just beginning a path to a career in information technology" to "demonstrate that they can recognize, write, and debug Java code that will logically solve a problem."
The scope of the exam covers 5 major domains of the Java programming language:
Data Types, Variables, and Expressions (see any AP CSA study guide)
Flow Control Implementation (see any AP CSA study guide)
Object-Oriented Programming (see any AP CSA study guide and the Java Collections Framework packet)
Prior to the first test administration, all students who still need to earn their certification will need to register with Certiport at https://app.certiport.com/portal/.
Any student who already has a Certiport account from a previous class/certification may continue using that same account and does not need to create a new one.
The certification exam will only be offered in class on the following dates:
Opportunity #1: Monday, August 18, 2025 (blocks 1-4); Monday, August 25, 2025 (blocks 5-8)
Opportunity #2: Tuesday, October 14, 2025 (blocks 5-8); Wednesday, October 15, 2025 (blocks 1-4)
Opportunity #3: Tuesday, January 6, 2026 (blocks 1-4); Wednesday, January 7, 2026 (blocks 5-8)
Opportunity #4: Monday, March 23, 2026 (blocks 1-4); Monday, March 30, 2026 (blocks 5-8)
Once certification has been earned, students will not need to take the test again.
Students may not claim the work of AI or other individuals as their own except in group collaborative projects and exercises, in which case all sources and team members must be clearly acknowledged.
For each self-assessment, students are expected to explicitly acknowledge their understanding of and commitment to maintaining the standards of academic integrity. They will affirm each of the following statements:
I understand that this self-assessment is intended to evaluate my progress and mastery of the course material.
I will provide honest and accurate responses regarding my achievements, understanding, and performance in this course.
I acknowledge that honest self-reflection is essential for my academic growth and success.
The information I provide below accurately represents my genuine assessment of my learning and progress.
I recognize that accurate self-assessment helps both me and my instructor understand my academic development and identify areas for continued growth. By signing below, I commit to completing this assessment with integrity and honesty.
Students may update and resubmit any self-assessment forms for a given 9-week grading period by 11:59 PM of the last day in the grading period.
All self-assessment forms must be submitted by the end of the 9-week grading period.
Room E1309 is usually open every morning (except Thursdays) before school (8:30-9:00) and during all academic flex periods. Students who need additional assistance or who wish to work on their projects are encouraged to come in as needed.