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
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.
Room E1309 is usually open every morning (except Thursdays) before school (8:30-9:00). Students who need additional assistance, who need to make-up an exam/quiz, or who wish to work on their projects are encouraged to come in to work and get assistance as needed.
Each unit will contain periodic, short-answer quizzes, exams, and programming projects that allow students to demonstrate their mastery of course topics.
Throughout the year, students will independently research 32 weekly topics that directly or indirectly relate to the main course units. During most "Academic" Flex periods, students will be asked to answer short prompts from the weekly topics studied to date. Each quiz will contain 1 definition and 1 prompt from the current week's topic and 1 definition and 1 prompt from an earlier week (cumulative from the beginning of the year).
These are short programming prompts that are 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. Submitted solutions will be judged for correctness of output, but not for efficiency. Students will receive immediate feedback indicating whether the solution is correct or incorrect. Incorrect solutions may be modified and resubmitted as many times as necessary until correct.
Students may not claim the work of others as their own except in group collaborative projects and exercises in which case all sources and team members must be clearly acknowledged.
Any instance of academic dishonesty will be handled according to the Westwood High School's Academic Dishonesty Policy.
Students are permitted to retake 2 failed assessments per semester.
Missing work may be submitted for a grade until the end of the marking period in which it was assigned.
Students may not exempt either final exam for this course.
Fall Semester
Students who earned their ITS: Java certification in May (in AP Computer Science A), October, or November will receive a grade of 100.
Students who have not earned their ITS: Java certification will receive their fall semester average for the final.
There is no test to take, but all students must be present in class on the day of the scheduled final exam.
Spring Semester
Students who earned their ITS: Java certification in March or May (Computer Science 3/SL) will receive a grade of 100.
Students who earned their ITS: Java certification in an earlier semester will receive their spring semester average for the final.
Students who have not earned their ITS: Java certification will receive their spring semester average for the final.
There is no test to take, but all students must be present in class on the day of the scheduled final exam.