[go: up one dir, main page]

0% found this document useful (0 votes)
36 views11 pages

Edhesive AP Computer Science A Syllabus 19 20

Edhesive_AP_Computer_Science_A_Syllabus_19_20

Uploaded by

jasoncxq666
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views11 pages

Edhesive AP Computer Science A Syllabus 19 20

Edhesive_AP_Computer_Science_A_Syllabus_19_20

Uploaded by

jasoncxq666
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Course Syllabus: Advanced Placement® Computer

Science A
Computer science embraces problem solving, hardware, algorithms and perspectives that help people utilize
computers to solve real-world problems in everyday life. The AP Computer Science A course introduces students
to computer science with fundamental topics that include problem solving, design strategies and methodologies,
organization of data (data structures), approaches to processing data (algorithms), analysis of potential solutions,
and the ethical and social implications of computing. The course emphasizes both object-oriented and imperative
problem solving and design. These techniques represent proven approaches for development solutions that can
scale up from small, simple problems to large, complex problems.

By the end of this course, students will be able to:

● Design and implement computer-based solutions to problems.

● Use and implement commonly used algorithms and data structures.

● Develop and select appropriate algorithms and data structures to solve new problems.

● Write solutions fluently an object-oriented paradigm

● Write, run, test and debug solutions in the Java programming language

● Read and understand programs consisting of several classes and interacting objects

● Read and understand a description of the design and development process

● Understand the ethical and social implications of computer use.

Edhesive’s course is approved by the College Board as an authorized AP® Computer Science A course.

Prerequisites
This course requires a strong foundation in English and mathematics. Students must be comfortable with
functions and the concepts found in the uses of functional notation. Prior computer programming experience is not
required.

Teaching Strategies
The course will consist of video lectures, daily programming exercises, longer coding assignments, and regular
quizzes and exams. Students will also participate in online discussion forums. By the end of the course, students
will be well prepared to take the AP® Computer Science A exam.

Each lesson listed below includes practice exercises, including shorter coding problems. Well over 20 hours of
instructional time is spent in hands-on coding using the course coding exercises, lab assignments and AP labs.
Students participate regularly in a moderated discussion forum that provides support for lesson material and also
introduces discussions of the ethical implications of programming, including copyright law, software piracy,
intellectual property, privacy, and network reliability.

Textbook
This course will reference a free online textbook.

Eck, David J. "Introduction to Programming Using Java." Hobart and Williams Smith Colleges, 17 May

2013. Web. 09 July 2013.

2019-20 AP Computer Science A © Edhesive


Curricular Requirements
Curricular Requirements Page(s)

CR1 The course teaches students to design and implement computer-based 3 - 11


solutions to problems.

CR2a The course teaches students to use and implement commonly used 5, 6, 9, 10
algorithms.

CR2b The course teaches students to use commonly used data structures. 5 - 10

CR3 The course teaches students to select appropriate algorithms and data 5, 6, 9, 10
structures to solve problems.

CR4 The course teaches students to code fluently in an object-oriented paradigm 3 - 11


using the programming language Java.

CR5 The course teaches students to use elements of the standard Java library 3 - 11
from the AP Java subset in Appendix A of the AP Computer Science A
Course Description.

CR6 The course includes a structured lab component comprised of a minimum of 3 - 11


20 hours of hands-on lab experiences.

CR7 The course teaches students to recognize the ethical and social implications 1
of computer use.

2019-20 AP Computer Science A © Edhesive


Course Outline

Unit 1: Introduction to Java


This unit introduces students to the basics of programming in Java. Emphasis is on correct programming style
and formatting.

Duration:
● 4 Weeks

Objectives and Topics:


● Basic Input and Output

● Variables

● Number Operations including +, -, *, /, % and the AMth.java functions: static int abs(int x), static double
abs(double x), static double pow(double base, double exponent), static double sqrt(double x), static
double random() // returns a double in the range [0.0, 1.0)

● Data Types

● Comments and Program Design

● Error Correction

Lessons:
● Lesson 1: Output in Java

● Lesson 2: Escape Characters

● Lesson 3: User Input and Variables

● Lesson 4: Data Types

● Lesson 5: Number Calculations

● Lesson 6: Numeric Casts

● Lesson 7: Modular Division

● Lesson 8: String and Number Output

● Lesson 9: Math Functions

● Lesson 10: Round-off Error

Assessments and Programming Labs:


● Assignment 1: Movie Ratings

● Assignment 2: Time Converter

● AP-Style Multiple-Choice Practice Questions

● Quiz 1 and Exam 1

2019-20 AP Computer Science A © Edhesive


Unit 2: Conditionals and Loops
This unit introduces some of the basic constructs of programming, including conditionals and
loops. In addition, students are introduced to debugging techniques and tracing code.
Duration:
● 3 Weeks

Objectives and Topics:


● If Statements

● Boolean Operations

● DeMorgan's Law

● Short Circuit Evaluation

● While Loops

● Java constants Integer.MIN_VALUE and Integer.MAX_VALUE

Lessons:
● Lesson 11: Simple if's

● Lesson 12: If’s - Making Decisions

● Lesson 13: Else

● Lesson 14: Booleans and Truth Tables

● Lesson 15: Short Circuit Evaluation

● Lesson 16: DeMorgan’s Law

● Lesson 17: While Loops

● Lesson 18: Tracing Code and Counting Iterations

● Lesson 19: More Loops

● Lesson 20: Flag Variables

Assessments and Programming Labs:


● Assignment 3: Crack the Code!

● AP-Style Multiple-Choice Practice Questions

● Quiz 2 and Exam 2

2019-20 AP Computer Science A © Edhesive


Unit 3: Strings and One-Dimensional Arrays
In this unit students shift from acquiring programming techniques to working with classes and algorithms. String
and arrays are used as examples of object data types. Some of the standard algorithms on data structures are
introduced, such as finding a max and min, and transversals, insertion and deletion with arrays.

Duration:
● 5 Weeks

Objectives and Topics:


● Constructors

● Concatenation

● For Loops

● String methods: equals (), charAt( ), toUpperCase(), substring( )

● One-Dimensional Arrays

● Transversals, Insertion and Deletion with Arrays

● Arrays of Objects

Lessons:
● Lesson 21: Strings as Class Types

● Lesson 22: String functions

● Lesson 23: 1-D Arrays

● Lesson 24: The for loop

● Lesson 25: Algorithms

● Lesson 26: Algorithms on Arrays

● Lesson 27: Algorithms - Searching

● Lesson 28: Arrays of Strings

● Lesson 29: Arrays of Strings accessing Methods

● Lesson 30: Process Array of Strings

● Lesson 1011: Binary

Assessments and Programming Labs:


● Assignment 4: String Shortener

● Assignment 5: Array Statistics

● Assignment 6: Merge Arrays

● AP-Style Multiple-Choice Practice Questions

● Quiz 3 and Exam 3

2019-20 AP Computer Science A © Edhesive


Unit 4: Methods
In this unit students begin to write their own methods. An emphasis is placed on testing and program design.
Recursion is introduced and direct comparisons between iteration and recursion are made.

Duration:
● 4 Weeks

Objectives and Topics:


● Void Methods

● Methods that Return a Single Value

● Overloading Methods

● Parameter Passing

● Primitive vs. Object Parameters

● Recursion

Lessons:
● Lesson 31: Void Methods

● Lesson 32: Parameters

● Lesson 33: Parameters - Primitive vs Class

● Lesson 34: Return Methods

● Lesson 35: Overloaded Methods

● Lesson 36: Recursion - Part 1

● Lesson 37: Recursion - Part 2

Assessments and Programming Labs:


● Assignment 7: Methods Sample Platter

● AP-Style Multiple-Choice Practice Questions

● Quiz 4 and Exam 4

2019-20 AP Computer Science A © Edhesive


Unit 5: User-Defined Classes
This unit begins the second term. Students transition from using classes and objects to designing and coding their
own classes. This unit is also structured to serve as a review of the topics from Unit 1 as all of the programming
techniques used in Term 1. In particular, basic arrays and ArrayLists are compared and contrasted. This unit also
introduces the first of the AP Labs: Magpie that facilitates a discussion and reflection of the social, cultural and
ethical implications of chatbots and artificial intelligence.

For the coding exercises students transition to creating classes and data structures from scratch, a skill that is
assessed in the lab assignments.

Duration:
● 4 Weeks

Objectives and Topics:


● ArrayList Class

● java.util.List interface

● Constructors

● Encapsulation via private variables and accessor and mutator methods

● Private/Public

● Writing equals() toString() methods

● Static Variables and Methods

● Wrapper Classes

Lessons:
● Lesson 1: ArrayList

● Lesson 2: The for each Loop

● Lesson 3: Classes - The Basics and Encapsulation

● Lesson 4: Constructors

● Lesson 5: Static vs. Instance

● Lesson 7: Inheritance

● Lesson 6: AP Exam Review

Assessments and Programming Labs:


● Assignment 1: Fraction

● Assignment 2: Boxcar & Freight Train

● AP Lab: Magpie

● AP-Style Multiple-Choice Practice Questions

● AP-Style Free-Response Questions (FRQ) Practice

● Quiz 1 and Exam 1

2019-20 AP Computer Science A © Edhesive


Unit 6: Advanced Classes
In this unit students continue to work with class design by covering the more advanced topics including
polymorphism, inheritance, abstraction and interfaces. Students also continue working with the AP Labs by
working through the Elevens student guide.

Duration:
● 5 Weeks

Objectives and Topics:


● Inheritance

● This vs. Super

● Abstract Classes

● Interfaces including the List and Comparable Interface

Lessons:
● Lesson 7: Inheritance

● Lesson 8: Inheritance Overriding Methods

● Lesson 9: Abstract Classes

● Lesson 10: Is-A and Has-A Relationships

● Lesson 11: Interfaces

● Lesson 12: Wrapper Classes

Assessments and Programming Labs:


● Assignment 3: Ultimate Frisbee

● Assignment 4: Fraction Comparable

● AP Lab: Elevens

● AP-Style Multiple-Choice Practice Questions

● AP-Style Free-Response Questions (FRQ) Practice

● Quiz 2 and Exam 2

2019-20 AP Computer Science A © Edhesive


Unit 7: Algorithms - Searching and Sorting
This unit is designed to thoroughly cover the standard algorithms required on the AP Exam along with reviewing
some of the topics from Term 1 related to arrays. Searching algorithms are performed on both ordered and
unordered lists.

Duration:
● 3 Weeks

Objectives and Topics:


● Sequential and Binary Searches

● Selection, Insertion and Merge sort

Lessons:
● Lesson 13: Algorithms

● Lesson 14: Linear Search

● Lesson 15: Selection Sort

● Lesson 16: Insertion Sort

● Lesson 17: Binary Search

● Lesson 18: Merge Sort

Assessments and Programming Labs:


● Assignment 5: Game Wheel

● Assignment 6: Sort Team Directory

● AP-Style Multiple-Choice Practice Questions

● Quiz 3 and Exam 3

2019-20 AP Computer Science A © Edhesive


Unit 8: Two-Dimensional Arrays
This unit covers two-dimensional arrays and covers the AP Lab: Pictures.

Duration:
● 2 Weeks

Objectives and Topics:


● Two-Dimensional Arrays

● Algorithms on Two-Dimensional Arrays

Lessons:
● Lesson 19: 2-D Arrays

● Lesson 20: 2-D Array Algorithms

● Lesson 21: Tracing Code

Assessments and Programming Labs:


● Assignment 7: Battleship

● AP Lab: Picture

● AP-Style Multiple-Choice Practice Questions

● AP-Style Free-Response Questions (FRQ) Practice

● Quiz 4 and Exam 4

2019-20 AP Computer Science A © Edhesive


Unit 9: AP Exam Review
Students will be given a diagnostic exam and practice AP problems to prepare them to take the AP Computer
Science exam. A series of review videos are provided covering the major topics on the AP Exam. The goal of the
unit is to allow students to synthesize the material covered throughout the year and review any areas that could
use strengthening.

Duration:
● 3 Weeks

Objectives and Topics:


● AP Exam Review

Review Lessons:
● Programming Fundamentals

● Data Structures

● Logic

● Algorithms

● Object-Oriented Programming

● Recursion

● Software Engineering

Assessments and Programming Labs:


● Diagnostic Exam

● Released AP Exam Free-Response problems

2019-20 AP Computer Science A © Edhesive

You might also like