Course information: 532500AW
1 Carnegie unit
B-231
Class meets every day from 7:30 – 8:20 AM
Instructor information: Mr. L. Crosswell
849-2830 ext. 23990 or
This e-mail address is being protected from spambots. You need JavaScript enabled to view it.
Extra help available Monday and Thursday from 3:40 – 4:00 in B-233
| 1st 9-Weeks | 2nd 9-Weeks | 3rd 9-Weeks | 4th 9-Weeks | |
|
In-class exercises/worksheets |
20% |
15%
|
15%
|
15%
|
|
Out of class projects |
30% |
15%
|
35%
|
15%
|
|
Quizzes and Tests |
50% |
50%
|
50%
|
50%
|
| Java Project |
0%
|
20%
|
0%
|
20%
|
There will be semester exams that will count for 20% of your 1st semester average and final average for this course.
Attendance –You will need to strive to be in class every day. Your attendance in this class will determine if we are permitted to continue having this course before school.
Tardiness – You should set your timepieces exactly with the clock in room H-127. This will be the official time for our class. I will enforce the Wando High tardy policy. This class meets early enough that traffic should never be a problem. DO NOT BE LATE!
Class participation – Every student will be expected to participate fully in all class discussions.
Missed assignments and exams – All assignments will be posted on my class website. All missing exams due to lawful absence must be made up within 5 school days as per the Wando attendance policy.
Academic dishonesty – I will not tolerate cheating, nor do I expect anyone in this class to cheat. Please assume that you may always work together on any class assignment unless I specifically say otherwise. Assume that all exams and quizzes will be completed on an individual basis unless I specifically say otherwise. Any student found to have violated these rules will be subject to the academic dishonesty policy of Wando High.
IDs – Please always wear your ID.
Class Webpage – Your assignments and helpful links will be posted here.
Jump Drives – You are required to bring your jump drive with you to class daily. If you have problems procuring a jump drive, please see me ASAP and I will help you. Not having a jump drive with you is NOT an acceptable excuse for not having a program that is due. 10% will be docked from a program’s grade each day it is late for whatever reason.
Java Software Solutions for AP Computer Science A, J. Lewis, W. Loftus, and C. Cocking, 2nd Edition, 2007, Prentice Hall.
AP Computer Science 2007 Levels A and AB, R.. Teukolsky, 4th Edition, 2007, Barron’s Educational Services.
Be Prepared for the AP Computer Science Exam in Java, M. Litvin, 3rd Edition, 2007, Skylit Publishing.
AP® GridWorld Case Study
Web site: ObjectDraw: http://eventfuljava.cs.williams.edu/library/
Note: A chart is available at the end of the Units of Study to show correlation between the ‘‘Computer Science A’’ column of the Topic Outline in the AP Computer Science Course Description and each unit of this syllabus.
Unit 1: Introduction to the Computer and Ready-Made Programming Environments
(Time: 4 weeks)
We begin with an introduction to using the computer and its components. Students experiment with the objectDraw environment which leads them to explore three ready-made programs and provides exercises that allow them to first manipulate the already-created program environment and then create a program from scratch. Students also work through Part One of the GridWorld Case Study. They learn about the components of a computer system, networks, and the Internet.
Sample Student Activity for Unit 1: Manipulate objectDraw – change one object, change several objects together, change several objects independently of each other.
Resources:
Unit 2: Introduction to the Programming Environment (Time: 4 weeks)
This unit begins teaching students how to plan their work by learning about proper pseudocode and flowchart structures. Students are led through their first program (Hello World) to explore the format of a proper Java program. They continue with learning how to use simple input/output, primitive data types, the String class, arithmetic expressions and random number generation.
Sample Student Activities for Unit 2: Practice pseudocode and flowchart, Hello World, Strings, Expressions, Random/IO
Resources:
Unit 3: Conditional and Repetition (Time: 4 weeks)
Students focus on how to use conditionals (if, if---else, switch) and repetition (for, while, do while) structures.
Sample Student Activities for unit 3: Conditionals, Loops, Code Segments
Resources:
Unit 4 --- Methods and Classes (Time: 4 weeks)
Students learn how to create their own classes by defining objects. Proper method and class structure is emphasized. They are also introduced to interfaces (Comparable), inheritance, and polymorphism.
Sample Student Activities for Unit 4: Exploring Applets, Methods Assignment
Resources:
Unit 5: Advanced Programming Structures (Time: 4 weeks)
This unit focuses on the creation of advanced data structures and algorithms. Topics include 1-D and 2-D arrays, ArrayLists, sorting algorithms (Insertion Sort, Selection Sort, and Merge Sort) and recursion.
Sample Student Activities for Unit 5: Arrays and ArrayList
Resources:
Unit 6: AP GridWorld Case Study, continued(Time: 3 weeks)
Students work through Parts Two, Three and Four of the AP GridWorld Case Study.
Resources:
Unit 7: The Computer and Society (Time: 2 weeks)
Students explore how the computer has affected society. Topics include the evolution of computer languages, ergonomics, ethics and computer careers. Students will submit a series of research papers and do a class presentation.
Resources:
Unit 8: Input/Output (Time: 3 weeks)
This unit teaches students how to use input and output streams. Topics include try and catch, exceptions, standard I/O, and reading from and writing to text files.
Resources:
Unit 9: Getting Ready for the AP Exam (Time: 4 weeks)
Students work through sample multiple-choice questions and free-response questions. They will write a mock exam to simulate the timing and type of questions to expect on the actual exam. Students review Java theory and the AP GridWorld Case Study.
Resources:
Unit 10: Summative (Time: 3 weeks)
Students work through a series of summative assignments that evaluate their ability to work through the development of a program. Tasks include writing a program proposal, planning the program using pseudocodes/flowcharts, creating a user’s manual, writing program code, and creating a limitations document.
Correlation to AP Topic Outline
I. Object-Oriented Program Design The overall goal for designing a piece of software (a computer program) is to correctly solve the given problem. At the same time, this goal should encompass specifying and designing a program that is understandable, can be adapted to changing circumstances, and has the potential to be reused in whole or in part. The design process needs to be based on a thorough understanding of the problem to be solved. |
|||
|
A. Program design |
|||
|
1. Read and understand a problem description, purpose, and goals. |
Units 1 and 3 |
||
|
2. Apply data abstraction and encapsulation. |
Units 2 and 4 |
||
|
3. Read and understand class specifications and relationships among the classes (‘‘is-a,’’ ‘‘has-a’’ relationships). |
Unit 4 |
||
|
4. Understand and implement a given class hierarchy. |
Unit 4 |
||
|
5. Identify reusable components from existing code using classes and class libraries. |
Unit 4 |
||
|
B. Class design |
|||
|
1. Design and implement a class. |
Unit 4 |
||
|
3. Choose appropriate data representation and algorithms. |
Units 3 and 4 |
||
|
4. Apply functional decomposition. |
Units 4 |
||
|
5. Extend a given class using inheritance. |
Units 4 |
||
|
II. Program Implementation |
|||
|
A. Implementation techniques |
|||
|
1. Methodology |
|||
|
a. Object-oriented development |
Unit 2 |
||
|
b. Top-down development |
Unit 3 |
||
|
c. Encapsulation and information hiding |
Unit 4 |
||
|
d. Procedural abstraction |
Unit 4 |
||
|
B. Programming constructs |
|||
|
1. Primitive types vs. objects |
Unit 2 |
||
|
2. Declaration |
|||
|
a. Constant declarations |
Unit 2 |
||
|
b. Variable declarations |
Unit 2 |
||
|
c. Class declarations |
Unit 4 |
||
|
d. Interface declarations |
Unit 4 |
||
|
e. Method declarations |
Unit 4 |
||
|
f. Parameter declarations |
Unit 4 |
||
|
3. Console output (System.out.print/println) |
Unit 2 |
||
|
4. Control |
|||
|
a. Methods |
Unit 4 |
||
|
b. Sequential |
Unit 3 |
||
|
c. Conditional |
Unit 3 |
||
|
d. Iteration |
Unit 3 |
||
|
e. Recursion |
Unit 5 |
||
|
C. Java library classes (included in the A-level (AP Java Subset) |
Units 2 and 4 |
||
|
III. Program Analysis |
|
|
A. Testing |
|
|
1. Test classes and libraries in isolation. |
Unit 4 |
|
2. Identify boundary cases and generate appropriate test data. |
Unit 4 |
|
3. Perform integration testing. |
Unit 4 |
|
B. Debugging |
|
|
1. Categorize errors: compile-time, run-time, logic. |
Units 1, 2 and 8 |
|
2. Identify and correct errors. |
Units 1, 2, 5 and 8 |
|
3. Employ techniques such as using a debugger, adding extra output statements, or hand-tracing code. |
Units 1, 2, 5 and 8 |
|
C. Understand and modify existing code |
Units 1, 2, 3, 4, 5, 6 and 8 |
|
D. Extend existing code using inheritance |
Units 4 |
|
E. Understand error handling |
|
|
1. Understand runtime exceptions. |
Units 4 |
|
F. Reason about programs |
|
|
1. Pre- and post-conditions |
Units 4 |
|
2. Assertions |
Unit 4 |
|
G. Analysis of algorithms |
|
|
1. Informal comparisons of running times |
Unit 5 |
|
2. Exact calculation of statement execution counts |
Unit 5 |
|
H. Numerical representations and limits |
|
|
1. Representations of numbers in different bases |
Unit 1 |
|
2. Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error) |
Units 2 and 3 |
|
IV. Standard Data Structures |
|
|
A. Simple data types (int, boolean, double) |
Unit #2 |
|
B. Classes |
Units 2 and 4 |
|
C. One-dimensional arrays |
Unit 5 |
|
V. Standard Algorithms |
|
|
A. Operations on A-level data structures previously listed |
|
|
1. Traversals |
Unit 5 |
|
2. Insertions |
Unit 5 |
|
3. Deletions |
Unit 5 |
|
B. Searching |
|
|
1. Sequential |
Unit 5 |
|
2. Binary |
Unit 5 |
|
C. Sorting |
|
|
1. Selection |
Unit 5 |
|
2. Insertion |
Unit 5 |
|
3. Mergesort |
Unit 5 |
|
VI. Computing in Context |
|
|
A. Major hardware components |
|
|
1. Primary and secondary memory |
Unit 1 |
|
2. Processors |
Unit 1 |
|
3. Peripherals |
Unit 1 |
|
B. System software |
|
|
1. Language translators/compilers |
Unit 1 |
|
2. Virtual machines |
Unit 1 |
|
3. Operating systems |
Unit 1 |
|
C. Types of systems |
|
|
1. Single-user systems |
Unit 1 |
|
2. Networks |
Unit 1 |
|
D. Responsible use of computer systems |
|
|
1. System reliability |
Unit 1 |
|
2. Privacy |
Unit 7 |
|
3. Legal issues and intellectual property |
Unit 7 |
|
4. Social and ethical ramifications of computer use |
Unit 7 |