Programming Assignment Checklist: Conditionals and Loops

Frequently Asked Questions

What are the goals of this assignment? To write several small Java programs so that you get accustomed to: declaring and initializing variables, using expressions, using conditionals and loops, arrays, and debugging your code.

What preparation do I need before beginning this assignment? Read Sections 1.2 and 1.3 of the textbook. Read Sections 1.3 and 1.4 of the textbook. You may also find it instructive to work through some of the other exercises and look at the solutions on the booksite afterwards.

How should I format my Java code? How much do I need to comment my code? Follow the style guidelines. Don't forget to put your name, login and precept in the header of every file, as well as a brief description (and/or example run) of each program.

I have the constants 6, 10, 51, 60, and 61 sprinkled through my TenDice program. Is there a better way? Yes, give your constants meaningful symbolic names, such as SIDES or NUMBER_OF_DICE. This will make your code easier to read, maintain, and debug. Beginning on this assignment, you will lose points for not doing so.

Do I have to use command-line arguments to read the inputs? Yes, or you will lose a substantial number of points.

My output from RGBtoCMYK is almost the same as the sample on the assignment page. Only the last digit or two is different. Why is there this tiny discrepancy, and is my answer wrong? Computers work with limited precision, and so different algebraically equivalent solutions can give slightly different answers. In grading we ignore such tiny discrepancies (except for certain assignments later where we explicitly tell you otherwise).


Submission. When you submit, be sure to click the Check All Submitted Files button. Make sure that you submitted the right files and that they compile cleanly. You may resubmit a file after making corrections. The newly submitted file will overwrite the old one.

Possible Progress Steps

These are purely suggestions for how you might make progress. You do not have to follow these steps. The key to writing correct programs is to develop them incrementally, testing after each step.

A drunkard's walk. This is similar in many ways to the gambler's ruin example from lecture and the textbook. The key to building a larger program is developing it incrementally.

Dice and the Gaussian distribution.

Reviewing your Programs

Needless to say, you should continue to follow the guidelines from earlier in the course. Here are some new conventions to keep in mind.

  • Efficient and clear code: This will be more important as we write more complicated programs. This week it includes ideas like:


    Here are some famous and not-so-famous quotations about learning to program.