AP Computer Science A
- Not to be confused with AP Computer Science Principles
Department | CTE |
---|---|
Length | Year |
Credit type | Weighted |
Teacher(s) | Mr. Paley Mr. Bautista |
AP Computer Science A is a computer science course. Entering requires either FOOP to be completed, or concurrent enrollment in Analysis H while completing summer homework.
Course catalog description
This Blended Learning* course is designed to give the student a taste of what it is like to be a freshman computer science major at a good university. The course includes data abstraction, procedural abstraction, evaluation processes, top-down design, iteration, recursion, primitive and abstract data types, data structures (arrays, lists, sets, tables, queues, stacks, trees), algorithm analysis and orders of growth, the beginnings of an object system (with message passing), searching and sorting, inheritance and delegation, interfaces and polymorphism, and more! Students should be able to analyze code in terms of functionality, efficiency, readability, reusability, modularity, and meaning.
- Prerequisites: Either completion of FOOP (and FOOP math prerequisites) OR A or A+ in an honor’s track math class plus completion of the Summer Homework
- Homework Expectation: 4 hours per week
- District SLOs Addressed in this Course: 1, 2, 5, 6, 7
- This is an advanced placement course
- Not approved NCAA course
*Blended Learning Courses feature instruction delivered in a non-traditional schedule; possibly meeting one less time per week. This will require independent learning by students using web-based tools, along with check-in times with teachers. For additional information about Blended Learning Courses, see page 85.
Topics
Semester 1
- Java review
- Procedures, processes, and the substitution model of evaluation
- Recursion, iteration, and orders of growth
- Lists
- Higher-order procedures and lambdas
- Data abstraction
- Hierarchical data and binary search trees
- The environment model of evaluation and local state
- Mutable data
Semester 2
- Interfaces, polymorphism, inheritance, Comparable, access restrictions
- Binary search trees
- Sorting and searching
- Data structures
- Cram for the AP test
Should I take this course?
Contrary to what the course catalog claims, this class has no homework, due to the fact that some students may not have Macs at home. Ample time in class is given to do "homework" to work around this.
Grading is generally lenient; tests are done on paper and assess understanding of material rather than syntax.
This class teaches material far above the level of the AP test, which mostly covers Java syntax and code-tracing
External links
- Course resources (some may be out of date): https://paleyontology.com