Mr Rogers' Syllabus AP Computer Science AB (Year 2 of a 2 Year AP/IB Computer Science Program)

tAm. College Brd

Common Syllabus

Mr. R's Home

Southside High

intuitor.com

What to Expect:

Computer science is one of the most dynamic job markets in America. It has surpassed engineering in the number of jobs and rivals it for pay. Within the computer science job market, Software Engineer is often listed as one of the best jobs in America from the standpoint of job satisfaction, work environment, and pay

At Southside High, AP Computer Science AB is a 2 year, college level, program using Java language. At the end of the first year students are required to take the AP Computer Science A exam. The first year covers all the AP Computer Science A topics and the first 17 chapters of the textbook.. The remaining 8 chapters and additional AP Computer Science AB topics will be covered in the second year.

During the second year, students will have the opportunity to demonstrate their mastery of the subject by designing, writing, and testing a significant software project.

This is a college level, computer science class using Java  language. At the end, students will be required to take the AP computer science AB test and the IB standard level exam. For more information contact the American College Board.

AP Standards:

  • Topic Outline: This link give the official AP computer science topic outline.
  • Java Subset: The Java language is huge and so AP computer science will focus on a limited but very powerful part of the subset.
  • Case Study: A case study is included in the requirements. Students will learn how to modify its functionality.

Computer Lab: Our computer lab contains up-to-date Pentium IV computers with 2 Gig of RAM and 19" flat screen monitors as well as a promethean board for displaying information to the entire class. All classes (5 days a week) will be held in the lab.

Computer Lab Hours: The lab will be open on all 3 lunch shifts and after school for 90 min. every day except Wed.

Resources and Materials for Class

TextBooks : Mr. Rogers will provide the following books:

Java Methods A & AB
Object-Oriented Programming and Data Structures AP Edition, Maria Litvin, Gary Litvin, 2006, by Skylight Publishing,
ISBN 978-0-9727055-7-8

Be Prepared for the AP Computer Science Exam in Java (Paperback)
by Maria Litvin

 

Addison-Wesley's Review for the Computer Science AP Exam in Java (Paperback)
by Susan Horwitz

 

Web Page Resources
All of the following are maintained by (name omitted) and can be reached via links from his teacher homepage.
  1. Objectives Provided by Mr. Rogers: The daily objectives used in class along with programming and homework assignments are all available online.
  2. Textbook Page: this page has lots of Java information including student files which you will want to download.
  3. Java Applications Programming Interfaces (API) this is a primary source for information about the Java language.
  4. Google: googling just about any Java topic will bring up tutorials or other useful information.

Materials for Class

  1. A USB thumb drive for backing up programs. Note: you are responsible for backing-up your programs. Don't assume they will remain on the hard drive of your computer.
  2. Students are not required to have a computer with an internet connection at home but it's recommended.
  3. Students should download BlueJ (here) to use at home. This is the software used for programming in class.
  4. All students should purchase the Barron's Ap Computer Science Study Guide* - How to Prepare for the AP Computer Science Exam by Roselyn Teukolsky. The book is updated every year. It's best to buy the latest year available.

Sources of Help: Student tutors will typically be available at lunch time and at selected times after school.

Who Should Take this Class: Students with an interest careers related to:  engineering, the computer professions, bioinformatics, genetics, physics, chemistry, math, or information management of any type.

Credit: One unit math, Meets the 1 year of computer science requirement for graduation.

Prerequisites: AP Computer Science A.

Extra Credit Opportunity--Science Fair

 

Grading and Assignments

Grading: (For details see Mr. Rogers' Syllabus - Information Common to All Classes.) Tests will be the single largest item and  be written as close to AP exam standards as possible. All tests will be pencil and paper just like the AP Test.

Course work will generally be finished by the end of the third quarter leaving the rest of the year for review and completion of the major project (see below). The first semester exam will be taken from AP test type materials. The exam grade will give you an indication of your standing on the future AP exam in enough time to take corrective action if needed.

The fourth quarter grade will consist primarily of practice AP test grades and the major project. Generally, there is a high correlation between the practice exams and your grade on the AP test. It will be nearly impossible to get an "A" in the 4th quarter and not pass the AP Test.

 

Regular Programming Assignments: every new unit will have moderate sized programming assignments which are due before the unit test. These assignments are listed in the on-line syllabus. Time will be allotted in class to work on these programs but it will normally also require at least some work outside of class.

 

Homework Assignments: these are listed in the on-line syllabus and are to be written out and stapled to the back of the unit test when it is turned in. No late homework will be accepted.

 

Class Work: We will frequently have brief programming assignments in class to illustrate a specific objective. These will normally be due no later than the next class session.

 

Personal Software Project: Students will  design, write, and test a major software project of their own choosing that will demonstrate mastery of the AP Computer Science AB subjects. The project will account for at least 30% of the annual grade. In other words it will be virtually impossible to pass without doing this project. Zeros will be given for missed milestones. Outstanding projects will be submitted to the Regional Science Fair and receive extra credit. 

Tutoring of AP Computer Science A Students: Teaching is one of the best ways to master a subject. All AP Computer Science AB students will be expected to make themselves available as tutors for "A" students a minimum of 1 hour a week. This can be done after school, before school, at lunch time, etc. Those "AB" students who cannot fulfill this requirement will receive extra assignments to compensate.

 

 

Mr Rogers' AP Computer Science AB Objectives

1st Quarter

2nd Quarter

3rd Quarter

4th Quarter

 

Specification for the Personal Software Project

The major software project will be submitted in four parts as shown below on or before the milestone dates listed in the table below. Each milestone will be at least the equivalent of a test grade. In addition the final project will be submitted on or before Feb 27, 2002. The final project will be submitted in a binder. It will be typewritten,  have a title page, a table of contents, and have all the pages numbered. Handwritten comments can be added to the program listing and pages can be numbered by hand where it is inconvenient to do otherwise.

Minimum standards: 1000 lines of code, 5 classes or interfaces, a GUI with a pull down menu at the top, ability to throw run-time exceptions, and Inheritance--at least 2 classes. Must include at least 10 of the following:

IB SL Requirements*  IB HL Requirements**
  1. Arrays

  2. User-defined objects

  3. Objects as data records

  4. Simple selection (if–else)

  5. Complex selection (nested if, if with multiple conditions or switch)

  6. Loops

  7. Nested loops

  8. User-defined methods

  9. User-defined methods with parameters (the parameters have to be useful and used within the method body)

  10. User-defined methods with appropriate return values (primitives or objects)

  11. Sorting

  12. Searching

  13. File i/o

  14. Use of additional libraries (such as utilities and graphical libraries not included in appendix Java Examination Tool Subsets)

  15. Use of sentinels or flags

Items show in blue should generally be in any significant program.

  1. Adding data to an instance of the RandomAccessFile class by direct manipulation of the file pointer using the seek method

  2. Deleting data from an instance of the RandomAccessFile class by direct manipulation of the file pointer using the seek method. (Data primitives or objects may be shuffled or marked as deleted by use of a flag field. Therefore files may be ordered or unordered).

  3. Searching for specified data in an instance of the RandomAccessFile class.

  4. Recursion

  5. Merging two or more sorted data structures

  6. Polymorphism

  7. Inheritance

  8. Encapsulation

  9. Parsing a text file or other data stream

  10. Implementing a hierarchical composite data structure. A composite data structure in this definition is a class implementing a record style data structure. A hierarchical composite data structure is one that contains more than one element and at least one of the elements is a composite data structure. Examples are, an array or linked list of records, a record that has one field that is another record, or an array.

  11. The use of any five standard level mastery factors—this can be applied only once

12–15. Up to four aspects can be awarded for the implementation of abstract data types (ADTs) according to the table entitled “Implementation of ADTs”.

 

* IB Computer Science Sylabus First Examination 2006, p. 70  * IB Computer Science Sylabus First Examination 2006, p. 71

 

In addition each program should have at least 2 of the following

  1. Linked list

  2. trees

  3. Hash table

  4. Heap

  5. Stack or Queue

 

Items

Required Pages

IB  Criterion

Additional Requirements

Due

Points

1

Table of Contents

1

 

 

 

 

2

Analysis of Problem

2-3

A1, 4pts

Weight: 8%

Must contain the following sub-headings with the specified information:

  • A research question  suitable for a science fair project (see the above link) that is specific and testable..
  • A hypothesis which details how the research question will be answered. While The research question can be a single complete sentence, the hypothesis should be several paragraphs long and meet all of the specifications in the above link. It should include a discussion of background research and to the extent possible, how the problem has been addressed in the past. It should describe the program's output.
  • Required input, calculations, and mathematical models stated in general terms. Although you will be the primary user of the program, input/output should be described for a hypothetical end user who could potentially duplicate or extend your work.
  • References used for background research--minimum of 5. Note that while the Wikipedia is a great place to start, it is not itself a valid reference.

In addition each student should find a research mentor with in-depth expertise of the subject, other than the teacher who is at minimum available by e-mail.

 

 

3

Criterion for Success

1-2

A2, 4pts

Weight: 8%

Must have at minimum an introduction clearly stating the objectives/goals of the solution to the problem and contain an outline, bullet list, or table with the minimum performance and usability criterion so that they are easily scanned.

In simulations performance and usability criterion are often defined by simplifying assumptions. For example, in a projectile motion simulation if air resistance is assumed to be negligible, the simulations solutions will only be valid for low speeds.

 

 

4

Prototype Solution

Variable

A3, 4pts

Weight: 8%

 

This section starts by describing an initial design for some of the main objectives that were determined to be the criteria for success. it should consist of the following:

  • a brief verbal description.

  • a block diagram of the program with at least one block describing user input, one describing the manipulation of the input, one describing file I/O, and a 4th describing the output. Bullet statements can be used for the descriptions within each box.

The prototype is based on functional decomposition. It is a top-down design that includes NO, repeat NO java code. It must include:

  1. A brief written summary of the way the program will function that references items 2-4 below. Can be in outline form.
  2. Fully annotated computer-generated drawings of the user interface and output. There should be multiple drawings showing the expected output under various conditions.
  3. A list identifying all I/O.
  4. User feedback in support of the design.. (At least part of this feedback must come from the teacher.)

 

 

Milestone 1

11-25

100

5

Data Structures

2-5

B1, 4pts

Weight: 8%

Must include:

  1. A brief written summary of data structure that references items 2-3 below.
  2. A Bluej block diagram.
  3. A Javadoc printout identifying all classes and fields.
  4. Diagram of file structure which at minimum contains a help file.
  5. Sketches/illustrations of the expected screen output.

Javadoc comments must include:

  1. A purpose for each class.
  2. A definition for each field.
  3. Sample data for each field, where applicable including a brief discussion of the way data objects will be changed during program execution

 

 

6

Algorithms

2-5

B2, 4pts

Weight: 8%

Must include:

  1. A brief written summary of algorithms that references item 2 below. This can include a list of algorithm. Standard algorithms like search and sort need very little description but more complex ones should be reasonably detailed
  2. A Javadoc printout with information on methods (it's ok to reference the above section).

Javadoc comments must include:

  1. A purpose for each method.
  2. Preconditions and post conditions for each method.

 

 

7

Modular organization

3-5

B3, 4pts

Weight: 8%

  1. A written summary of class or modular structure that references item 2 below and the above sections in the design and relates how fields and methods are interconnected with various classes.
  2. A BlueJ box diagram.

 

 

Milestone 2

12-17

200

8

Usability

1

C1, 3pts

Weight: 6%

See Criterion C1. Note: the pull down menu at the top of the program and help file are part of the usability.

 

 

9

Handling errors

 

C3, 3pts

Weight: 6%

All input must be in string form with proper protection for out of boundary data. The exceptions are GUI items like sliders

 

 

10

Code Listing Listing

500-3,000 lines of code

C1, 3pts

Weight: 6%

1000 lines of code,  3 classes, a GUI, and a help file that meet all mastery needs are the minimum requirements.

The program should demonstrate the use of good programming techniques including:

  • an identification header indicating the program name

  • author, date, school

  • computer used, IDE used, purpose.

The program should possess good internal documentation, including:

  • constant, type and variable declarations that should have explanatory comments

  • identifiers with meaningful names

  • objects that are clearly separated and have comments for their parameters

  • suitable indentation that illustrates various programming constructs.

 

1

 

Milestone 3

1-31

100

11

Annotated hard copy of tested Output

Variable

C4,D1 7pts

Weight: 15%

See C4 and D1.

 

 

12

Evaluation of solutions

1

D2, 4pts

Weight: 8%

See D2.

 

 

13

User Documentation

6

D3, 3pts

Weight: 6%

See D3.

 

 

14

Documentation of mastery aspects

2

 

Note that failure to meet mastery requirements will drop scores more dramatically than any other aspect of the project.

 

 

 

 

 

E, 3pts

Weight:

6%

 

 

 

 

Total

60-100

48

The Holistic approach criterion evaluates commitment, initiative and independence.

 

 

Final Project (Note: 1/2 of these points will be in 4th Quarter grade) Any item with out a due date listed will be due in the final project write up.

Tues.

2-25

200

Total Point Value ( the equivalent of six tests) These points will be distributed throughout the entire year. It will be nearly impossible to pass without turning in a project.

600

 

 

EXTRA CREDIT/CHALLENGE - COMPUTER SCIENCE RELATED PROJECTS COMPUTER SCIENCE RELATED PROJECTS

AP computer science students can receive up to 20 points extra credit per quarter. Up to 10 points extra credit is granted for each challenge program submitted beyond the ones required.  20 extra credit points will normally raise a grade by about 6 percentage points. Students who enter software project in the regional science fair will receive credit for two challenge programs.

All extra credit is due no later than one week before the end of the quarter it is counted in.

Major Projects

Enter the Regional Science Fair with a project which makes use of a major computer program. The idea is due by Oct 1st, the experimental work is to be completed before Christmas break, and the total project completed by January 31st. Students must also make a presentation to the computer club on their subject. This must be scheduled before the science fair.

 

Minor Projects 

Submit a working challenge programs from the list provided. Typically no more than two students are allowed to submit a particular challenge program so it's best to make arrangements in advance. Mr. Rogers will typically not consult on challenge programs.

 

Software Project Possibilities: The best projects are those which can be converted into a science fair project. Extra credit will be granted if this is done. Possible ideas are as follows:

  1. Artificial Intelligence: This attempt to simulate the human brain functions. This includes neural networks which are computer programs which learn.
  2. Artificial Life: Uses computer simulations to derive general theories about life. the Scientific American article "ARTIFICIAL LIFE: Boids of a Feather Flock Together" is a great place to start.
  3. Cellular automata: Cellular automata are computer programs that try to simulate life at the cellular level. They attempt to explain how undifferentiated cells can divide and become complex structures such as appendages.
  4. Chaos Theory: This deals with non linear systems which can become chaotic. It includes various forms of turbulence, animal populations, climate and the stock market.
  5. Fractals: These use relatively simple iterated equations to produce elaborate graphics.
  6. Number Series: There are many different type. Computers are commonly used to discover new members of various series. This includes the search for perfect numbers, mersenne primes, etc.
  7. Spam Filters: These devices are used for blocking e-mail spam. They can range from very sophisticated to very simple filters and can be fairly simple to write.
  8. Markov Chains:
  9. Physics Simulations Accounting for Air Resistance: The reason air resistance is ignored in most calculations has to do with the fact that it generally requires a computer to do account for it.
  10. Random Number Generators: There's no such thing as a perfect random number generator. Usually they have to strike a balance between performance and speed and are still a topic of research among computer scientists.
  11. Monte Carlo Simulations: These are programs which use random number generators to simulate complex problems. They can be extremely complex or very simple. Simple simulations of this type can be done with relatively little programming experience. The Marine Biology case study is an example of a Monte Carlo Simulation.
  12. Flocking/herding Behavior: Programs of this type attempt to simulate the behavior of predators and prey using simple sets of rules.
  13. Snow Flake/Crystal Growth: Look at thousands of pictures of snow flakes and they all tend to be slightly different yet they are recognizable as snow flakes. This implies that there are simple rules which can govern how the crystals are formed.
  14. Artificial Word translator: Write a program which looks for Latin or Greek roots in a word and outputs a possible definition on that basis.
  15. Language translator: Write a program which recognizes or translates foreign languages.
  16. Perception Studies: Computer programs can output sounds and colors. They can be programmed to flash text messages. These features can be used for testing human perception.

 

Mr

Mr. Rogers' Twitter Site

Check out other web sites created by Mr. R:

 

 

 
Want to learn more about movie physics in Star Trek and find out :
  • what makes Star Trek unique
  • how Star Trek compares to Star Wars
  • why the star ship Enterprise needs to remain in space
  • what should and shouldn't be done in space battles
  • what it takes to blast off and travel the galaxy
  • the basics of orbiting
Insultingly Stupid Movie Physics is one of the most humorous, entertaining, and readable physics books available, yet is filled with all kinds of useful content and clear explanations for high school, 1st semester college physics students, and film buffs.

It explains all 3 of Newton's laws, the 1st and 2nd laws of thermodynamics, momentum, energy, gravity, circular motion and a host of other topics all through the lens of Hollywood movies using Star Trek and numerous other films.

If you want to learn how to think physics and have a lot of fun in the process, this is the book for you!

 

First the web site,

now the book!


Mr. Rogers Home | Common Sylabus | AP Comp Sci I | AP Comp Sci II | AP Physics Mech | AP Physics E&M | AP Statistics | IB Design Tech | Southside

[ Intuitor Home | Physics | Movie Physics | Chess | Forchess | Hex | Intuitor Store |

Copyright © 1996-2009 T. K. Rogers, all rights reserved. Forchess ® is a registered trademark of T. K. Rogers.
No part of this website may be reproduced in any form, electronic or otherwise, without express written approval.