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

The oldest continuously available IB Computer Science Program in Greenville County, Greenville SC

tAm. College Brd

Common Syllabus

Mr. R's Home

Southside High



A parent or guardian for each student is asked to send Mr. Rogers an e-mail as follows:
Subject: AP Physics Mechanics <your student's name> Please indicate your name inside the e-mail body. Mr. Rogers will use this for communicating information during the year.



Contact Information:

  Instructor   Mr. Rogers
  Room   134, Computer Lab 105
  Phone   355- 8737
  e-mail   tkrogers@greenville.k12.sc.us
  twitter   http://twitter.com/MoviePhysicsGuy
  blog   https://tkrogers.blog.greenville.k12.sc.us/
  Availability   rm 134 at lunch time, after school: Mon, Thurs, Fri
    Mr. Rogers is the 2011-2012 president of the South Carolina CSTA Chapter

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, IB Computer Science 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. Additional IB Computer Science topics will be addressed in the second year.

Second year students will generally meet in the same classroom as the first year students and will often need to work on a self study basis but will have ready access to the teacher as needed.

Major Project--Personal Software Project: During the second year, students will be expected to demonstrate their mastery of the subject by designing, writing, and testing a significant software project (see the specification and milestones below), generally entered as a project in the regional science fair.

This is a college level, computer science class using Java  language. At the end, students will be required to take the IB standard level exam.

Special Programming Assignments: Smart phones are one of the hottest new Java programming environments. In particular, those using the Google Android operating system are especially accessible for the development of applications. Second year students will have the opportunity to try their hand at developing Java applications for Android based phones.

In addition, students will have the opportunity to try their hand at programming both Lego robots and Javalin stamp computers ( a computer on a chip used for developing software for the imbedded processors in various types of equipment).

IB Standards: Each student will be provided with a copy of IB standards at the beginning of the year. Since much of the time students will function in a self-study mode, it is essential that they familiarize themselves with the standards as soon as possible.

Computer Lab Hours: The room 105 computer lab or room 134 will be open on 3rd 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
  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. Dresden International School Diploma Programme Computer Sciences Wiki: This site has excellent IB Computer Science study materials.
  4. Java Applications Programming Interfaces (API) this is a primary source for information about the Java language.
  5. Java Subset: AP Computer Science uses a limited subset of the Java language. At the beginning of the year the subset will have little meaning, however, students should review it in detail when making final preparations for the AP Exam.
  6. Google: googling just about any Java topic will bring up tutorials or other useful information. Java is a great language for online resources.


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. Students are required to have a bound composition book to use as a composition booklog book for recording information about their Personal Software Projects. They should record notes on all interactions with Mr. Rogers or other mentors.


Our Google Android phone
programming. Click the green guy
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: Meets the 1 year of computer science requirement for graduation.

Prerequisites: AP Computer Science A.

Extra Credit Opportunities:


Grading and Assignments

Grading: (For details see Mr. Rogers' Syllabus - Information Common to All Classes.) Tests and Personal Software Project will be the single largest item. 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 special projects. The first semester exam will be taken from AP test type materials.

Failure to complete the major software project will result in a grade no higher than a "D".

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. All projects will be given a grade as Regional Science Fair projects . Outstanding projects that go beyond the specifications may receive extra credit. 

Tutoring of AP Computer Science A Students: Teaching is one of the best ways to master a subject.All IB Computer Science students are to either spend a minimum of 4 hrs during a quarter tutoring or they must submit an additional program. The program needs to be approved in advance by the teacher and have at least 80 lines of code for each missing hour of tutoring. combinations of programming and tutoring are acceptable. The submitted program must be place in the IB Comp Sci folder of the student's hard drive.


Mr Rogers' AP Computer Science AB Objectives

1st Quarter

2nd Quarter

3rd Quarter

4th Quarter


Specifications and Milestones for the Personal Software Project

Milestones: The Personal Software Project will be submitted in five 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 21. The final project will be submitted in a binder. It have a title page, a table of contents, and all 14 of the "Items or section to include" listed below in "Outline of Project Requirements. It can have appendices but must otherwise rigorously follow the outline provided.

composition bookLog Book: Students are required to have a bound composition book to use as a log book for recording information about their Personal Software Projects. They should record notes on all interactions with Mr. Rogers or other mentors. All entries are to be dated. The log books will be checked for new entries at each milestone and will be given the equivalent of a small quiz grade each time.

Science Fair Project: All students are required to create a backboard and submit their projects for to the regional science fair in March.

Minimum document standards: The document is to be typewritten using either 10 or 12 point business type font such as Times or Helvetica. Do not use fancy fonts with artistic flourishes or fonts that look like handwriting. All the pages must be numbered. Handwritten comments can be added to the program listing and pages can be numbered by hand where it is inconvenient to do otherwise. Be sure to proof read and run spell check.

Minimum programming 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. The program must have 10 of the 15 items listed above.

  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


Outline of Project Requirements

Items or sections to include

Required Pages

IB  Criterion

Additional Requirements




Table of Contents



The table of contents must include ALL the items listed in the "Items or sections to include" column in the order listed. It can include appendices but otherwise no other items are to be listed.




Analysis of Problem


A1, 3pts

Weight: 8.6%

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. Most of these should be from technical journals. Web pages, if appropriate should, at a minimum, include the URL, the author or organization providing the information, and the date. any commonly used form for references is acceptable as long as it contains enough information to find the data.

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.



Milestone 1




Criterion for Success


A2, 3pts

Weight: 8.6%

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.



Milestone 2




Prototype Solution


A3, 4pts

Weight: 8.6%


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.)




Data Structures


B1, 3pts

Weight: 8.6%

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






B2, 2pts

Weight: 5.7%

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.




Modular organization


B3, 2pts


Weight: 5.7%

  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 3





Handling errors


C2, 3pts

Weight: 8.6%

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




Code Listing Listing

500-3,000 lines of code

C1, 3pts

Weight: 8.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.




Milestone 4




Annotated hard copy of tested Output


C3 3pts, D1 4pts

Weight: 11.4%

See C3:The student includes evidence that the program functions well. The student successfully achieved all of the objectives from criterion A2.

See D1:The student includes a complete set of annotated sample output, testing all the objectives in criterion A2.




Evaluation of solutions


D2, 4pts

Weight: 8%

See D2. The student includes a complete set of annotated sample output, testing all the objectives in criterion A2.





Documentation of mastery aspects



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






E, 3pts










The Holistic approach criterion evaluates commitment, initiative and independence.



Milestone 5--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.




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.



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.



SAM Team--Southside High School's STEM and Computer Science extra-curricular club (Mr. Rogers Sponsor)

Mr. Rogers' Twitter Site

Mr. Rogers Teacher's Blog

Mr. Rogers T-shirts

Mr. Rogers Information for Teachers

Mr. Rogers Science Fair Information

Check out other web sites created by Mr. R:

Check out Articles by Mr. Rogers:

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 | Honors Physics|IB Design Tech | Southside

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

Copyright © 1996-2011 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.