University of Toronto - Fall 2001
Department of Computer Science

CSC 228: Old "Recent Announcements"

(Nov. 26) Remember that the project presentations start today. Aim for 7 minutes MAX. Good luck!

(Nov. 8) I'm going to make a simplification to the project which should make life easier for you. You will recall that the project handout says that when you delete a record from the song file, you must delete the corresponding primary key from the B-tree as well as both hash tables. You may recall that one of the advantages of having a primary key index was that you didn't need to update all the secondary key indexes when deleting a primary key. You could simply flag it in the primary key index. Well, I still want you to delete the primary key from the B-tree (it's an important operation). However, now you don't need to delete the primary key from either hash table. If you get a deleted key from the hash table and search for it in the B-tree, the search will simply come up empty, meaning it's been deleted. That means minimal maintenance of the hash tables, in the spirit of localizing changes.

(Nov. 6) A student left their blue folder on the front desk last night. You can pick it up from me during office hours on Wed.

(Nov. 6) The project groups as well as presentation schedule has been posted. Click on assignments.

(Nov. 6) The tutor has checked the library today and was shown by the librarian that the newly created class note packets (3) were there, along with the other ones.

(Nov. 5) Due to the convergence of various midterms, Assignment #2, and drop date decisions, etc., a number of you have been unable to prepare a request for regrading for Assignmment #1B. I will therefore, for assignment 1B only, allow you to submit your regrade request late. Specifically, I will give you until next Monday, Nov 12, to hand in a regrade request.

(Nov. 5) Just a clarification for the project. Your primary key index is to be implemented as a B-tree, with the additional feature of having the leaf records (containing the primary keys and RRN's to the song file) linked to each other. This allows you to access the sorted primary keys sequentially, without having to traverse the B-tree. In the project handout, I called this a B+ tree. However, you should note that this is not the same B+ tree as described in the text, which maintains a linked set of blocks in which the sorted records (not pointers to records in another file) are contained. You are not keeping a sorted set of records; rather your (song) records are entry sequenced and stored in a separate file (separate from the B-tree primary key index file). Moreover, they are pointed to by the RRN's associated with the keys in the leaves of the B-tree.

(Nov. 2) This afternoon, I will put in the library a copy of the B-tree insertion/deletion examples I covered on the board in the last class.

(Nov. 2) I will use the tutorial on Monday to get a head start on hashing, so that you are better prepared for yoru Project Plan, due a week from Monday. Therefore, please stay in the classroom and do not head off to your tutorial sections.

(Nov. 1) Some of you have already developed a working program for Assignment #2 and, although it compiles and runs on another machine, it doesn't even compile on eddie. For Assignment #2, therefore, I will allow you to submit from the *cdf* machine you developed you program on, provided that you tell the tutor in your report which *cdf* machine your program should be tested on. I will make this exception only once, given the time that people have already invested in the assignment on a particular machine. For the project, you must test it on eddie.

(Nov. 1) The test files for assignment #1 have been posted to the website.

(Oct. 30) Those of you who have not been able to find a project partner (or partners) must contact me ASAP.

(Oct. 30) Some of you lost points on Assignment 1B because your program encountered a segmentation fault. I spoke to some who claim that their program ran on a cdf machine with no problems. This may be due to either a bug in your program (remember that the tutor's test file is different from your own) or due to different cdf machine OS's. If it's the latter, you will not lose points. But when you submit your regrade request, you must specify which machine your program ran correctly on, so the tutor knows which machine to test your program on. In the future, please test and submut your programs from the machine named "eddie".

(Oct. 30) The midterm grades (and all your grades so far) have been posted on the web. The midterm grade you see is your raw grade. The midterm is now out of 55. The last day to drop the class is November 4.

(Oct. 29) Remember, your project group membership lists are due in class tonight. If you don't hand one in, you risk being assigned a partner (or partners). Assignment 1B's and 2A's will be handed back tonight in your assigned tutorial. The project will be handed out in the tutorial as well. The tutors will go over the midterm in today's tutorial.

(Oct. 23) For Assignments #1 and #2, your grade will consist of (approximately): achievement (40%), quality of code (20%), testing (20%), and report (20%).

(Oct. 23) I have just posted new limits on your Assignment 2 parameters to the newsgroup.

(Oct. 23) Having randomly sampled some of the midterms and having read some of the newsgroup postings and email to me, it would appear that the time I had budgeted for the four questions was not enough. If my sampling is any indicator, then you are not alone if you were not able to finish the exam (or even attempt question 4). If everyone found it long and the grades are uniformly depressed, that can be easily corrected in the final evaluation (final exam or final grade). I'd be more concerned if half the class completed the exam and half didn't. Please don't worry - it will be corrected one way or the other. Still, I apologize for the anxiety this has caused some of you. I will post the solution to the midterm this morning.

(Oct. 15) Clarification to Assignment #2. Although I let you build each index in memory, you need to write them out to a file (or files), because I want you to perform the index search in your index files, NOT IN MEMORY. I allowed you to build them in memory so that you wouldn't have to sort the records in your index file (a pain). I thought that my "scenario" of having enough space to hold only one index would force you to write out the index to a file and do the search there (on the bottom of page 1: "You will need to search the appropriate index file to find out the entry for the query artist or genre."), but some students are interpretaing this as reading the index back into memory to do the search. I actually don't care how you build the indexes - I just want you to put them into a file (or files) and use them in the file(s). In fact, if you want to build them simultaneously in memory (so that you don't have to re-read all the song records to build the second index), that's fine. But once you write them out to a file, they stay there.

(Oct. 15) I just posted some (4) additional slides on indexing on the webpage. They summarize some material in Chapter 7 that I will talk about today.

(Oct. 14) To terminate the query processing, simply check for an eof character (cntrl d char in standard input).

(Oct. 11) For the Monday, October 15 class, I will give a brief review for the midterm and go over an old midterm during the tutorial hour. Therefore, please do not head to your tutorial rooms at the end of the class. I have put the old midterm and its solution on the web page.

(Oct. 11) Note that your Assignment #2 Part A is due Monday at 6:10 pm.

(Oct. 8) There appears to be a problem on cdf that yields a "no space left on device" error that a number of students are experiencing. I have confirmation from a cdf staff member that this is a system problem and not a student code problem. Unfortunately, many students have lost considerable time due to this problem. To work around the problem, students should avoid logging into "eddie", the cdf machine that you get when you telnet or ssh to cdf.toronto.edu. Instead, they should log onto some other cdf machine. A full list of machines can be obtained using the "ruptime" command. For example, you could try tiger.cdf.toronto.edu or penguin.cdf.toronto.edu. As a result of this problem, which is not the fault of the students, the deadline for Assignment 1B will be extended by 24 hours, e.g., Wednesday, October 10, at 6:10pm.

(Oct. 2) There's a typo in the second assignment handout. Part A is worth 3% of your final grade, while Part B is worth 12%, for a total of 15%. Sorry about that.

(Oct. 1) Assigmnet 1A will be returned during the break in tonight's class.

(Oct. 1) Assignment 2 has now been posted and will be handed out in the tutorial tonight. I'm handing it out early since we don't have a class next week. Part 2A is due two weeks from tonight.

(Oct. 1) Additional new accounts have just been posted.

(Sep. 24) For Part 1B, I'd like you to make a small change to improve the interface and simplify testing. The change is trivial and will have little impact on your programs. Specifically, I'd like your program to take, as input, three files (not two): the input song filename, the input storage filename, and the "final" output album filename.

(Sep. 21) New accounts have just arrived!

(Sep. 21) Tasos has posted a number of important messages to the newsgroup, including some example files. Note that the genre classes that he uses in his example song file contain some classes that were not included in my original specification. Please add these new classes to the specification, so that you can test your program on Tasos' example file.

(Sep. 17) The cosequential processing slides, in fact, are on the website, but under an explicit link near the bottom of the "additional slides". Have a look -- you'll find it.

(Sep. 17) One of the tutors (Anastasios Kementsietsidis) has been delayed in returning to Canada from Europe. Therefore, those students assigned to his tutorial (normally in Room RW142) should report to WB116 (the main lecture room) for the first tutorial only.

(Sep. 16) A number of students have requested copies of the handwritten slides presented last lecture. As I mentioned in the first class, handwritten slides represent a small portion of the course slides, appearing primarily in the first three lectures. Nevertheless, some of you were scrambling to keep up in the lecture. Therefore, I have put 5 copies of each of the first three lectures' slides on reserve in the library for you to copy or to look at, in case you missed any of the material in class. I will also endeavor to slow down the lecture a bit.

(Sep. 16) The first assignment will be handed out in your first tutorial tomorrow. I will also post it on the web on Monday afternoon, prior to the class.

(Sep. 16) Additional CDF computer accounts have now been posted.

(Sep. 10) Correction made to the course information sheet. The project due date is the last class, December 3.

(Sep. 10) The fifth tutorial section room has now been assigned.

(Sep. 9) The tutorial assignments are now available on the web page. Please report to your assigned room. Note that the fifth tutorial section has not yet been assigned a room. It will be assigned this week, in time for the first tutorial (immediately following the SECOND class -- see first announcement below).

(Sep. 7) Welcome to 228! Please check the website below for your tutorial assignment (I'll be posting it soon), but note that there will be no tutorial the first week. Instead, I will use the hour to lecture. Also, I've posted the course information sheet on the web page that describes course particulars. Have a look at that, as well as the other links on the web page. There are a number of links that are undefined, e.g., lecture slides, etc. I'm working on those and should have them up soon.