CS 1501 Announcements Summer 2006 (206-7)

These announcements will be updated frequently. You are advised to check this page often.

 


July 18, 2006

Due to a meeting that I must attend, I need to shift my office hours for today, Tuesday, July 18, 2006.  My office hours today will be from 2-4PM.  Sorry for any inconvenience.


June 29, 2006

·        In order to help you with Assignment 3, Jiang has volunteered to have recitations on BOTH Monday and Wednesday of next week.  Monday’s session will be unorganized – she will just be available for questions and general help on the project.  Wednesday’s session will be more organized – she will address some specific issues that you may have trouble with.  Naturally, you are welcome to attend both of these sessions.


June 26, 2006

·        As I mentioned in lecture today, the late penalty for Assignment 3 has been waived.  This does not affect any due dates for the project.  However, if you turn in the assignment by the late due date you will not lose any points.

·        Jiang has told me that it was the majority opinion of the class to have the recitation on Wednesday, July 5 next week (rather than the normal Monday recitation).   Therefore, please plan on coming to recitation Wednesday
   Note 1: Lecture will still meet on Monday, July 3 as scheduled
   Note 2: If you want some help on Assignment 3 on Monday, please see me during my regular office hours, or make an appointment with Jiang.


June 21, 2006

·        Note / Hint on Assignment 3: Since the file you are creating is binary, and since the codewords have variable lengths, identifying the logical end of the file can be problematic.  If the last codeword generated does not fall on a number of bits that is divisible by 8, the final byte in the file will be only partially used.  The problem is how to identify the part that is used and the part that should be ignored when reading.

A solution to this problem is to use a special sentinel codeword to designate the end of file.  After all legitimate codewords have been output, write the sentinel codeword before closing the file.  Then, when reading, test each codeword for the sentinel before using it.  When the sentinel is reached, stop reading.  Luckily, there are many invalid codewords that we can use as the sentinel (see Slide 115 in the Powerpoint notes).


June 20, 2006

          Remember that the midterm exam is next Monday, June 26, 2006.  Plan accordingly.

          Some practice questions for the midterm exam are now online – see the main CS 1501 page for the link.


June 14, 2006

I have uploaded the expected results for # found and # not found for Assignment 2.  I have also put online the grading sheets for Assignment 2.  See the Assignments page for details.

Justin Fiore sent me an interesting note about Binary Search, and problems with it for very large arrays.  For details, see this link.  Note that the algorithm itself is not the problem – rather it is the limited resolution of the int type.  This problem should not affect your assignment results, since the arrays needed in the assignment are not even close to the size that causes this problem.


June 8, 2006

I was asked if you could use the Collections.sort() method and the Collections.binarySearch() method in your SortDict implementation.  Since the implementation focus for Assignment 2 is on the hash table, I don’t object to your using predefined Java methods in the SortDict implementation.  Thus, if you want to use Collections.binarySearch() for your find() method, that is ok. 

However, you should not use the Collections.sort() method within your insert() method.  The sort will require Theta(NlgN) time and has a lot of overhead (it copies the List into an array, then sorts the array, then copies back into the list -- read the details in the Java API).  Rather, you should maintain the sorted list during your insert() (by shifting if necessary).  This is a linear process, Theta(N), which is much better than sorting each time.

Note:  If you had a sort() method in the searchTest interface you could do all of the inserts at the end of the list, then sort once when the inserts were finished.  This would require only a single Theta(NlgN) sort for all of the data.  However, in practice this is dangerous, since in this case insert() no longer guarantees as a postcondition that the list is still sorted.  Thus, a user who forgets to call sort() after the inserts could be using an invalid data structure (since binary search will not work if the list is not sorted).


June 7, 2006

The grading sheet for assignment 1 (for the regular section and the W section) is now online.  Take a look at it in case you are unsure about submitting on time or waiting until Friday.


June 1, 2006

·        I will have the submission site ready by Friday, June 2, 2006.  Check in the afternoon if you want to test your submissions.

·        Quiz 1 will be during recitation on Monday, June 12, 2006.  Plan accordingly.


May 26, 2006

Part B of Assignment 1 is now online.  See the Assignments page.

Some test files for Assignment 1 are now online. I will likely add more later, so check back.


May 25, 2006

After thinking about various solutions for Assignment 1 Part A, I decided that you might benefit from another version of the searchPrefix method.  I have added a version that takes a StringBuilder and (start , end) indices.  This allows you to pass in a StringBuilder but only test part of it against the dictionary.  This could be helpful depending on how you are maintaining your various strings as you recurse through your solution.  Note that if you want to add versions of these methods that take (char [] ) arguments in addition to the StringBuilder methods, that is ok, as long as the search is the same.

For an update, see the Assignments page.

I will be putting some test files and solutions online in the next couple of days – check back regularly.

Have a nice holiday – see you next Wednesday.


May 8, 2006

Welcome to CS1501 for the Summer 2006 (206-7) term.

If you want to get a head start on the material, look at the online syllabus and start reading the referred sections in the text.

Note that we are assuming that all students have a good background (from CS 0401 and CS 0445) in Java.  If you are somewhat rusty with your Java, I recommend reviewing it and getting up to speed with it as soon as possible.

Unless otherwise announced, the recitation will meet normally during the first week of classes.  However, the first assignment will not be discussed until the second or third recitation.

To prepare for the first assignment, read over the submission procedures that will be in effect throughout the term.  Your TA will go over these with you during the first recitation.  The submission site should be set up with your correct directories well before the due date of your first assignment.