CS 1501 Announcements Summer 2006 (206-7)
These announcements will be updated frequently. You are advised to check this page often.
Due to a meeting that I must attend, I need
to shift my office hours for today,
· 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.
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
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.
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.
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
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.
that we are assu
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.