MA 3185: Advanced Placement Computer Science A

Subject Area
Credits 1
Years
1
Level
High School

This Java-based, introductory college-level course is geared toward a more object-oriented style of programming. The course meets the requirements set forth in the syllabus of the College Board. Topics include computer systems, object-oriented program design concepts and implementation, classes, strings, arrays, recursion, data structures and analysis of algorithms. Standard Java classes and methods will be used.

Storyboard

AP Computer Science A

Essential Questions:  How do we design and implement robust and efficient programs? How does the process of testing, debugging, and refining code contribute to more reliable and functional programs?

Title

Control Structures

1

Organization Structures

4

Advanced Applications

4

Focus of the Story

How do control structures enable programmers to control the flow of execution and make decisions within their programs? Our journey begins with learning the basic control structures that allow programmers to create dynamic programs that make decisions based on conditions, and execute code selectively. Students will develop flexible, efficient, and adaptable programs for different situations that utilize conditional branching and repetition.

How do organizational structures facilitate the organization, modularity, and reusability of code, enabling developers to create well-structured and maintainable software systems? Next, we utilize organizational structures to create well-structured and maintainable software systems by leveraging classes, objects, and packages effectively that are easier to understand, maintain, and evolve.

How can advanced applications enhance the functionality, performance, and connectivity of software systems, enabling developers to build robust and scalable applications? We conclude by expanding the capabilities of Java programs, allowing developers to build applications that can handle complex tasks and leverage system resources efficiently.

Transfer Goals

Explore: Make sense of the world logically by asking questions and making connections through inquiry.

Analyze: Investigate, formulate, and construct viable arguments by taking risks, persevering, and thinking flexibly.  

Apply: Utilize effective strategies, processes, and tools to model new situations and/or real-world experiences.

Learning Targets

  • I can demonstrate proficiency in utilizing arithmetic operations and variables to perform calculations and store values.
  • I can effectively write modular and reusable code by implementing method signatures, return types, and parameters.
  • I can create programs that utilize branching logic through conditional statements and probability-based operations.
  • I can utilize iteration constructs such as loops (for, while) to perform repetitive tasks and solve problems efficiently.
  • I can design and implement classes in Java  through the principles of object-oriented programming.
  • I can utilize 1D arrays to store, order, and search collections of related data, 
  • I can utilize ArrayLists to store, manipulate, and dynamically manage collections of objects. 
  • I can extend my understanding of arrays to incorporate two-dimensional data structures.
  • I can effectively apply the concept of inheritance and class hierarchies to create specialized classes that promote code reusability, modularity, and extensibility.
  • I can solve complex problems in programming by utilizing recursion, such as calculating mathematical sequences. 
  • I can design and develop graphical user interfaces (GUIs), in order to create interactive and visually appealing applications that enhance user experience and functionality.

AP Computer Science A: Assessment Matrix

Title

Unit

Rich Tasks:

Learning Target

 

Unit 1:  Primitive Types

Money Management and Shipping Efficiency

Unit 1 Progress Check

  • I can demonstrate proficiency in utilizing arithmetic operations and variables to perform calculations and store values.

Unit 2:  Using Objects

My Shape, Round Things,

String Extraction

Unit 2 Progress Check

  • I can effectively write modular and reusable code by implementing method signatures, return types, and parameters.

Unit 3:  Boolean Expressions and If Statements

Concert Tickets

PowerBall Lottery

Unit 3 Progress Check

  • I can create programs that utilize branching logic through conditional statements and probability-based operations.

Unit 4:  Iteration

Grades and Concert Tickets Revisited

Unit 4 Progress Check

  • I can utilize iteration constructs such as loops (for, while) to perform repetitive tasks and solve problems efficiently.

 

Unit 5:  Writing Classes

College Student, Fan

Unit 5 Progress Check

  • I can design and implement classes in Java through the principles of object-oriented programming.

Unit 6:  Arrays

Unit Test, Sales Data

Unit 6 Progress Check

  • I can utilize 1D arrays to store, order, and search collections of related data,

Unit 7:  ArrayLists

Remove Duplicates

ArrayList Operations

Student ArrayList

Unit 7 Progress Check

  • I can utilize ArrayLists to store, manipulate, and dynamically manage collections of objects. 

Unit 8:  2D Arrays

Random 2D Arrays

Theater Seating

  • I can extend my understanding of arrays to incorporate two-dimensional data structures.

 

Unit 9:  Inheritance

Person Inheritance

Compare Players

Unit 8 Progress Check

  • I can effectively apply the concept of inheritance and class hierarchies to create specialized classes that promote code reusability, modularity, and extensibility.

Unit 10:  Recursion

CSAwesome Online Text

10.1.6 -  Tracing Challenge

10.2.3 - Tracing Challenge

Unit 9 Progress Check

  • I can solve complex problems in programming by utilizing recursion, such as calculating mathematical sequences.

Post AP Exam Unit:  GUIs

GUI Final Project

  • I can design and develop graphical user interfaces (GUIs), to create interactive and visually appealing applications that enhance user experience and functionality.