Greetings! Welcome to the first assignment for CSE143 Summer 2004.
In this first project we are simply going to go over a few things that
you should have under your belt before proceeding. You also may get a
little practice looking up stuff in the Java API.
You will see there are two parts to the assignment, a programming and a
review part.
PART I: Programming -- Turn-in Part I here
The assignment is to create a Java program that answers questions in the manner of a "Magic 8-Ball". When a user concentrates very hard on a yes/no question and runs your program, it should resopnd with one of the following messages: yes, no, maybe, ask again....
Write a class called Magic8 that has a main method. Use a Java ArrayList to store the possible messages that the program can display. When a user runs the program, one of the messages listed above should appear. Further, it must be possible to for any of the messages to appear without recompiling the program. For example:
> java Magic8Notes:
yes
> java Magic8
maybe
> java Magic8
ask again...
> java Magic8
yes
> java Magic8
no
- You may use any method you wish to select which message gets displayed each time the program is run but you might take a look at the Math class in the API.
- Yes, you must use an ArrayList, even if you can figure out a simpler way to write the program!
- If you don't remember the details about main, just look it up in your textbook.
Hand in Magic8.java electronically by the due
date at the top of this page. (If you did not take CSE142 at UW:
This is the only way you can turn in the program, so leave plenty of
time to figure it out in case something goes wrong. If you miss the
deadline, you can't e-mail the program to your TA, or turn in a disk, etc.)
In addition, write a short technical description (at most one page,
but a paragraph will probably do) of your program and how it works.
Turn this in (hardcopy) at the next lecture after the due date above
(along with the Review part of the assignment). [Note
added 6/22: unless you handwriting is exceptionally clear,
please type this!]
PART II -- REVIEW (SELF-ASSESSMENT)
CSE142 covered chapters 1-7 of the textbook and some material in
later chapters. Please spend some time reviewing this
material. One quick way to survey the material is to
read through the glossaries at the end of each chapter, making note of
any terms that are unfamiliar or not well understood.
For this part of the assignment, make a list, to hand in, of all the terms in the glossaries for chapters 1 and 2 which are either new to you or which you feel you do not understand well. That's all you have to do! Just make a list of those terms and and hand it in on a piece of paper with your name on it. If you understand everything -- hand in a piece of paper anyway, telling us that. (Athough that's all you have to do to get credit, for you own benefit you should find out what those terms actually mean! Read the book, talk to your TA, go on the Internet, etc. And you shouldn't stop with chapters 1 and 2. Keep going as time permits until you have reviewed everything.) [Note added 6/22: likewise, please write very legibly, or type it.]
This little project is to be done by individuals -- no pairs.