CIT 591 Older Announcements
Fall 2007, David Matuszek

Date Announcements
November 15, 2007There will be no class Wednesday, November 21 (the day before Thanksgiving) and no lab Friday, November 23 (the day after Thanksgiving). The tenth assignment will be due in two weeks (Thursday, November 29).
November 15, 2007

The following have now been tested and posted:

There are still a few people who haven't filled out the previous evaluation forms. Please do so as soon as possible.

November 9, 2007

Because the fire alarm in Moore last night made it difficult for some students to finish their assignments on time, I'll give a one-day grace period for the Battleship II assignment. If you turn in the assignment a second time, only the latest one will be graded.

What you should learn from this is, don't wait until the last minute to do your work. The only reason I'm being nice about this is that I'm just as bad.

November 7, 2007 MCIT students: Each semester you will be placed on "registration hold." This is routine. If you are doing the "normal" thing--that is,
  • You are full time taking 591, 592, and 593, and you want to take 594, 595, and 596, or
  • You are part time taking one of 591, 592, or 593, and you want to take the sequel (591 -> 594, 592 -> 596, 593 -> 595)
In these cases, just send me an email telling me your plans, and I'll ask Mike Felker to release the hold. In other cases, you should come and talk to me about your plans.
November 7, 2007

Here is the sample ButtonGui class, as discussed in lecture.

To set the "Metal" look and feel, use this before creating the GUI:

 try {
catch (Exception e) {

You may (or may not) need to do this:

November 6, 2007

The following have now been tested and posted:

Please fill these out.

November 2, 2007 The deadline for the IonDance assignment has been extended to midnight Saturday. If you have already turned in a version that you are not happy with, you have some extra time; we will grade only the latest version submitted.
October 31, 2007

Clarification: " should display the minimum, maximum, and average distance from each ion to its nearest neighbor."

Suppose you have ten ions. For each ion, find the distance to its nearest neighbor. This gives you ten numbers. Find the minimum, maximum, and average of these ten numbers.

October 30, 2007

I hate to change the assignment at this late date, but the way it is written, it is impossible to test without looking at the internal data structures of IonBox--which, of course, is a no-no.

The problem is that the two methods
     void putIon(double x, double y)
     void putFixedIon(double x, double y)

give you no way to find out what ions they create. I am changing the definition of these methods as follows:
     void putIon(Ion ion)
     void putFixedIon(Ion ion)

In this way you have to create the ion first, then put it in the IonBox. This gives you the opportunity, in your JUnit tests, to create and keep track of ions.

These changes will require minimal changes in your IonBox class, and will make it possible to do reasonable JUnit testing.

October 22, 2007 The Battleship Evaluation Form has been posted. <-- This link is now fixed!
October 22, 2007

Here are some Hints for the Secret Code Assignment.

Here are some Tips for using JUnit.

Here are some additional requirements for the Secret Code Assignment:

  • Use a StringBuilder to hold the text of the secret message, so that you can modify it as you come closer to decoding it.
  • Everything in the Lexicon is in lowercase. Hence, everything you get out of the lexicon will be lowercase. The countWord(String word) method, which puts words into the lexicon, is where you should change words to lowercase. The various encode and decode methods work with mixed case, and keep the case they are given.
  • Every method should be short enough to see all at once on your screen.
  • Javadoc every method (except methods in your test classes, and print methods).

Here is a text file you can use for testing your program.

October 15, 2007

Thanks to everybody for filling out the partnership evaluation forms. Thanks especially to those of you that wrote comments--they will be helpful in determining future partner assignments.

Also, it helps if you will use full names and proper capitalization. Some manual corrections are inevitable, and that's okay, but this will minimize the number of corrections I have to make.

If you haven't filled out the forms, I've charged a 5 point penalty for each missing evaluation. I'll take off an additional 5 points later this month for any evaluations that still haven't been done.

October 12, 2007 Here are some important notes about Testing the Ocean Class.
October 12, 2007 I forgot to say--there will not be a beginner's section today, either. I'm taking advantage of the Fall break!
October 9, 2007 There will be no lab and no new assignment this week. Enjoy the break!
October 9, 2007 Review session for CIT 591 midterm is tonight, 6pm to 8pm (or possibly later) in Moore 212 unless someone needs it for a class
October 8, 2007

Additional requirement in the Battleship assignment:

All fields (instance variables and static variables) in the Ocean class must be marked private. You may not provide getter or setter methods for those fields, other than those specified.

The reasons for this requirement will be discussed in class.

October 8, 2007

pizzaStudents enrolled in the MCIT program:

We will have our first pizza party of the year on Wednesday, October 10, at 6:00 in Levine 315.

Sorry, but due to the large classes this year, I can't invite everyone in the CIT classes; just the MCIT majors.

October 6, 2007 I have posted the TicTacToe partner evaluation form and the Sudoku partner evaluation form. These, along with the Dates partner evaluation form, are due before the midterm exam.
October 5, 2007 I've updated the "JUnit in Eclipse" slide in JUnit Testing to match the new version of Eclipse.
October 4, 2007 PLEASE READ THIS.
October 4, 2007 I won't be in my office today until 4:30 or 5:00. After that, though, I will be available until about 8:00.
October 3, 2007

By "popular demand," I am posting the JUnit tests used for the Dates assignment. Each failed test costs 10 points. Please run these tests before you inquire about the grading.

Simplified JUnit installation: Open your Dates class. Click on File --> New... -> JUnit Test Case. Make sure New JUnit 3 test is selected, then click on "Click here to add JUnit 3...". Let Eclipse finish creating the test class, then paste mine over it.

Similarly, the Sudoku assignment asks you to implement several small methods. If you implement all these correctly, the solve() method should be easy. You may not need all these methods to write solve(), but they will all be tested, so you do need to write them.

October 2, 2007 Here are some additional Easy Sudoku Puzzles. Note: The fancy one in the assignment (with the rollover) is not an easy one.
October 1, 2007 The final exam will be Friday, December 14, 12:00-2:00.
September 30, 2007

I have revised the Partner Evaluation Form for Assignment 2 -- Dates. The new version is, unfortunately, very slow, but it is much easier to use, and should work for everyone.

If you are one of the few people who have already submitted this form, please resubmit it. Sorry, but I've revised the software. If you have not filled out this form, please do so right away. Remember, this is a course requirement.

September 27, 2007

For the Dates assignment, please fill out the Partner Evaluation Form. and email it to me. If you had no partner, use the form to indicate the fact, and send it anyway. This is a course requirement.

This form is a bit late because I am still testing the software. I will put up a partner evaluation form for the TicTacToe assignment in a few days; don't use this form for that assignment.

September 26, 2007 In class I had some doubts about the Scanner class. I've added a note to the TicTacToe assignment page to explain how to use Scanner in the ask method.
September 18, 2007

Another network problem in Moore 207 has now been fixed.

If you could not use Eclipse last Friday, would you please do me a favor? Go to the lab, log in, and see if you can use Eclipse to write a simple "Hello World" type program. Then send me email telling me if it worked.

This isn't a requirement, but it would be a big help if we knew who was having problems and who wasn't.

September 17, 2007 In the Dates assignment, I've added an example for the "day of the week" algorithm. I also added the following clarification to the "time between" part: "If both dates are the same, the 'time between' should be zero. If the dates are consecutive, the 'time between' should be one."
September 17, 2007 Macintosh users: If you are having trouble installing Java SE 6 on your computer, I have made a copy of Apple's Installation instructions. See in particular Specifying JVM Versions. If you are still having problems, please let me know.
September 17, 2007 Improved wording in the day of week algorithm:
2. Divide the year by 4 and ignore any remainder. Add this result to the year, giving a total.
September 14, 2007

Corrections to algorithm in Assignment 2:

  • The month code for January should be 0 (not 2) in non-leap years.
  • Omit step 7 entirely.
September 13, 2007 The Beginner's Section will be 1:30-3:00 Fridays in Towne 315.
September 13, 2007 The following people are in the 10:30 Friday labs: All current MCIT students; K. Amin; A. Bajaj; R. Beck; SK Chang; A. Collier; A. Shanbhogue; V. Sivakumar; and N. Wadhwa. Except as listed, all non_MCIT students are in the 3:30 lab.

If anyone else would prefer to move to the morning session, please let me know as soon as possible (preferably before 5:00 today).
September 13, 2007

Microsoft, in its wisdom, decided to hide file extensions from users, presumably because they thought extensions might be confusing. However, students need to know what kind of files they are working with.

In XP, open a directory window and choose Tools -> Folder Options... -> View and uncheck Hide extensions for known file types, then click the Apply to All Folders button. (You might want to change some other settings as well.)

This should help greatly with the problem of submitting incorrect file types to Blackboard (only .zip files should be submitted).

September 11, 2007 Beginner's section: Unsurprisingly, there is no time that works for everyone. The best time appears to be 1:30-3:00 on Fridays; I'll try to get a room for that time. My apologies to those who can't make it at this time.
September 11, 2007 In class tomorrow, I'll talk about submitting your assignments via Blackboard. If you have not already turned in the first assignment, please wait until then to do so.
September 11, 2007 This week only, two of the TAs (Luke and Saj) will hold office hours Wednesday, 6-8 p.m., in Moore 207. Regular office hours will begin next week; check here for times.
September 10, 2007

If you have trouble finding the software for this course:

September 7, 2007

We have Heilmeier Hall (Towne 100)!

If you put your name on the list, Mike Felker is registering you now, and you should be officially registered by 2:00. Please go to Moore 207 after that and try to log on to a computer there. If you can, you're all set!

September 6, 2007 Unregistered students: If you put your name on the list that I passed around, you will be registered if and when I get a classroom large enough for everybody.
September 6, 2007 The bookstore now has our textbook in stock.
September 6, 2007

We have an extra lab section. I will post here as soon as I know anything about a lecture room.

Students in the MCIT degree program will have lab in Moore 207 on Fridays, 10:30-12:00.
Students in other programs will have lab in Moore 207 on Fridays, 3:30-5:00.

If you have an occasional conflict, you can attend the other lab section--just let me know in advance, preferably by the day before. If you have a permanent conflict, send me email now (so I get some idea how many people this will affect), and talk to me about it next week.