AP CS | Assignments

Useful Links

Summary

Num Kind Title Pts Due Submit
P5 PR Reflection 5 Jun 15 18oK8
P4 PR Implementation 20 Jun 15 In Dropbox
P3 PR Poster/Demo 5 Jun 8 In class
PG PR Google Field Trip 2 May 31 edPsu
P2 PR Prototype Check 5 May 31 In class
P1 PR Project Proposal 5 May 17 udq2l3bd
P0 PR Project Summary
E2 EX Final Exam 40 May 2-4 On paper
34 HW GridWorld Part 3 4 Apr 30 On paper
33 HW Practice Exam 1 10 Apr 23 N8aUi
32 HW GridWorld Part 2 5 Apr 23 On paper
31 CL GridWorld Part 1 2 Apr 13 On paper
30 CL Recursion Exercises 2 Apr 11 Practice-It!
29 CL ShowPrimes Worksheet 2 Apr 09 On paper
28 HW Shopping Cart 20 Apr 09 gXfQZ
27 CL Chapter 10 Exercises 2 Apr 02 Practice-It!
26 HW Chapter 8 Worksheet 10 Mar 26 On paper
25 CL Car Class 2 Mar 21 On paper
24 CL Procreation Exercise 2 Mar 13 On paper
23 CL Chapter 8 Exercises 2 Mar 13 Practice-It!
22 CL Point Class Methods 2 Mar 9 On paper
21 HW DNA 20 Mar 5 aY23i
20 CL Forum Registration 1 Feb 29 Online
19 CL Chapter 6 Exercises 4 Feb 17 On paper
18 CL Histogram 3 Feb 13 On paper
17 CL Chapter 7 Exercises 4 Feb 29 Practice-It!
X3 EC Random Walk (EC) 20 Jan 31 Pv7XD
Q4 QU Quiz 4 Outline 20 Jan 17 In class
16 CL Random NextInt2 2 Jan 13 On paper
15 HW Guessing Game 20 Jan 20 5Ln72
14 CL Chapter 5 Exercises 2 Jan 9 Practice-It!
Q3 QU Quiz 3 Outline 20 Dec 14 In class
13 HW Birthdays 20 Dec 12 BzIwy
12 CL Chapter 4 Exercises 3 Nov 23 Practice-It!
11 HW Circle Figures 20 Nov 14 nzqAr
10 HW Graphics Exercises 3 Nov 4 Practice-It!
09 CL Chapter 3 Worksheet 2 Nov 2 On paper
08 HW String Exercises 2 Oct 31 Practice-It!
07 HW Parameter Exercises 3 Oct 21 Practice-It!
06 HW Think Different 5 Oct 13 s8ql8jig
05 HW Space Needle 15 Oct 17 rSdTj
04 CL Chapter 2 Exercises 3 Oct 7 Practice-It!
03 CL Worksheet 2A 1 Sep 23 On paper
02 HW Cumulative Song 10 Oct 4 WCBnC
01 CL RHS Song and Logo 1 Sep 16 Check off
00 CL Course Admin 1 Sep 12 Online

Assignment P5: Project Reflection

Instead of written documentation, to wrap up this project, I would like you to reflect on the experience a bit and provide some feedback for me.

To do that, just use this link: Project Reflection, and answer the questions on that survey.

GRADING (Project)
Survey answered 5 pts
DUE: Friday, June 15.

Assignment P4: Project Implementation

To wrap up this project, just submit your code files in the Staff_Student drive on the RHS server, in the Writeable folder:

W:\Staff_Student\ahdavidson\writeable.

GRADING (Project)
Code submitted 20 pts
DUE: Friday, June 15.

Final Project: Poster/Demo

For this project milestone, we will have engineers from Amazon.com as guests in class. We will set up the lab as an open house to show your projects to these software developers. They will be interested to hear what your projects are all about and will give you some feedback on your work.

Each team will be expected to demonstrate their project, even if it is not yet finished. You should also have the code available for them to review — print out a copy, neatly formatted!

In addition, each team will create a poster that summarizes the highlights of your project so that you can then discuss it with the Amazon.com staff and classmates. Below is a list of information you should have on your poster and/or be ready to discuss during the presentation. Be creative on the poster, use images and color to express yourself as well as the project.

Also be ready to ask the Amazon.com engineers questions about working in the computer field and programming – this day is about sharing your project as well as helping you better understand the wonderful world of computer science. They are here to help inform and hopefully inspire you.

Poster items:

  • Title & Tag Line: Title of your project and “tag line,” a short phrase that encapsulates the project concept
  • Team : List of team members working on the project.
  • Description: Summary and description of the project concept, goals, purpose, function, or use. This should be a general description of the project, just a paragraph, and should describe what the project is or does and why it is useful or interesting or relevant.
  • Client: Who is the target user(s) for this project? What purpose does it serve or problem does it solve? Describe briefly how the project will be used by the client.
  • Implementation: How is your program structured? Diagram the major objects/classes and data structures (e.g., ArrayLists) that you used to implement the project.
  • Reflection: What have you learned from working on this project?
  • Challenges: What challenges did you face and how did you overcome them? Did you make as much progress as you thought you would?
  • Next Steps: What is next? What further improvements or plans do you have for the project?
GRADING (Project)
Completed 5 pts
DUE: Friday, June 8.

Assignment PG: Google Field Trip

This assignment is only for those of you who went on the field trip to Google last week.

I would like you to answer a few questions as a reflection on what you learned at Google.

To do that, just use this link: Submit Assign P1, and answer the questions on that survey.

GRADING (Professionalism)
Survey answered 2 pts
DUE: Thursday, May 31.

Final Project: Prototype Check

This assignment is just a check, in class, of your progress on implementing your project.

GRADING (Project)
Completed 5 pts
DUE: Thursday, May 31.

Final Project: Proposal

To begin this project, you are to write a proposal document that summarizes the project concept, goals, and implementation strategy and plan.

First, conclude the brainstorming about project ideas, settle on your project and team members. Discuss all of this with me and get approval.

Then create a document that summarizes the project concept and plans. Include the following sections and information in this document:

  • Title & Tag Line: Title of your project and “tag line,” a short phrase that encapsulates the project concept
  • Team : List of team members working on the project.
  • Description: Summary and description of the project concept, goals, purpose, function, or use. This should be a general description of the project, just a paragraph or two, and should describe what the project is or does and why it is useful or interesting or relevant.
  • Client: Who is the target user(s) for this project? What purpose does it serve or problem does it solve? Describe briefly how the project will be used by the client.
  • Implementation: Give an overview of how you intend to implement the project. Describe briefly the language, classes, modules, or other implementation details, in overview. A rough system diagram is very useful in this.
  • Plan: Explain briefly the tasks and timeline you envision for your implementation. Explain who will do what and by when in the overall schedule.
  • Risks: What are the unknowns for your team in tackling this project? What will you have to learn that you don’t already know? How will you get that knowledge? What could go wrong?
  • Resources: What do you need from me or other people to succeed?

This document should be written professionally and thoroughly and will be graded accordingly, both on form and content.

Submit your proposal document (DOC, RTF, or PDF, etc.) at this link: Project Proposal Submission.

GRADING (Project)
Completed 5 pts
DUE: Thursday, May 17.

Final Project: Summary

Your final project is an opportunity to explore a topic of your choice in a more comprehensive way than you have tackled so far in various assignments. The idea is for you to have some creative fun and apply the knowledge and skills you have acquired this year in developing an application of your choice.

You should use the final project to expand your knowledge and learn some new aspects of computer science. Another goal is to experience the larger challenge (and satisfaction) of software engineering and system design and development.

I encourage you to be ambitious in this project, but not set yourself such a large challenge that you can’t finish it or succeed. Part of software engineering is getting calibrated to be able to estimate how long things will take and budget your project time and resources appropriately. You need to produce a tangible result for this project.

You are welcome to work in groups of between one and three people, as long as each person’s role is clear and meaningful, and you get my approval of your team and project.

The final project is divided into phases, with certain deliverables (intermediate assignments) for each phase. They are as follows:

# Deliverable Description Due Points
1 Proposal Concept & plan May 17 5 points
2 Prototype Check Work in progress May 24 5 points
3 Poster & Demo Presentation June 8 5 points
4 Implementation Final code / system June 14 (Seniors)
June 22 (Others)
20 points
5 Documentation Project summary June 14 (Seniors)
June 22 (Others)
5 points
TOTAL 40 points

Further details for each deliverable above can be found in the subsequent assignments on this page.


Final Exam: Chapters 1 – 10, GridWorld

This in-class final will be taken over the course of three days in our regular class period. It will cover chapters 1 – 10 of our textbook plus the AP GridWorld case study. This will count as the final exam grade for the course.

Taking the AP exam is optional and up to each of you. Our exam will be an AP-style exam, so in addition to being a comprehensive exam of the entire year’s study, it will also serve as a rehearsal for students who are taking the AP exam.

That exam is normally taken during one three hour session. Because of the vagaries of the Roosevelt schedule this week, we will spread the exam out over three days, as follows:

  • Day 1 (55 minutes): Multiple Choice
  • Day 2 (30 minutes): Free Response I
  • Day 3 (30 minutes): Free Response II

In the AP exam, the Multiple Choice section is 40 questions (1 point each) and counts for 50% of the score. There are 4 Free Response questions (9 points each) that also counts for 50% of the final score.

You will have a full set of AP exam questions to take. Because we have only 115 minutes (instead of 180) for the exam and have not covered all of the material on the AP exam as thoroughly as I had hoped, I will scale the scores to determine your grade on this final.

I will grade all of the problems just as they would be graded on the AP exam, but will scale the grade for the exam as follows:

TYPE AP TIME RHS TIME AP TOTAL RHS SCALE
Multiple Choice 75 min 55 min 40 30/40 = 50%
Free Response 105 min 60 min 40 25/40 = 50%
TOTAL 180 min 115 min 80 55/80 = 100%

There is no penalty for wrong answers on the Multiple Choice questions, so you should not leave any of them blank. Guessing is encouraging, especially if you can eliminate any answers.

Comments and pseudocode will not be given any credit on the Free Response problems, only Java code. Write legibly; your human teacher will be reading your code!

No extra credit will be given on this exam.

GRADING (Test)
Completed 40 pts
DUE: Wednesday — Friday, May 2-4.

Assignment 34: GridWorld Part 3

This assignment explores Java classes and interfaces in the GridWorld case study.

  1. Read Part 3 of the GridWorld case study (from the Student Manual).
  2. Answer question Sets 3 — 6 about GridWord in this section. Print out the four worksheets below, write your answers on each, and turn them in on paper.
GRADING (Homework)
Completed 4 pts
DUE: Monday, April 30.

Assignment 33: Practice Exam 1

This assignment is a practice AP CS exam for you to do as a take-home exam.

There are two purposes for doing this

  1. to give you a comfortable way to get familiar with the format, timing, and style of questions of the actual AP CS exam
  2. to get us as a class calibrated for what content we need to review and concentrate on before the real exam.

I will not grade this assignment as the real exam will be graded, but just give you points for doing it and completing it. You could view this as an inventory rather than an exam, really.

The idea is to take it as you would the real exam. Find a quiet place and do all of the problems in the two sections, keeping track of your time. I recommend that you try to complete the exam in the allotted time to see what the pace is like. But if you don’t, work through all of the problems anyway. After all, this is just a first rehearsal; there will be other practice exams before the real one.

Since this is a take-home exam, there is nothing to stop you from looking up information or consulting other sources. But you won’t have those during the real exams, so try to do the problems without them and just use the official Quick Reference Document, which you will have during the real exams.

We will grade the exams in class and tally the results so we can analyze our collective strengths and areas that need further study and review.

GRADING (Homework)
Completed 10 pts
DUE: Monday, April 23.

Assignment 32: GridWorld Part 2

This assignment explores Bug variations. You will write your own classes for CircleBug, SpiralBug, ZBug, and DancingBug.

  1. Read Part 2 of the GridWorld case study (from the Student Manual).
  2. Answer the Set 2 questions about GridWord in this section. Print out this worksheet (GridWorld Set 2), write your answers on it, and turn that in on paper.
  3. Do the exercises in this section. You will have to write your own variations of Bug classes that implement variations on the basic bug behavior: CircleBug, SpiralBug, ZBug, and DancingBug. To submit this part of the assignment, print out the .java source code files for your classes and turn them in on paper.
GRADING (Homework)
Completed 5 pts
DUE: Monday, April 23.

Assignment 31: GridWorld Part 1

This assignment will familiarize you with the AP GridWorld Case Study project that we will use to learn about inheritance and designing systems of object classes. It provides experiments to observe the attributes and behavior of the actors.

See the Topics page for more information about GridWorld.

  1. Read Part 1 of the GridWorld case study (from the Student Manual).
  2. Answer the Set 1 questions about GridWord in this section. Print out this worksheet (GridWorld Set 1), write your answers on it, and turn that in on paper.
  3. Do the exploration Exercises in this section and answer the questions about it. Print out this worksheet (GridWorld Ex 1), write your answers on it, and turn that in on paper.

To submit this assignment, turn in the two printouts with your answers on them.

GRADING (Classwork)
Completed 2 pts
DUE: Friday, April 13.

Assignment 30: Recursion Exercises

This assignment is to give you practice tracing recursive method calls.

Here are the programs I demonstrated to calculate N factorial: Factorial.java and FactorialTrace.java.

Please do all five of the Self-Check Exercises in Practice-It! for Chapter 12. Those are mystery1mystery5.

For further reading on recursion, see Stuart Reges’ lecture notes on the topic: Reges on Recursion.

GRADING (Classwork)
Completed 2 pts
DUE: Wednesday, April 11.

Assignment 29: ShowPrimes Worksheet

This quick assignment is to give you practice with a for each loop.

Print this worksheet out and fill in the missing code, by hand: ShowPrimes.pdf.

To submit this assignment, just turn in the printout with your code on it.

GRADING (Classwork)
Completed 2 pts
DUE: Monday, April 9.

Assignment 28: Shopping Cart

This assignment’s specification can be found on its own page: Shopping Cart.

Submit this assignment here: Assign 28: Shopping Cart.

GRADING (Homework)
TOTAL 20 pts
DUE: Monday, April 9.

Assignment 27: Chapter 10 Exercises

This assignment is to give you practice using ArrayLists.

Please do all of the problems in Practice-It! for Chapter 10.

GRADING (Classwork)
Completed 2 pts
DUE: Monday, April 2.

Assignment 26: Chapter 8 Worksheet

This assignment is to give you more practice designing and using object classes.

Please do all of the problems on this worksheet: Chapter 8 Worksheet.

Here are the three test programs mentioned in the worksheet:

To submit this assignment, get the programs working in jGRASP, then print out the source code files and turn them in.

GRADING (Classwork)
Completed 10 pts
DUE: Monday, March 26.

Assignment 25: Car Class

smart fortwo passion cabriolet

This short assignment is to give you practice in designing and programming an object class from scratch, following a specification.

You are to create a class that models some basic aspects of a car, with fields and methods. You will also write a client program that uses (and tests) this object class.

Design and implement a Car class (Car.java). It should have the following properties and methods. For all of these properties, choose either metric or American (non-metric) units and make sure you specify which you use in the comments.

Properties

  • fuel efficiency: the rate at which the car consumes fuel
  • current mileage: the total distance on the car’s odometer
  • fuel tank capacity: the maximum capacity of the fuel tank
  • current fuel level: the current amount of fuel in the tank

Methods

  • A constructor that allows the client to set the fuel efficiency, current mileage and fuel tank capacity. The fuel tank should initially be empty. Throw IllegalArgumentExceptions as appropriate.
  • A getGasInTank accessor method that returns the current amount of fuel in the tank
  • A getMileage accessor method that returns the current mileage on the car
  • An addGas mutator method that adds gas to the tank (throw an IllegalArgumentException if it exceeds capacity!)
  • A drive mutator method that simulates driving for a certain distance, reducing the gasoline in the fuel tank. You may assume that drive is never called with a distance that consumes more than the available gas.

Sample Client Usage

  • Car myCar = new Car(50, 20000, 15); // 50 miles per gallon, 20,000 miles and 15 gallon tank (no gas in tank)
  • myCar.addGas(15); // pump 15 gallons of gas
  • myCar.drive(100); // drive 100 miles
  • double gasLeft = myCar.getGasInTank(); // get gas remaining in tank
  • int odometer = myCar.getMileage(); // get total miles on odometer

Create a client class (Driving.java) that tests all of your methods by creating at least two cars and using all of the above methods on each car. Make sure you test all cases (example: adding more gas than the tank has space for). Be prepared to demonstrate your client and object classes and explain how they work.

To submit this assignment, just print out your Car.java and Driving.java source code files and turn them in.

GRADING (Classwork)
Completed 2 pts
DUE: Wednesday, March 21.

Assignment 24: Procreation Exercises

This quick assignment is a followup to the discussion in class on object constructors.

Here are the versions of the Baby.java and Procreate.java classes that we developed in class.

Using these code files as a starting point, modify them to do the following:

  • Add fields to the Baby object class to keep track of the number of fingers and number of toes that a baby has. (After all, there are people born with more or less than 10 each.)
  • Modify the toString() method of the Baby class to display these fields in addition to the others already shown. (You may want to modify the return string to use a two line display.)
  • Modify the main constructor for the Baby class to allow the Procreate client to specify the number of fingers and number of toes as a parameter.
  • Modify the main constructor for the Baby class to throw an IllegalArgumentException if the value of the fingers or toes parameters are less than zero. (Not less than or equal to, since a baby could be born with no fingers or toes.)
  • Modify the default constructor for the Baby class to set the default number of fingers and toes to 10 each.
  • Modify the Procreate class to set the number of fingers and toes of new babies it creates.

To submit this assignment, just print out your Baby.java and Procreate.java source code files and turn them in.

GRADING (Classwork)
Completed 2 pts
DUE: Tuesday, March 13.

Assignment 23: Chapter 8 Exercises

This assignment is to give you practice using object methods.

Please do problems 8.1 — 8.4 in Practice-It! for Chapter 8.

GRADING (Classwork)
Completed 2 pts
DUE: Tuesday, March 13.

Assignment 22: Point Class Methods

This quick assignment is a followup to the discussion in class on class methods.

We saw, also in the video, Defining a Class, that methods related to an object are created “inside” the class.

Your task is to modify the basic Point class we started with:

// A Point object represents a pair of (x, y) coordinates.
// First version: state only.

public class Point {
    int x;
    int y;
}

so that all of the methods from our client class, UsePoint, are removed from there and made part of the Point class object.

This version of UsePoint has all of the methods from the handout exercise implemented in the client program. Your job is to remove those methods from that client class and make them part of the object class instead.

This involves understanding the concept of the implicit parameter of an object.

As an example, the method from the client that translates a point by a distance (dx, dy) looks like this in the client:

public class UsePoint2 {

 public static void main(String[] args) {

  // create two Point objects
  Point p1 = new Point();
  Point p2 = new Point();

  p1.x = 5;
  p1.y = 10;

  p2.x = 6;
  p2.y = 23;

  showPoint(p1, "p1");
  showPoint(p2, "p2");

  translate(p1, 5, 2);
  showPoint(p1, "p1");
 }
 //...
 public static void translate(Point p, int dx, int dy) {
    p.x += dx;
    p.y += dy;
 }
}

If you move that method into the Point object class, that class becomes:

public class Point {
    int x;
    int y;

   public void translate(int dx, int dy) {
      x += dx;
      y += dy;
   }

}

Notice that the method now references the fields of the implicit parameter that is the Point object in which it is contained.

So, start with this for Point.java:

public class Point {
    int x;
    int y;
}

and add the methods

  • showPoint
  • translate
  • distanceFromOrigin
  • distanceBetween

to it.

When you have converted that, use the following client program:

public class UsePoint {

   public static void main(String[] args) {

      // create two Point objects
      Point p1 = new Point();
      Point p2 = new Point();

      p1.x = 5;
      p1.y = 10;

      p2.x = 6;
      p2.y = 23;

      p1.showPoint("p1");
      p2.showPoint("p2");

      p1.translate(5, 2);
      p1.showPoint("p1");

      p2.translate(-6, -13);
      p2.showPoint("p2");

      p1.showPoint("p1");
      System.out.println("Dist from origin = " + p1.distanceFromOrigin());

      p2.x = 3;
      p2.y = 4;
      p2.showPoint("p2");
      System.out.println("Dist from origin = " + p2.distanceFromOrigin());

      p1.showPoint("p1");
      p2.showPoint("p2");
      System.out.println("Dist between = " + p1.distanceBetween(p2));

   }
}

to test your Point class implementation. It should compile cleanly and produce the following console output when you run it:

p1: (5, 10)
p2: (6, 23)
p1: (10, 12)
p2: (0, 10)
p1: (10, 12)
Dist from origin = 15.620499351813308
p2: (3, 4)
Dist from origin = 5.0
p1: (10, 12)
p2: (3, 4)
Dist between = 10.63014581273465

If this all sounds huge, don’t worry, it’s not that bad. It took me far, far longer to write this assignment than to write the code for the solution.

To submit this assignment, just print out your Point.java source code file and turn that in.

GRADING (Classwork)
Completed 2 pts
DUE: Friday, March 9.

Assignment 21: DNA

This assignment’s specification can be found on its own page: DNA.

Submit this assignment here: Assign 21: DNA.

GRADING (Homework)
TOTAL 20 pts
DUE: Monday, March 5.

Assignment 20: Forum Registration

To begin using our new online discussion board, please register with a username on that site: Roosevelt CS Forum.

Here are the steps:

  1. Go to the site, Roosevelt CS Forum, and click the “Register” option.
  2. Choose a username that is your first name plus the first letter of your last name. (For example, mine would be “Andy D.”) This is so that we know who is the author of a post, and to ensure that you aren’t exposing yourself online with a full name, since this is a public forum. There will be some future assignments involving posting in the forum, so I’ll need to be able to recognize you to give you credit for them.
  3. Fill in the rest of the required information, including a VALID email address. You will have to be able to receive email at that address to complete your registration. You can do that on your phone or a computer not at school. You will have to confirm your registration request by email.
  4. Once registered, login and explore the forum. You can use the Practice Area subforum to try things out.
GRADING (Classwork)
Username registered 1 pt
DUE: Wednesday, February 29.

Assignment 19: Chapter 6 Exercises

This assignment is to give you practice processing file and token data.

Please solve at least problems #1 and #4 on this lab worksheet: Chapter 6 Lab Worksheet. You can download a folder of test data for these problems here: Chapter 6 Lab Files.

I strongly suggest that you do all of them, but only those two are necessary for the points on this assignment.

Write the code and test it in jGRASP, then print out your solutions and turn those in.

GRADING (Classwork)
Completed 4 pts
DUE: Friday, February 17.

Assignment 18: Histogram

This quick assignment is a followup to the demo in class on tally arrays. In that example, ScoreCounts, our program tallied up the counts of a set of test scores in an array and displayed them numerically on the console.

Extend that program, ScoreCounts.java, so that it calculates and displays the mode of the test scores and displays all of the values in a histogram chart. Be sure to indicate on the histogram which value is the mode.

Recall that the mode is the value that occurs most frequently in a data set. You can choose your own criterion for breaking a tie.

To submit this assignment, just print out your .java source code file and turn that in.

GRADING (Classwork)
Completed 3 pts
DUE: Monday, February 13.

Assignment 17: Chapter 7 Exercises

This assignment is to give you practice using arrays.

Please do the all of the problems in Practice-It! for Chapter 7.

GRADING (Classwork)
Completed 4 pts
DUE: Wednesday, February 29.

Extra Credit: Random Walk

This is strictly an extra credit opportunity, not a required assignment. You received the spec on a handout; it’s not posted online.

I will grade it like a normal assignment and it will be added as an optional assignment in your grade calculation. It will not just add points to your total grade. This means it could actually hurt your grade if you get a low score on it.

Submit this assignment here: Extra 03: Random Walk. The deadline is firm; no late submissions accepted.

GRADING (Extra Credit)
TOTAL 20 pts
DUE: Monday, January 31.

Assignment 16: Random NextInt2

This quick assignment is a followup to the warmup exercise in class on random numbers. In that exercise, you were asked to write the body of a method that generated random numbers in a certain range, different from what the Java Random.nextInt(max) method yields.

Using this test program, RandomTest.txt, insert your code in the body of the method nextInt2(...). Then compile and run that program. When your code produces the correct results, print out the console log and put your name on it.

Then, study the test program and answer the following questions:

  1. The boolean variable “passed” in the main method indicates whether the nextInt2method has passed all of the tests it is given.
    • What does the operator “&=” do?
    • Why does each line of code like
      passed &= testNextInt2(...);

      need that operator instead of just

      passed = testNextInt2(...);

      ?

  2. In the testNextInt2(...) method, examine the logic for setting the boolean variable “allOK“. Give two reasons why that code does that not use a Boolean Zen-like construct such as
    allOK = (num < a || num > b);

    ?

Write those answers on your console log and turn this in on paper in the classroom box.

GRADING (Classwork)
Completed 2 pts
DUE: Friday, January 13.

Assignment 15: Guessing Game

This assignment’s specification can be found on its own page: Guessing Game.

Submit this assignment here: Assign 15: Guessing Game.

GRADING (Homework)
TOTAL 20 pts
DUE: Friday, January 20.

Assignment 14: Chapter 5 Exercises

This assignment is to give you practice using while loop statements.

Please do the following problems in Practice-It! for Chapter 5.

  • Self-Check 5.1 — 5.4
  • Self-Check 5.14 — 5.20
  • Exercise 5.10, 5.12
GRADING (Classwork)
Completed 2 pts
DUE: Monday, January 9.

Assignment 13: Birthdays

This assignment’s specification can be found on its own page: Birthdays.

Submit this assignment here: Assign 13: Birthdays.

GRADING (Homework)
TOTAL 20 pts
DUE: Monday, December 12.

Assignment 12: Chapter 4 Exercises

This assignment is to give you practice understanding conditional statements.

Please do all of the exercises in Practice-It! for Chapter 4.

GRADING (Classwork)
Completed 3 pts
DUE: Wednesday, November 23.

Assignment 11: Circle Figures

This assignment’s specification can be found on its own page: Circle Figures.

Submit this assignment here: Assign 11: Circle Figures.

GRADING (Homework)
TOTAL 20 pts
DUE: Monday, November 14.

Assignment 10: Graphics Exercises

This assignment is to give you practice with graphics using DrawingPanels.

Please do all of the exercises in Practice-It! for Chapter 3G: Graphics.

GRADING (Homework)
Completed 3 pts
DUE: Friday, November 4.

Assignment 09: Chapter 3 Worksheet

This assignment is to give you practice understanding parameters and objects.

Please do all of the problems on worksheet 2A I gave out in class: Chapter 3 Worksheet.

GRADING (Classwork)
Completed 2 pts
DUE: Tuesday, November 1, in class.

Assignment 08: String Exercises

This assignment is to give you practice understanding strings and their methods.

Please do the following exercises in Practice-It!:

  • Self-Check 3.14
  • Exercises 3.11 — 3.13
GRADING (Classwork)
Completed 2 pts
DUE: Monday, October 31.

Assignment 07: Parameter Exercises

This assignment is to give you practice understanding parameters in method calls.

Please do the following exercises in Practice-It!:

  • Self-Check 3.1 — 3.12
  • Exercise 3.1
  • Exercise 3.6
  • Exercise 3.7
GRADING (Classwork)
Completed 3 pts
DUE: Friday, October 21.

Assignment 06: Think Different

This assignment is a simple one — just to reflect on Steve Jobs and Apple and the “Think Different” ad we watched last week.

I would like you to write a short essay (about 200-300 words) on some aspect of this man’s work, his company’s business and products and mission, the role of design in Apple products, the meaning of the “Think Different” ad, or any of the people mentioned in it. You have a lot of freedom to choose the topic of your essay. Some suggestions are below. What is important is that your thoughts be reflective and well-expressed.

I realize this is not a language arts or social studies class, where writing is a big part of the course work. But I do think that students of technology should be well-rounded and capable of expressing themselves in clear prose as well as good code. Just as Steve Jobs prized good thinking and humanist concerns in his technologists, I would like you all to strive for those qualities as well.

You can watch the “Think Different” ad at this link. A list of the people seen in the ad are below.

Albert Einstein
Bob Dylan
Martin Luther King, Jr.
Richard Branson
John Lennon
Buckminster Fuller
Thomas Edison
Muhammad Ali
Ted Turner
Maria Callas
Mahatma Gandhi
Amelia Earhart
Alfred Hitchcock
Martha Graham
Jim Henson
Frank Lloyd Wright
Pablo Picasso

Here are some references that I found interesting. Please read a few of them; you may use them as inspiration for your essay.

Submit your essay at this link: Think Different Essay.

GRADING (Homework)
TOTAL 5 pts
DUE: Thursday, October 13.

Assignment 05: Space Needle

This assignment’s specification can be found on its own page: Space Needle.

Submit this assignment here: Assign 05: Space Needle.

GRADING (Homework)
TOTAL 15 pts
DUE: Monday, October 17.

Assignment 04: Chapter 2 Exercises

This assignment is to give you practice understanding expressions, variables, and loops.

Please do the following exercises in Practice-It!:

  • Self-Check 2.3
  • Self Check 2.9
  • Self Check 2.17
  • Self Check 2.27
  • Exercise 2.6
  • Exercise 2.12
  • Exercise 2.15
  • Exercise 2.16

NOTE: Before doing these exercises in Practice-It!, please connect your account to Roosevelt High School and the course labeled AP CS – 2011-12 Fall. (It should be the only one there now.) Your account page should then look like the screen shot below.

This is so I can check off your work automatically in the system.

GRADING (Classwork)
Completed 3 pts
DUE: Friday, October 7.

Assignment 03: Worksheet 2A

This assignment is to give you practice understanding expressions, variables, and loops.

Please do problems 1 — 4 on worksheet 2A I gave out in class: Expressions, Variables, Loops.

Solve those problems and write your answers on a sheet of paper. I will just mark that you have done the problems, and then you will check each other’s work and discuss the solutions in class.

GRADING (Classwork)
Completed 1 pt
DUE: Friday, September 23, in class.

Assignment 02: Cumulative Song

This assignment’s specification can be found on its own page: Cumulative Song.

Submit this assignment here: Assign 02: Cumulative Song.

NOTES:

  • Use the exact email address you gave me last week for this.
  • Use only first and last names, not middle, and they must match exactly the list I showed in class.
  • Your password is your student ID number.
DUE: Tuesday, October 4.

Assignment 01: RHS Song and Logo

This assignment is to give you practice with creating console output with println.

Modify the “Hello World” program, given below, to print out the lyrics of the Roosevelt Spirit Song. Print each line of the song on a separate line.

public class Hello {
	public static void main(String[] args) {
		System.out.println("Hello, world!");
	}
}

When you have that working, modify it to indent every other line, starting with the second one, by one tab.

Then write a separate Java program that reproduces the RHS ASCII logo below exactly. Be sure to use the exact characters in each line, and watch out for any that need an escape sequence! Use the tab escape sequence between the last character of each line of the “R” and the “H”, and another one between the lines of the “H” and “S.”

[/********\\	{***      ***}	(===============\
[**********\\	{***      ***}	(===============/
[***     **||	{***      ***}	(+++|
[***     **||	{***      ***}	(+++|
[***     **||	{***      ***}	(+++|
[*********//	{************}	(**************)
[********//	{************}	(**************)
[***  **\\	{***      ***}	           |+++)
[***   **\\	{***      ***}	           |+++)
[***    **\\	{***      ***}	           |+++)
[***   ****||	{***      ***}	/==============)
[__|   |___||	{***      ***}	\==============)

When you finish both, show them to me, and collect your special commemorative RHS Java Programmer sticker to celebrate becoming a real Rough Rider Java programmer!

GRADING (Classwork)
Completed 1 pt
DUE: Friday, September 16.

Assignment 00: Course Admin

Please complete the following three course administrative tasks for this assignment:

  • Discuss the syllabus and course policies with your parent or guardian and return the signed form to me.
  • Fill out an online survey with some information about yourself for me. You can find a link to the survey in the menu above on this site: Info | Student Info Survey.
  • Have your parent or guardian fill out an online (or on paper) survey and submit it or return it to me with the letter: Info | Parent Info Survey.
GRADING (Classwork)
Family letter signed & returned
Student Info survey completed
Parent Info survey completed
1 pt
DUE: Monday, September 12.