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 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: Completion of FOOP or FOOP Honors (and FOOP math prerequisites)
- 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
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