COURSE OUTCOMES

QSI AP COMPUTER SCIENCE A

(SECONDARY)

(July 2017)

QSI Secondary AP Computer Science A course is for the students who are planning to study in Computer Science majors or other technical fields such as engineering, electronic engineering or mechanical engineering.

This course emphasizes programming methodology, procedural abstraction, and in-depth study of algorithms, data structures, and object oriented programming, as well as three structured labs components provided by College Board for minimum of 20 hours of hands-on lab experiences integrated throughout the course. Instruction also includes preparation for AP Computer Science A exam which is in May.

This course is divided into 8 essential units and 4 selective units. The outcomes are designed to be taught during class periods of a minimum of 45 minutes, five periods per week. To complete this course, students should master the 8 essential units and 2 selective unit. It is desired that each student will have their own computer with access to the internet. Collected labs may be available with supporting documentation as a compressed file to aid in access while using less bandwidth.

Suggested Materials:

Fundamentals of Java- AP Computer Science Essentials , Kenneth Lambert, Martin Osborne, 2011 (most recent edition strongly recommended) , Course Technology, Boston MA ISBN-13: 978-0-538-74492-8 ISBN-10: 0-538-74492-8

Be Prepared for the AP Computer Science Exam in JAVA, Maria Litvin, Gary Litvin, 2013 Skylight Publishing, Andover MA

ISBN: 978-0-9824775-2-6

IMACS.com

*this program has been tested and is robust with built in test questions and projects.

Codingbat.com

Practice materials and for Java coding.

An outline of the Essential and Selective units and descriptions follow;

Essential Units:

E01 – Computer and Java Basics, (Defining Variables, and Arithmetic Expressions)

E02 – Loops, Control Statements, and Improving User Interface

E03 – Introduction to Defining Classes

E04 – Magpie Lab

E05 – Picture Lab

E06 – Arrays and 2D Arrays

E07 – Search and Sort Algorithms

E08 – Recursion

Selective Units:

S01 – Elevens Lab

S02 – Review and Summaries (Previous AP Test Questions and Answers)

S03 – Computer Applications/ Creating for the World

S04 – Collections, Multithreading, and Non- Linear Data Structures

Unit Descriptions:

E01 – Computer and Java Basics, Defining Variables, and Arithmetic Expressions

In this unit, students will learn computer basics such as what are components of a computer, how computer process data including binary, decimal and hexadecimal system, how to use compiler to change source code to object code, concept and functions of input and output. Students will design and implement simple solutions to problems using Java language. The student will also discuss computer ethics with looking at the school’s acceptable user policy. Students will discuss about making copies of copyrighted program and giving it away for free. Students will how computers handle arithmetic expressions and to name and establish variables.

E02 – Loops, Control Statements, and Improving User Interface

In this unit, students will learn how to make and use control statements to automate tasks. Students will learn use Boolean, if, else, and while statements, to automate operations within programs to run while conditions are true. Students will also use control statements to modify media (audio, or visual) by identifying and transforming data retrieved from source material.

E03 – Introduction to Classes

In this unit, students will delve into the mechanics of objects. Students will understand the structure of classes, and learn how to modify, and create their own classes. Students will extend their understanding of control statements to automate tasks. Students will use Boolean expressions using logical operators AND, OR, and NOT. Students will expand their understanding of IF statements and understand the logic of nested IF statements.

E04 – Picture Lab

In this lab you will be writing methods that modify digital pictures. In writing these methods you will learn how to traverse a two-dimensional array of integers or objects. You will also be introduced to nested loops, binary numbers, interfaces, and inheritance..

E05 – Magpie Lab

In this unit, students will learn about chatbots, and using if statements and methods to create selective response iterations. Students will also apply their understanding of the classes and code in this lab, to create their own modifications, and a simplistic game working with similar attributes to a chatbot.

E06 – Arrays and 2D Arrays

In this unit, students will develop an understanding of arrays and 2D arrays. Students will learn how to access, search, and sort arrays to acquire data.

E07 – Search and Sort Algorithms

In this unit, students will learn to about the various ways to search and sort arrays. Students will apply different methods of searching arrays, and sorting array objects to find the most efficient way to sort different types of data.

E08 – Recursion

In this unit, students will develop an understanding of the concept of recursion. Using recursion, students will streamline programs with less code but still accomplishing the same task.

Selective Units:

S01 – Elevens Lab

The Elevens lab is a sample game of 21. The lab focuses on the ability to manipulate a set of variables and analyzing the results

S02 – Review and Summary

Preparation for the AP exam is the focus of this unit, specifically, students will review information learned over the course of the year and HAND WRITE code and answers to practice questions.

S03 – Computer Applications/ Creating for the World

This unit focuses on emerging technologies, other programming languages, and creating a useful application.

S04 – Collections, Multithreading, and Non-Linear Data Structures

In this unit, students will learn about data collections, and develop an understanding of the concept of databases.

1

QSI AP COMPUTER SCI A SEC CO

Copyright © 1988-2017