Please sign in to edit, using the button at the upper right corner of the page.
If you would like your name changed, contact Mg27713.


Difference between revisions of "AP Computer Science A"

From Gunn Wiki
Jump to navigation Jump to search
(infobox)
 
(7 intermediate revisions by 2 users not shown)
Line 8: Line 8:
  
 
'''AP Computer Science A''' is a [[Computer Science (department)|computer science]] course. Entering requires either [[FOOP]] to be completed, or concurrent enrollment in [[Analysis H]] while completing summer homework.
 
'''AP Computer Science A''' is a [[Computer Science (department)|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 <u>Summer Homework</u>
 +
* 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
 +
<nowiki />*''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 ==
 
== External links ==
* [https://paleyontology.com/AP_CS/ Course calendar]
+
* Course resources (some may be out of date): https://paleyontology.com

Latest revision as of 00:48, 10 November 2024

Not to be confused with AP Computer Science Principles
AP Computer Science A
DepartmentCTE
LengthYear
Credit typeWeighted
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

  1. Java review
  2. Procedures, processes, and the substitution model of evaluation
  3. Recursion, iteration, and orders of growth
  4. Lists
  5. Higher-order procedures and lambdas
  6. Data abstraction
  7. Hierarchical data and binary search trees
  8. The environment model of evaluation and local state
  9. Mutable data

Semester 2

  1. Interfaces, polymorphism, inheritance, Comparable, access restrictions
  2. Binary search trees
  3. Sorting and searching
  4. Data structures
  5. 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