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.
·
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
co
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
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 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.