Syllabus Cox AP CS A 2009-2010
1st Week
Main Topics
What is computer science? What do computer scientist do? What is a computer? What do computers understand? What is a binary number? How do you convert from decimal to binary, octal, or hexadecimal? How do you convert from binary, octal, or hexadecimal to decimal? How are negative numbers stored in a computer? How are floating point numbers stored in a computer? How are characters (like 'A') stored in a comptuer? What is an algorithm? What is a program? What is a programming language? Why don't we use English to program computers? Why should you take computer science?
Reading: Chapter 1 in Fundamentals of Java 3rd Edition.
Additional Links:
Hexadecimal values for html colors are at https://cisco.hosted.jivesoftware.com/community/connections/games?view=overview
More information on Octal is at http://en.wikipedia.org/wiki/Octal
More information on Hexadecimal is at http://en.wikipedia.org/wiki/Hexadecimal
In class quiz for number conversion with decimal, binary, octal, and hexadecimal http://uk1.hotpotatoes.net/ex/45273/HWIZRXBU.php
2nd Week
Main Topics
What is object-oriented programming? What is Alice? What is a class? What is an object? How do you get objects to do something? What is a method? What is sequential execution? What is parallel execution? How do you create a method in Alice? How do you pass values to a method (parameters and arguments)? What is inheritance? What is a subclass? How do you create a subclass in Alice?
Reading: Appendix A, Chapter 1, and Chapter 3 in Exploring Wonderland: Java Programming Using Alice and Media Computation
Additional Links:
http://www.alice.org
http://home.cc.gatech.edu/TeaParty
3rd Week-4th Week
Main Topics
How to create visual and textual storyboards? How to change a storyboard into an algorithm? How to work with sub-parts of objects in Alice? How do you add comments to an Alice method? What is the process for creating a computer program? What is a bug? How do you fix bugs in your programs?
Reading: Appendix A, Chapter 2 in Exploring Wonderland: Java Programming Using Alice and Media Computation
Additional Links:
http://www.alice.org
http://home.cc.gatech.edu/TeaParty
5th Week-6th Week
Main Topics
How do create an object from a class in Java? How to declare an object variable in Java? How to invoke methods on objects in Java? How to create a method in Java? How to declare parameters to methods in Java and how to specify the argument values? Also we will introduce GridWorld and do part 1 of the student manual.
Reading: Chapter 4 in Exploring Wonderland: Java Programming Using Alice and Media Computation
7th Week
What is a class method in Java? How do you invoke a class method in Java? How to declare object variables and primitive variables in Java? What are some string methods in Java? How do you add comments to Java methods? How do you use the Java API? How to use the Java API to do simple and complex drawing in Java? How does Java handle inheritance? What is an interface?
Reading: Chapter 5 in Exploring Wonderland: Java Programming Using Alice and Media Computation
Assignment: Create a movie poster for an Alice movie using the drawing methods in Java.
Test: On objects, classes, methods, parameters, inheritance, and number conversions.
8th Week
What is an Alice function? What is the difference between an Alice function and an Alice method? How do you write your own function? How do you conditionally execute code in Alice?
Reading: Chapter 6 in Exploring Wonderland: Java Programming Using Alice and Media Computation
9th Week
What is a counted for loop? What is a nested for loop? What is a while loop? How do you create lists in Alice? How do you loop through a list in Alice?
Reading: Chapter 7 in Exploring Wonderland: Java Programming Using Alice and Media Computation
10th Week
Create an Alice movie using at least 2 loops, at least one list of objects, at least 1 conditional, and at least one user created function.
11th Week
What is an array? What is a for-each loop in Java? What is a while loop in Java? What is a for loop in Java? How are digital sounds represented in a computer? How do you use conditionals in Java?
Reading: Chapter 8 in Exploring Wonderland: Java Programming Using Alice and Media Computation
12th Week
How do you loop through just part of an array in Java? How do you change more than one variable in a loop? How do you return a value from a Java method?
Reading: Chapter 9 in Exploring Wonderland: Java Programming Using Alice and Media Computation
13th Week
create a sound clip for use with Alice, blend two sounds for Alice, and create a soundtrack for an Alice movie using clips and splicing them together.
14th Week
What is a two-dimensional array? How is color represented on computers? How do you loop through all the pixels in a picture using a for-each loop, while loop, and for loop?
Reading: Chapter 10 in Exploring Wonderland: Java Programming Using Alice and Media Computation
15th-16th Week
How do you use nested for loops to traverse two dimensional arrays? How can you debug a Java program? How can you break long methods into smaller methods? What is method overloading?
Reading: Chapter 11 in Exploring Wonderland: Java Programming Using Alice and Media Computation
17th Week
How do you condtionally execute code in Java? How do you use the not operator? How do you combine Boolean expressions with And and Or?
Reading: Chapter 12 in Exploring Wonderland: Java Programming Using Alice and Media Computation
18th Week
Create a project using images, sounds, and chromakey combining Alice and Media Computation.
2nd Semester
1st Week
Creating a subclass in Java. Creating a class in Java. Overriding inherited methods. Inheritance.
Reading Chapter 13 in Exploring Wonderland: Java Programming Using Alice and Media Computation
2nd Week
Practice creating classes and subclasses in Java. Object-oriented analysis and design.
3rd Week
Creating subclasses in GridWorld.
Reading Part 2 in the GridWorld student guide
4th Week
GridWorld classes and interfaces.
Reading Part 3 in the GridWorld student guide
5th Week
GridWorld interacting classes.
Reading Part 4 in the GridWorld student guide
6th Week
Extending GridWorld - creating your own project
7th Week
Creating and Modifying Text
Reading Chapter 14 in Exploring Wonderland: Java Programming Using Alice and Media Computation
8th Week
Recursion in Alice
Reading Chapter 15 in Exploring Wonderland: Java Programming Using Alice and Media Computation
9th-10th Week
Searching, sorting and recursion in Java
Reading Chapter 16 in Exploring Wonderland: Java Programming Using Alice and Media Computation
11th Week
Creating movies.
Reading Chapter 17 in Exploring Wonderland: Java Programming Using Alice and Media Computation
12th Week
Abstract classes, polymorphism, and inheritance
Reading Chapter 18 in Exploring Wonderland: Java Programming Using Alice and Media Computation
13th Week
Introduction to Greenfoot - Breakout in Greenfoot
14th Week
Create a project in Greenfoot
15th-16th Week
Review for test.
17th Week
18th Week