Computer Science
Schedule |
Topics |
Activities |
Programs |
Introduction and Welcome
|
AP Central , Teacher resource search
|
Examine the Standard Java library from the AP Java subset in Appendix A of the AP Computer Science A Course Description. |
|
Compilers, IDE, textbooks?
|
Install JDK compiler and an IDE or your choice |
|
|
|
Audit, Preliminary Resources, and Course and Exam Description |
Examine four ( 4) Sample Audit Syllabi |
|
Online URLs
|
Textbooks, articles, news.
|
|
|
Diversity, reaching out to underrepresented populations, expanding opportunities.
|
FIRST, NASA videos, NASA for students
|
Differentiated Instruction Tutoring Extra Credit Pair Programming Review Hands-on Labs Program Tests |
|
What’s new for next year? |
Exemplar Labs
|
|
|
AP Tips and Strategies
How to teach AP and prepare for the AP test.
|
Sharing teaching strategies CS team problems Nifty assignments Pair programming Course Content Role-playing
Teaching strategies AP Practice Exams AP Review (timing and tips) |
|
|
The Test |
APCS Test and scoring Free-response and MC Practice Exam |
|
|
Objects
String class
Primitive Data
I/O |
Simple data types (int, boolean, double, char); declarations (variable and constant); assignment and arithmetic expressions; console output (System.out.print/println); primitive types vs. objects; using classes to create objects; references; Java library classes (String, Integer, Double, Math, Scanner); and creating random numbers. |
|
Scrambled String (2014 AP Computer Science A Exam, Free-Response Question 1, AP Central®)
|
Data structures |
1D, 2D arrays creation, insertions, deletions, traversals, algorithms |
|
|
Searching through data structures
Use logical operators to make programs more robust
Construct truth tables
Sorting data |
Search and comparison algorithms (sequential and binary); choosing appropriate data representation and sorting algorithms (selection, merge, and insertion sorts) |
control statements, counter, infinite loop, iteration, nested loops, logical operators, truth tables
|
|
LOOPING and CONDITIONALS
Conditional Program Statements
Sequential & conditional decision-making processes
Boolean expressions |
Software Development Process; control flow (sequential and conditional); Boolean expressions, laws, and truth tables; using conditional expressions in if, if-else, and nested if statements; and More operators (increment, decrement, compound assignment). |
Declaring and initializing arrays
• Manipulating arrays with loops
• Creating parallel arrays |
|
Iterative program statements
Loops and controls
|
Flow of control (iteration); using while and for statements; infinite and nested loops; |
Manipulate arrays using loops and array indices • Use the physical and logical size of an array together to guarantee they do not go beyond the bounds of their array by identifying the boundary cases and using test data to verify results • Understand how parallel arrays can be useful when processing certain types of data • Work with arrays of primitive data types as well as arrays of objects while understanding the difference between the two types of data • Understand when to choose an array to represent data instead of an ArrayList |
|
Basic analysis of algorithms |
Informal comparison and discussion of running times and exact calculation of statement execution counts. |
|
|
Ethical and social implications of Computer use |
The responsible use of computer systems (system reliability, privacy, intellectual property, legal issues, and social and ethical ramifications of computer use. |
Monday |
Topics |
Activities |
Programs |
PPT APSI 2015 Topic Outline pg. 5 Program and class design-what’s Testable? pg. 8-9
APSI description 2014
APSI Syllabus 2014
Java Subset Testable Topics pg. 59
Programming MC questions: 25 Sample pg. 15 40 Practice Exam pg. 130
Sample MC Question classification Practice Exam MC Question classification
Person.java Write MC_Qst34.java (Practice exam pg. 161) MC_Qst1.java MC_Qst2.java MC_Qst4.java MC_Qst5.java MC_Qst6.java MC_Qst8.java MC_Qst9.java
Lab Requirements pg. 12 Exemplar Lab: Eleven’s Lab pg. 307 Activity Overview pg. 282
Activity 1: design and create a Card class Activity 2: Initial design of Deck class Activity 3: Shuffling Cards in a Deck Activity 4: Adding a Shuffle method to Deck class
4 Sample Exemplar-lab type mc questions pg. 296 |
Anatomy of classes, constructors, and methods; declarations (class, interface, instance variable, method, and parameter); method overloading; method decomposition; object relationships; reasoning about programs (assertions, pre- and post-conditions); data abstraction and encapsulation; and designing and implementing a class. |
Write a Person Class
Write code from Sample and Practice Exam MC questions
Code writing and completion
Students will write Practice exam Q9. Pg. 137
Eleven’s LAB
|
Exemplar Lab Activities |
Tuesday |
Topics |
Activities |
Programs |
FR exam scoring guidelines pg. 370-371 2013 Q1 SongList
MC_Qst14.java MC_Qst24.java MC_Qst31.java Dog.java Underdog.java
Exemplar Lab: Magpie Chatbot Pg. 197
Activity 1: Read pg. 211 Activity 2: pg. 212 Activity 3: using Java API and Javadocs; find keywords in a String with a while loop Activity 4: modify responses Activity 5: use an array (hw)
2 Exemplar-type String mc questions Pg. 200 |
FR question solution
Recursion
Intro to Inheritance |
Write code solutions For selected Sample and Practice Exam mc questions
Code writing and completion
Magpie Lab |
Lab activities |
Wednesday morning |
Topics |
Activities |
Programs |
Practice Exam Question 29 Pg. 156 Practice Exam Question 22 Pg. 149 Practice Exam Question 23 Pg. 151 Practice Exam Question 26 Pg. 154 Practice Exam Question 27 Pg. 155 Practice Exam Question 28 Pg. 155 Answer Practice exam Q32 pg.159 |
Code trace a loop
Inheritance
Abstract classes
Enhanced for loop on an array of ints |
Write abstract class With inheritance |
|
Classes with Arrays |
Examine Practice Exam Q2 Mountain |
Q3 Temperature Grid (2d array) |
|
Classes with ArrayLists |
Write classes |
Write Practice Exam Q4 ScoreInfo and Stats classes |
Examine Picture LAB |
Thursday |
Topics |
Activities |
Programs |
Write classes and subclasses that implement an interface.
|
Interfaces |
Write an Eatable interface-
public String howToEat(); public void showObject(); |
|
|
interfaces and abstract classes; Java library classes (Object); reading and understanding class specifications and relationships among classes (“is-a” and “has-a”); understanding and implementing a given class hierarchy; extending a given class using inheritance; and applying functional decomposition. |
Design and create a class called Animal, with subclasses Tiger, Chicken, and Elephant. Since chicken is eatable, implement the Eatable interface for the Chicken class. Create a class called Fruit, with subclasses Apple and Orange. Since all fruits are eatable, implement the Eatable interface for the Fruit class. |
|
Friday |
Topics |
Activities |
Programs |
Write Stats class |
Static methods |
Write calculateModes() Write kthDataValue() |
|
Complete class |
array |
Complete methods to find local Max and Mins in an array |
|
Wrap up questions |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|