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
Compilers
Lexical Analysis
Syntactic Analysis
Code Generation
Efficiency in Programming
Big-O Notation
Object-Oriented Programming
Array-based vs. Link-based Structures
Linear Data Structures
Lists
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 assessed for their mastery of the 20 Unit Standards for the course (5 standards per quarter).
Each standard contains a number of skills that students are expected to master.
Skills designated as "Developing the Standard" are typically intuitive skills and concepts students likely already know.
Skills designated as "Meeting the Standard" are essential skills that all students are expected to master by the end of the course.
Skills designated as "Exceeding the Standard" are more advanced skills that typically go above and beyond the basic coursework.
The dates for each of the 4 quarter and links to their respective standards are as follows:
Q1: Digital Logic Design (August 19, 2026 – October 8, 2026)
Q2: Assembly Programming and Compilers (October 13, 2026 – December 17, 2026)
Q3: Efficiency in Programming and Linear Data Structures (January 5, 2027 – March 12, 2027)
Q4: Non-linear Data Structures and Design Decisions (March 22, 2027 – May 27, 2027)
Throughout each 9-week grading period, students will self-assess their mastery of the 5 Unit Standards that were studied during that quarter.
For each standard, students will self-identify which specific skills and/or concepts they feel that they have comfortably mastered.
Unit Topic self-assessments may be updated and resubmitted anytime before 11:59 PM of the last day in the 9-week grading period.
Toward the end of each 9-week grading period, students will demonstrate their mastery of the 5 Unit Standards that were studied during that quarter.
For each standard, students will be expected to apply specific skills and/or concepts to practical problems and/or tasks.
The scheduled dates for the 4 Unit Assessments are as follows:
Q1: Digital Logic Design (October 5-6, 2026)
Q2: Assembly Programming and Compilers (December 14-15, 2026)
Q3: Efficiency in Programming and Linear Data Structures (March 4-5, 2027)
Q4: Non-linear Data Structures and Design Decisions (May 18-19, 2027)
Most Mondays, 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.
These Code Challenges are intended to provide students with a series of ongoing exercises that encourage them to further develop their programming and problem-solving skills.
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 for a review of the appropriate concepts)
Flow Control Implementation (see any AP CSA study guide for a review of the appropriate concepts)
Object-Oriented Programming (see any AP CSA study guide and the Java Collections Framework packet)
Prior to the first test administration, all students 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 Monday, March 8, 2027 (blocks 1-4) and Tuesday, March 9, 2027 (blocks 5-8).
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 assessments 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.