CSC 171
Homework 1

Assigned Feb 1, due Feb 11

Reading and Reactions

Programming

This looks like a lot of methods to write, but each one is pretty short and simple. They'll probably each be ten to twenty lines long, and most of this is contracts, examples, and inventories.

For all the programming assignments, be sure to follow the design recipe. First, create a class; for now, all your methods will be in one class (let's suppose it's called Homework1. Then, for each method, follow the design recipe to design, code, and test it.

Be sure to choose meaningful names for methods and parameters, and watch for opportunities to re-use methods you, I, or the textbook have already written.

Also turn in a log of how many errors of different kinds you encountered in the assignment, with brief comments describing each one ("mismatched parentheses" is self-explanatory, but more complex errors might need more description). You may do this using the PSP forms, or simply by keeping track in a text file or on paper and turning it in.

How to turn this in

This part can be done from any computer that has BlueJ and our customizations installed, but it'll be easiest from your computer rather than a lab computer. Once you've written your methods and test cases, you should have two classes: Homework1 and Homework1Test. From BlueJ's "Tools" menu, choose "Submit..." (which should be at the bottom of the menu). Browse to "Computer Science Courses" -> "CSC 171 Introduction to Computer Science", then click the "Submit" button. It'll ask for your name and any message you want to attach, then (perhaps) your Adelphi e-mail address and password (it needs this in order to send mail). It will then package up all the classes in the current project and mail them to both Dr. Bloch and Dr. Stemkoski.

Methods to write

For now, I recommend putting all of these in one class (say, Homework1).

Grading standards

Office visit:         /5
Did you do it?

Essay:               /25
(Grading primarily on content: convince me that you've read the articles and some of the adages and thought about them.)

Error log:       /10
(I'm not grading on how many or how few errors you encountered, only on whether you recorded them adequately.)

Programming: To save time and get you feedback more quickly, I probably won't grade all of the methods, but a random selection of them. For each method, I'll award

General skills:

Following directions /10
Writing contracts from word problems /10
Choosing test cases /10
Choosing names; readability /10
Coding /10
Code re-use and function composition /10

So if I were to grade 8 of the methods, the assignment would be worth 300 points: 5 for the office visit, 25 for the essay, 10 for the error log, 25 for each of 8 methods, and 60 for the "general skills".


Last modified:
Stephen Bloch / sbloch@adelphi.edu