Useful Links
- Practice-It!: a site for practicing Java that is tied to our text book
- Indenter Tool: fix indentation of your Java code
- Output Comparison Tool: compare text output against expected text to see if they match
- Coding Conventions: a list of rules to follow for proper coding style
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.
- Read Part 3 of the GridWorld case study (from the Student Manual).
- 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
- to give you a comfortable way to get familiar with the format, timing, and style of questions of the actual AP CS exam
- 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
.
- Read Part 2 of the GridWorld case study (from the Student Manual).
- 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.
- 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
, andDancingBug
. 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.
- Read Part 1 of the GridWorld case study (from the Student Manual).
- 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.
- 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 mystery1
— mystery5
.
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
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 theBaby
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 theProcreate
client to specify the number of fingers and number of toes as a parameter. - Modify the main constructor for the
Baby
class to throw anIllegalArgumentException
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:
- Go to the site, Roosevelt CS Forum, and click the “Register” option.
- 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.
- 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.
- 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:
- The boolean variable “
passed
” in themain
method indicates whether thenextInt2
method 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(...);
?
- What does the operator “
- 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 asallOK = (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.
- How to live before you die, Steve Jobs, Stanford University Commencement Speech, June 12, 2005. Transcript
- Apple’s Visionary Redefined Digital Age, John Markoff, NY Times, October 5, 2011.
- What Made Steve Jobs So Great?, Cliff Kuang, Co. Design, August 25, 2011.
- Steve Jobs: Imitated, Never Duplicated, David Pogue, NY Times, October 6, 2011.
- Comedy Central Weighs In on Steve Jobs, Nick Bilton, NY Times, October 7, 2011.
- How Jobs Put Passion Into Products, James Stewart, NY Times, October 7, 2011.
- The Power of Taking the Big Chance, Steve Lohr, NY Times, October 9, 2011.
- The Wizard and the Mortal: Two Sides of Genius, Randall Stross, NY Times, October 9, 2011.
- Apple co-founder and Silicon Valley pioneer Steve Jobs is dead, Bruce Newman, San Jose Mercury News, October 5, 2011.
- Steve Jobs: More than a turnaround artist, Michael Hiltzik, Los Angeles Times, October 5, 2011.
- Up From Ugliness, Ross Douthat, NY Times, October 8, 2011.
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 |