Download Document 8940477

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Course #: CB40
Course Name: AP Computer Science A
Prerequisites: CB09
Grade Level: 9-12
Level of Difficulty: Average
# of Credits: 1 year – 1 Credit
The following is a Career and Technical Education (CTE) class under the Information Technology Program
AP Computer Science Units
Unit 1: Introduction to JAVA and OOP
Understand how to use the JDK in the development environment to compile and output simple JAVA Code.
Unit 2: JAVA and Computer Basics
TSW understand how software utilizes and interfaces with computer hardware.
Unit 3: More JAVA Basics
TSW solve basic mathematic problems using critical thinking skills.
Unit 4: Defining Variables, Arithmetic Expressions
TSW access the API to locate examples of proper syntax for defining variables and arithmetic expressions.
Unit 5: Conditionals and Looping
TSW code conditional statements that execute loops in a controller manner.
Unit 6: Introduction to Classes and OOP
TSW design and implement user defined classes.
Unit 7: Advanced Control Statements
TSW code conditional statements of increased difficulty and depth.
Unit 8: Arrays
TSW implement arrays in a program.
Unit 9: Advanced Operations: Strings, Arrays & Array Lists
TSW write JAVA code using more difficult programming constructs.
Unit 10: Recursion, Complexity Searching & Sorting
TSW increase the efficiency of the code by using advanced data structures and methods.
Unit 11: More on Classes, Inheritance, Interfaces, Polymorphism and Collections
TSW use inheritance to extend a class and implement an interface for a new class.
Unit 12: Case Study
TSW use all of the knowledge obtained to design and create according to case study requirements.
1
CB40 AP Computer Science–Suggested Teaching Timeline
First Semester
August
Sept.
Oct.
Second Semester
Nov.
Dec.
Jan.
Feb.
March
April
May
Unit 1: Intro to JAVA and
OOP
Unit 2: JAVA and
Computer Basics
Unit 3: More JAVA Basics
Unit 4: Defining Variables,
Arithmetic Expressions
Unit 5: Conditionals and
Looping
Unit 6: Introduction to
Classes and OOP
Unit 7: Advanced Control
Statements
Unit 8: Arrays
Unit 9: Advanced
Operations: Strings, Arrays
& Array Lists
Unit 10: Recursion,
Complexity Searching &
Sorting
Unit 11: More on Classes,
Inheritance, Interfaces,
Polymorphism and
Collections
2
Unit 12: Case Study
3
Career & Technical Education
Unit 1: Introduction to JAVA and OOP
TSW: Understand how to use the JDK in the development environment to compile and output simple JAVA Code.
Knowledge and Skills
Knowledge
 Java Development Kit (JDK)
 Integrated Development
Environment (IDE)
 Object Oriented Programming
(OOP)
Skills



Arizona CTE Standards
STANDARD 8.0 ─ CREATE A PROGRAM USING
SOFTWARE
8.1 Use a program editor to enter and modify code
8.2 Compile and execute programs
8.5 Access program and language documentation



Resources
Java Development Kit (JDK)
Integrated Development
Environment (IDE)
Access to the Oracle Site on
the Internet
Examine JDK terms and OOP
concepts: classes, objects and
methods
Identify the different IDE’s
Develop proficiency in writing
code and producing output
through the IDE
4
Career & Technical Education
Unit 2: JAVA & Computer Basics
TSW understand how software utilizes and interfaces with computer hardware.
Knowledge and Skills
Knowledge
 Subsystems of the computer:
CPU, RAM, User interfaces, I/O
Devices, network connections
and auxiliary storage
 Basic JAVA Concepts: objects,
classes, methods, and
commands
 Copyright laws, ethics and
intellectual property
Skills

Write, edit, compile and run basic
JAVA programs

Categorize subsystems by
function
Differentiate between computer
ethics, copyright laws and
intellectual property
Arizona CTE Standards
STANDARD 1.0 ─ APPLY PROBLEM-SOLVING AND
CRITICAL THINKING SKILLS TO INFORMATION
TECHNOLOGY
1.3 Use problem-solving processes
STANDARD 2.0 ─ MAINTAIN A SAFE GREEN
INFORMATION TECHNOLOGY WORK
ENVIRONMENT
2.7 Explain environmental considerations when
disposing of computer/networking components
STANDARD 3.0 ─ RECOGNIZE SECURITY ISSUES
RELATED TO INFORMATION TECHNOLOGY
3.1 Explain procedures to maintain data integrity and
security
3.2 Identify security issues related to the network,
computer hardware, software, and data
3.3 Describe computer threats and methods to protect a
computer, i.e., viruses, phishing, e-mail, social
engineering, spoofing, identify theft, and spamming
3.4 Explain concepts such as denial of service,
hacking/cracking, intrusion, detection, and prevention
STANDARD 4.0 ─ EXPLORE LEGAL AND ETHICAL
ISSUES RELATED TO INFORMATION TECHNOLOGY
4.1 Explore intellectual property rights including software
licensing and software duplication
4.2 Understand the legal and ethical issues related to
the difference between open source and proprietary
systems
4.3 Identify issues and trends affecting computers and
information privacy
4.4 Differentiate between ethical and legal uses of
information technology, i.e., data pricing, use of public
and private networks, social networking, industry-related
data, and data piracy
STANDARD 6.0 ─ DESCRIBE THE
DEVELOPMENT/EVOLUTION OF COMPUTERS AND
INFORMATION
TECHNOLOGY
6.1 Describe a computer, its components and functions
6.2 Explain the historical evolution of the computer and
computer networks



Resources
Java Development Kit (JDK)
Integrated Development
Environment (IDE)
Access to the Oracle Site on
the Internet
5
6.3 Explain how the development of computers has
impacted modern life
6.4 Discuss future trends in information technology
STANDARD 8.0 ─ CREATE A PROGRAM USING
SOFTWARE
8.1 Use a program editor to enter and modify code
8.2 Compile and execute programs
STANDARD 18.0 ─ EMPLOY OBJECT-ORIENTED
PROGRAMMING TECHNIQUES
18.1 Make a distinction between an object and a class
6
Career & Technical Education
Unit 3: Basic JAVA and General Mathematics
TSW solve basic mathematic problems using critical thinking skills.
Knowledge and Skills
Knowledge
 Binary, Hexadecimal and
decimal conversions
 Random number generator
 Program modules,
parameters and return
values
Skills




Convert Binary and
Hexadecimal
Representation to decimal
Implement a random
number generator
Import java.util.random to
generate random numbers
Design program modules to
solve problems
Arizona CTE Standards
STANDARD 1.0 ─ APPLY PROBLEM-SOLVING AND
CRITICAL THINKING SKILLS TO INFORMATION
TECHNOLOGY
1.3 Use problem-solving processes
1.4 Explain the purpose, types, and content of documentation
STANDARD 5.0 ─ DEMONSTRATE BASIC COMPUTER
MATHEMATICS REQUIRED FOR INFORMATION
TECHNOLOGY
5.1 Relate the function of general mathematics to computer
hardware
5.2 Perform binary to decimal, decimal to hexadecimal,
hexadecimal to decimal, binary to hexadecimal, and binary to
hexadecimal conversions as needed to solve problems with
hardware and software
STANDARD 11.0 ─ EMPLOY MODULARITY IN WRITING
PROGRAMS
11.1 Access standard library functions
11.2 Demonstrate the use of parameters to pass data into
program modules
11.3 Demonstrate the use of return values from modules
STANDARD 18.0 ─ EMPLOY OBJECT-ORIENTED
PROGRAMMING TECHNIQUES
18.1 Make a distinction between an object and a class
18.4 Identify appropriate statements to invoke an object's
accessor methods
Resources




Access to JAVA utilities
subset i.e. java.util.random
JDK, IDE
Pima JTED Wiki
7
Career & Technical Education
Unit 4: Defining Variables, Arithmetic Expressions
TSW access the API to locate examples of proper syntax for defining variables and arithmetic expressions.
Knowledge and Skills
Knowledge
 Different types of variables
 Arithmetic Expressions
including mixed mode
 Different types of errors i.e.
syntax, run-time, and logic
 Casting of different data
types for predictable results
Skills





Declare and use variables
of different data types
Construct mixed mode
expressions that produce
accurate results
Differentiate between
primitive data types
Correctly use JAVA subset
commands such as
assignment and casting
Categorize, identify and
correct errors in code,
including syntax, logic, and
run-time
AZ CTE Standards
STANDARD 1.0 ─ APPLY PROBLEM-SOLVING AND
CRITICAL THINKING SKILLS TO INFORMATION
TECHNOLOGY
1.3 Use problem-solving processes
STANDARD 8.0 ─ CREATE A PROGRAM USING
SOFTWARE
8.1 Use a program editor to enter and modify code
8.2 Compile and execute programs
8.5 Access program and language documentation
STAMDARD 9.0 TEST AND DEBUG TO VERIFY
PROGRAM OPERATION
9.1 Identify errors in program modules
9.3 Perform integration testing including tests within a
program to protect execution from bad input or other run-time
errors
9.4 Categorize, identify, and correct errors in code, including
syntax, logic, and run-time
STANDARD 14.0 ─ UTILIZE SIMPLE DATA TYPES AND
STRINGS
14.1 Declare numeric, Boolean, character, and string
variables
14.2 Choose the appropriate data type for a given situation
STANDARD 19.0 ─ APPLY KNOWLEDGE OF CODE TO
PERFORM RUN-TIME ERROR-HAND
19.1 Identify (catch) run-time errors and take appropriate
action
19.2 Identify the proper syntax for user-created errors
(throw errors
Resources


Online JAVA Application
Programming Interface (API)
Manual
JDK and IDE
8
Career & Technical Education
Unit 5: Conditionals and Looping
TSW code conditional statements that execute loops in a controller manner.
Knowledge and Skills
Knowledge
 Conditionals i.e. if, if/else
statements
 Looping constructs i.e.
while and for
 Flow charts for designing
decision structures
 Desk-checking code for
errors
Skills




Create conditional
statements that execute
loops in a controlled
manner
Evaluate conditional
statements
Utilize loops and
conditionals to convert flow
chart into executable code
Code and test nested loops
AZ CTE Standards
STANDARD 7.0 ─ DEMONSTRATE PROGRAM ANALYSIS
AND DESIGN
7.2 Interpret a problem statement and identify program
requirements
7.3 Apply pseudo code or a graphical representation to show
7.5 Choose appropriate data structures
STANDARD 9.0 TEST AND DEBUG TO VERIFY
PROGRAM OPERATION
9.5 Hand trace code
STANDARD 12.0 ─ UTILIZE CONDITIONAL STRUCTURES
IN WRITING PROGRAMS
12.1 Compare values using relational operators, i.e., =, >, <,
>=, <=, and not equal
12.2 Evaluate Boolean expressions
12.3 Select an appropriate decision structure for a given
situation
12.4 Select correct syntax for decision statements, i.e., if/else,
if, and switch case
12.5 Select the correct nesting syntax for decision structures
Resources


JDK and IDE
Online JAVA Notes 6.0 (free
source)
http://math.hws.edu/javano
tes/
9
Career & Technical Education
Unit 6: Introduction to Classes and OOP
TSW design and implement user defined classes.
Knowledge and Skills
Knowledge
 User defined classes
 Internal structure of
classes and objects
 Scope and lifetime of
variables
 Structure and behavior of
methods
 Constructor, accessor,
mutator, instance variable,
encapsulation, information
hiding
Skills




Design and implement a
simple class
Differentiate between public
and private access in a
class
Define a method and
declare parameters in that
method
Create constructors,
mutators and accessors
using parameters
AZ CTE Standards
STANDARD 1.0 ─ APPLY PROBLEM-SOLVING AND
CRITICAL THINKING SKILLS TO INFORMATION
TECHNOLOGY
1.3 Use problem-solving processes
STANDARD 8.0 ─ CREATE A PROGRAM USING
SOFTWARE
8.1 Use a program editor to enter and modify code
8.2 Compile and execute programs
8.3 Follow established documentation standards
STANDARD 9.0 TEST AND DEBUG TO VERIFY
PROGRAM OPERATION
9.1 Identify errors in program modules
9.2 Identify boundary cases and generate appropriate test
data
STANDARD 14.0 ─ UTILIZE SIMPLE DATA TYPES AND
STRINGS
14.1 Declare numeric, Boolean, character, and string
variables
14.2 Choose the appropriate data type for a given situation
14.3 Identify the correct syntax for constants in a program
14.4 Identify the correct syntax for initializing and modifying
variables
14.5 Identify the correct syntax for operations on strings,
including length, substring, and concatenation
STANDARD 16.0 ─ IDENTIFY WAYS TO INPUT AND
OUTPUT INFORMATION
16.1 Identify appropriate methods to input data on a console
and/or GUI
16.2 Identify correct input/output statements in a program
16.3 Choose the correct method of assigning input to
variables
16.4 Choose the correct method of outputting text with
formatting
STANDARD 18.0 ─ EMPLOY OBJECT-ORIENTED
PROGRAMMING TECHNIQUES
18.5 Change the state of an object by invoking a modifier
method
18.6 Determine the requirements for constructing new objects
by reading the API
18.7 Identify the correct syntax for an original user-defined
Resources


JDK and IDE
Online JAVA Notes 6.0 (free
source)
http://math.hws.edu/javanot
es/
10
class
18.8 Identify the correct syntax for a class that extends an
existing class
11
Career & Technical Education
Unit 7: Advanced Control Statement
TSW code conditional statements of increased difficulty and depth.
Knowledge and Skills
Knowledge
 Logical Operators
 Truth Tables
 Advanced topics with loops
i.e. nested, creating test
data, verification and
debugging
 Boolean statements
 Switch / Try-Catch
statements
Skills






Construct Boolean
statements using logical
operators
Construct nested loops
Create test data that
adequately tests the code
i.e. equivalence,
boundaries, and extremes
Hand trace the logic
Incorporate switch and trycatch statements
Process an external data
source
AZ CTE Standards
STANDARD 3.0 ─ RECOGNIZE SECURITY ISSUES
RELATED TO INFORMATION TECHNOLOGY
3.1 Explain procedures to maintain data integrity and
security
3.4 Explain concepts such as denial of service,
hacking/cracking, intrusion, detection, and prevention
STANDARD 9.0 TEST AND DEBUG TO VERIFY
PROGRAM OPERATION
9.5 Hand trace code
STANDARD 12.0 ─ UTILIZE CONDITIONAL
STRUCTURES IN WRITING PROGRAMS
12.4 Select correct syntax for decision statements,
i.e., if/else, if, and switch case
STANDARD 13.0 ─ UTILIZE REPETITIVE
STRUCTURES IN WRITING PROGRAMS
13.1 Identify various types of repetition structures
13.2 Identify the role of a loop control variable
13.3 Select the correct syntax for nested loops
13.4 Compute the values of variables involved with
nested loops
STANDARD 14.0 ─ UTILIZE SIMPLE DATA TYPES
AND STRINGS
14.1 Declare numeric, Boolean, character, and string
variables
STANDARD 17.0 ─ USE EXTERNAL DATA
SOURCES WITHIN A PROGRAM
17.1 Input data from a sequential file and database
STANDARD 19.0 ─ APPLY KNOWLEDGE OF CODE
TO PERFORM RUN-TIME ERROR-HAND
19.1 Identify (catch) run-time errors and take
appropriate action
Resources


JDK and IDE
Online JAVA Notes 6.0 (free source)
http://math.hws.edu/javanotes/
12
Career & Technical Education
Unit 8: Arrays
TSW implement arrays in a program.
Knowledge and Skills
Knowledge
 Basic and multi-dimensional
arrays
 Parallel arrays
 Arrays and methods
Skills





AZ CTE Standards
STANDARD 15.0 ─ IMPLEMENT ARRAYS IN
PROGRAMS
15.3 Access elements within an array
15.4 Manipulate data stored in an array
15.5 Search and sort data in an array
Resources


JDK and IDE
Online JAVA Notes 6.0 (free source)
http://math.hws.edu/javanotes/
Declare and initialize arrays
Determine when parallel
arrays are best used
Access elements within an
array
Manipulate data stored in an
array
Differentiate how to control
arrays of primitive data types
and reference variables
13
Career & Technical Education
Unit 9: Advanced Operations: Strings, Arrays, & ArrayLists
TSW write JAVA code using more difficult programming constructs.
Knowledge and Skills
Knowledge
 Strings and their methods
 Linear and binary search
 Selection, insertion and bubble
sort
 Insertions and removals in arrays
and arraylists
Skills





Use the Arraylist class
Solve problems by using
appropriate syntax for operations
on strings, including length,
substring, and concatenation
Determine which search is most
efficient in a given situation
Evaluate results to determine the
most efficient sorting algorithm
AZ CTE Standards
STANDARD 1.0 ─ APPLY PROBLEMSOLVING AND CRITICAL THINKING
SKILLS TO INFORMATION
TECHNOLOGY
schedule information technology tasks
1.3 Use problem-solving processes
STANDARD 5.0 ─ DEMONSTRATE
BASIC COMPUTER MATHEMATICS
REQUIRED FOR INFORMATION
TECHNOLOGY
5.1 Relate the function of general
mathematics to computer hardware
STANDARD 8.0 ─ CREATE A PROGRAM
USING SOFTWARE
8.1 Use a program editor to enter and
modify code
8.2 Compile and execute programs
STANDARD 14.0 ─ UTILIZE SIMPLE
DATA TYPES AND STRINGS
14.5 Identify the correct syntax for
operations on strings, including length,
substring, and concatenation
STANDARD 15.0 ─ IMPLEMENT ARRAYS
IN PROGRAMS
15.1 Identify the correct syntax for
declaring and initializing arrays of simple
data types
15.2 Identify the correct syntax for
declaring and initializing user-defined data
types
15.3 Access elements within an array
15.4 Manipulate data stored in an array
15.5 Search and sort data in an array
15.6 Identify correct syntax for defining and
using two-dimensional arrays
Resources



JDK and IDE
API
Online JAVA Notes 6.0 (free source)
http://math.hws.edu/javanotes/
14
Career & Technical Education
Unit 10: Recursion, Complexity, Searching and Sorting
TSW increase the efficiency of the code by using advanced data structures and methods.
Knowledge and Skills
Knowledge
 Recursion
 Complexity analysis
 Quicksort
 Merge sort
 Binary search
Skills




Create a recursive method
to solve a problem
Differentiate between
recursive and iterative
solutions to a problem
Code the merge sort to
solve a problem
Compare the quicksort and
merge sort
AZ CTE Standards
STANDARD 10.0 ─ WRITE CODE TO
PERFORM ARITHMETIC CALCULATIONS
10.1 Identify and correctly use arithmetic
operations applying the order of operations with
respect to programming
10.2 Interpret and construct mathematical
formulas
STANDARD 15.0 ─ IMPLEMENT ARRAYS IN
PROGRAMS
15.3 Access elements within an array
15.4 Manipulate data stored in an array
15.5 Search and sort data in an array
Resources



JDK and IDE
API
Online JAVA Notes 6.0 (free source)
http://math.hws.edu/javanotes/
15
Career & Technical Education
Unit 11: Inheritance, Interfaces, Polymorphism and Collections
TSW use inheritance to extend a class and implement an interface for a new class.
Knowledge and Skills
Knowledge
 Inheritance
 Abstract classes
 Interfaces
 Polymorphism
 Collections
Skills





Use inheritance to extend a class
Create and extend an abstract
class
Understand polymorphism and
override methods in a super class
when appropriate
Implement an interface when
creating a new class
AZ CTE Standards
STANDARD 8.0 ─ CREATE A PROGRAM
USING SOFTWARE
8.1 Use a program editor to enter and modify
code
8.2 Compile and execute programs
8.3 Follow established documentation standards
8.5 Access program and language
documentation
STANDARD 18.0 ─ EMPLOY OBJECTORIENTED PROGRAMMING TECHNIQUES
18.1 Make a distinction between an object and a
class
18.2 Distinguish between is-a, has-a, and class
relationships
18.3 Exemplify objects from existing classes
18.4 Identify appropriate statements to invoke an
object's accessor methods
18.5 Change the state of an object by invoking a
modifier method
18.6 Determine the requirements for constructing
new objects by reading the API
18.7 Identify the correct syntax for an original
user-defined class
18.8 Identify the correct syntax for a class that
extends an existing class
Resources



JDK and IDE
API
Online JAVA Notes 6.0 (free source)
http://math.hws.edu/javanotes/
STANDARD 19.0 ─ APPLY KNOWLEDGE OF
CODE TO PERFORM RUN-TIME ERRORHAND
19.1 Identify (catch) run-time errors and take
appropriate action
19.2 Identify the proper syntax for user-created
errors (throw errors)
16
Career & Technical Education
Unit 12: Case Study
TSW use all of the knowledge obtained to design and create according to case study requirements.
Knowledge and Skills
Knowledge
 Advanced JAVA concepts
and programming solutions
Skills





Run the case study and
analyze output
Observe and experiment
with the new case study
Research the existing
classes in the case study
API
Analyze the case study
subset
Utilize appropriate testing
methods
AZ CTE Standards
STANDARD 1.0 ─ APPLY PROBLEM-SOLVING AND
CRITICAL THINKING SKILLS TO INFORMATION
TECHNOLOGY
1.1 Describe methods of establishing priorities
1.2 Prepare a plan of work and schedule information
technology tasks
1.3 Use problem-solving processes
1.4 Explain the purpose, types, and content of
documentation
STANDARD 7.0 ─ DEMONSTRATE PROGRAM
ANALYSIS AND DESIGN
7.1 List the steps in a program development cycle
7.2 Interpret a problem statement and identify program
requirements
7.3 Apply pseudo code or a graphical representation to
show the structure of a program or module
7.4 Determine input and output
7.5 Choose appropriate data structures
7.6 Apply stepwise refinement to improve design
7.7 Develop a testing plan
7.8 Choose appropriate documentation for a module
7.9 Use essential object analysis and design concepts
Resources
17
COMMON CORE ENGLISH LANGUAGE ARTS CONNECTIONS
18
COMMON CORE ENGLISH LANGUAGE ARTS CONNECTIONS
19