CIS 210 Fall 2006
Assignment 1
Homework 1 - Week 1
This homework is due Wednesday, October 3 at 5 PM.
Use the web service e-turnin to submit
your work electronically.
You may turn in revisions of your homework up to the time it is due.
Before you start
This is a critical assignment. It sets the pattern for your work in this
class. You will have to do some independent reading and you will need to
become familiar with the environment for writing, compiling, and testing
Java programs.
First, review the do's and don't's
about what it takes to pass this class.
How to work through assignment 1
The material covered in this first assignment is not too difficult - the
assignments will get harder as the course progresses. If you struggle
with this first assignment while following all the do's and don'ts,
you should meet with the professor
or GTFs to discuss whether this is the right course for you.
Use the staff office hours as much as you can, and/or use email to ask
questions.
Some additional pointers on how to approach this particular assignment:
-
Problem 1.1 will not be covered in lecture. Do the background reading from your
text and get started immediately.
-
We won't finish covering the material for the rest of the problems
until later in the week, but start looking at them immediately anyway.
Make sure you know how to copy the code templates given
and run them. Start figuring out what code will or won't compile. On
paper think about how to actually solve the problems. This will generate
questions you can bring to the lecture, labs, the professor or the GTFs.
-
Labs are set up to give you a head start on assignments. The first week labs
will discuss how to use programming tools and the web. We'll get you started on
creating files to work in, and other basic stuff.
-
Work out the programming problems on paper before you attempt to write code.
Doing program design by trial and error with the computer can consume an
enormous amount of time. The more you can do with paper and pencil, the better
use you will make of machine time. By the time you
sit down to type in code in TextPad, you should feel confident you have
a working design (and you'll still find plenty of errors to debug).
Follow this important rule of carpentry: Measure twice, cut once.
Don't use lumber and nails as your drawing board.
-
The second and third problems are programming problems and you will choose
a partner in lab to work with. Only one of the members in the pair will submit the solution,
but the names of both partners must be included as a comment at the
beginning of each submitted file. You must also fill out a Pair Log
for the second and third problems in which you list the times you worked as
a pair and any comments you have about the pair programming experience.
The intent of the pair programming approach is to enhance the learning process by learning
from each other - it is not meant to divide the work so that you each
have half as much to do. If you find that pair programming does not work out
for you because of scheduling problems, talk with the professor or a GTF about
working on your own.
Note on time estimates
These are guesses on the amount of time the average student will spend
on a problem, excluding background reading. Your mileage may vary.
If the time estimate is consistently way too low for you
(e.g., half of what you actually put in), talk to the professor or a GTF.
Problem 1.1 - Number bases
|
| Time Estimate
| 1 hour (2 hours if you check your answers with a program).
|
| Readings | Section 1.5 in the Liang text book
|
| Turn in | Problem1_1.txt
|
| Points | 20
|
| This is an individual assignment, not a pair assignment.
|
The full description of this problem can be found at
problem description for 1.1.
Problem 1.2 - Making change
|
| Time Estimate | 2-3 hours.
|
| Readings | Chapter 2
|
| Turn in | MakeChange.java
|
| Points | 40
|
| This is a Pair Programming assignment.
|
The full description of this problem can be found at
problem description for 1.2.
Problem 1.3 - Metric conversion
|
| Time Estimate | 1.5 hours.
|
| Readings | Chapter 2, especially section 2.6 and 2.7
|
| Turn in | Metric.java
|
| Points | 40
|
| This is a Pair Programming assignment.
|
The full description of this problem can be found at
problem description for 1.3.
datkins@cs.uoregon.edu