Below you'll find, in reverse chronological order, course announcements. Please check (and re-check) it regularly.


Monday August 15th: Last year's final

Here's last year's final, with solutions. Please note that Question 8b carried the warning "a lot of work for 5 marks" (and I subsequently bumped the marks up by 5). Also, several of the questions (Q5, for example) resembled questions that had been posed on assignments.


Tuesday August 8th: Exam preparation

See the week 13 lecture summary on lecture page for a summary of suggested exam preparation. I will post solutions to all quizzes and midterms this week, plus other materials on request. Here's the solution to midterm 2, with the marking scheme.


Thursday August 4th: Extra office horus

I'll have office hours on Monday August 15th from 2--4:30 and from 5:30--8pm. These are combined with hours for students from CSC165, so if demand is high, I'll take questions in round-robin fashion.


Friday July 29th: Midterm preparation

I have posted solutions to the remaining quizzes under lectures, and solutions to all assignments are under assignments. If you review lecture summaries, assignment solutions, and quiz solutions, you should be well-prepared for next Tuesdays midterm, which takes place during tutorial and in your tutorial room.


July 19th: Correct A4

A couple of glitches in Assignment 4 are corrected in the most recent posting (9:14 pm), see assignments page.


July 19th: New office

I am now sitting in BA3222 (third floor of the Bahen Centre). This week's (and future weeks') office hours will be conducted in my new office, since I believe it is a little more convenient for students.


Friday July 8th: Mark summary

You should have received a summary of your marks so far at your cdf account. If not, let me know. If you have any problem accessing your account, let admin@cdf.toronto.edu know. The relevant marks are the quizzes (q1--q5), the assignments (a1,a2) and the midterm (m1).


Wednesday July 6th: Midterm solutions and marking scheme

Here's midterm 1's solutions and marking scheme.


Tuesday July 5: A3 fix posted

I've posted a fixed version of question 4 on assignment 3. Please see assignments page.


Thursday June 30th: Assignment 3 posted

I've posted Assignment 3 (see assignments page).


Monday June 27th: Old midterm solutions

Now that you've had time to try out last summer's midterms, here are the corresponding solutions: evening midterm solutions and day midterm solutions. DISCLAIMER: In my opinion, reviewing lecture notes, assignment solutions, and quiz solutions is better preparation for the midterm than reviewing my old midterms, since I try my best not to repeat any questions from previous years...


Friday June 24th: Midterm preparation

You will write the midterm in your tutorial room, next Tuesday from 6:10--7:00 pm. Your best preparation is to review the lecture summaries (see lectures), assignment solutions (see assignments), and the quiz solutions (see lectures). There will be 3 questions, worth 5 points each.


Tuesday June 21st: First midterm

The first midterm will be 50 minutes long, during next Tuesday's tutorial. There will be three questions, fairly similar to material covered during lecture or in an assignment (assignment 2 solutions will be posted this Thursday, so you can study them). If you still have time on your hands after reviewing those materials, here are my midterms from last summer evening midterm and day midterm.


Tuesday June 21st: A1 mark adjustment

Please add 6 to your raw score out of 59 for Assignment 1 (that is x/59 becomes (x+6)/59). This was a fairly long assignment, and this brings the average close to 70%.


Tuesday June 21st: More A2 hints

I've posted the second portion of hints for Assignment 2 on the assignments page. Last week I uploaded a bugfixed version of SequenceMunger.java, so that the output matched the printed example (rather than mirror image). Please note that if you use the old version, you still get the correct count.


Wednesday June 15th: A1 marking scheme

The marking scheme for A1 can be found on the assignments page


Saturday June 11: A2 now non-daft

The word "draft" has been removed from assignment 2.


Wednesday June 8th: Final A1 hints"

I've posted the final portion of A1 hints on the Assignments page. I can answer questions in my office hours, via email, or the bulletin board until 4pm today.


Wednesday June 8th: Assignment submission

See the Assignment page for instructions on how to submit assignment 1. You may use the drop box listed there, or submit a PDF file electronically. If you choose the latter approach, please make sure that your PDF file displays and prints using acroread.


Tuesday May 31st: Introduction to CDF

The CDF staff invites all students to come and learn how to use CDF:

Introduction to CDF Seminar Friday June 3 2005 @ 12-2PM BA1170

Topics to cover: KDE (web, submit), Basic Unix / Linux commands, Mail / News (forwarding, checking), Using external devices (CDs, floppys, USB), Printing (print, lpr), Working from home (Win XP, OS X, Linux), Wireless and Wired computing with CDF, and more.


Tuesday May 31st: CGPA waivers

From Diane Horton, dianeh@cs.toronto.edu:

Reminder to UofT students who are not in a CSC subject POSt: If you are in a CSC course for which you lack the cgpa prerequisite and you did not get a waiver, you will eventually be removed from the course. It would be better to drop the course yourself rather than to keep investing your time into it until you are removed through the prerequisite-checking process, which can happen quite late in the term.

The deadline for requesting a waiver is Wednesday, June 1st. See the Registration Handbook and Timetable for more information: http://www.artsandscience.utoronto.ca/ofr/timetable/winter/csc.html (Scroll down to "Prerequisites, Co-requisites and Exclusions".)

Course prerequisites Note that we are not checking course prerequisites (i.e., prerequisites of the form "you need cscXXX in order to take cscYYY") this summer. If you take a course and don't have the proper course prerequistes, however, you will be at a disadvantage. I urge you to discuss this with the instructor, and to be realistic about how well you are doing in the course. Keep the drop date in mind, in case things don't go as well as you had hoped.


Wednesday May 25th: Quiz 1 solution

Here Quiz 1 sample solution with a marking scheme.


Wednesday May 25th: Clerical errors

Check the Assignments page for a list of clerical errors in Assignment 1. Check Lectures page for a clerical error in the summary of lecture 1.


Tuesday May 24th: Hacking opportunity

John Calvin, jcalvin@noc.utoronto.ca, sends this mail:
I have a hacking job for some bright kid. We have an infrastructure component, 3Com Model 4900 series switch, with a firmware problem that the vendor cannot find. The has only manifested itself at one location, even after three switch replacements, so we know it's not a hardware problem. The problem has gone away for a while, but we know that it will come back.
I need some clever people to try everything that they can think of to crash this switch. I'll set it up and give them the IP address, and I want them to hack on it until it no longer responds to ping (i.e. it reboots). They should be clever and not use a packet-flooding technique. I'm looking for a specific repeatable sequence that will cause the unit to reboot. It may be UDP; it may be TCP; I suspect that it's a malformed SNMP request that is doing it. That's all the info they get.
I'm thinking of an open challenge. I may be able to offer a small prize. I'm trying to get the vendor to put up $1000, but that's a long shot right now. I could use a medium size pool of hackers, I think. Ordered chaos is the idea. Each contestant gets a 24 hour period. We round-robin until somebody gets it to reboot on demand. It doesn't count if they crack the SNMP write string or the passwords; we're looking for a firmware bug that causes the unit to reset.
The goal is to give this little program to the vendor so that they can simulate the problem in their lab and find the firmware bug.
John Calvin Senior Network Analyst University of Toronto


Tuesday May 24th: Quiz today

As noted in the announcement of May 18th, there is a quiz in tonight's tutorial.


Tuesday May 24th: Chalk versus screen?

This evening's lecture will be mainly in chalk (my preferred medium). Once it's over, I'd appreciate it if you filled in the on-line survey on your preferred medium.


Tuesday May 24th: Proof or not?

Questions 1b and 3 in assignment 1 don't explicitly ask for proof. However the best answers should include a proof, in order to convince the reader that your solution is correct.


Monday May 23rd: Help for Assignment 1

The first portion of help for Assignment 1 is available for download, see Assignments page. Ask your TA or instructor if there are parts that are unclear.


Wednesday May 18th: Non-draft version of A1 posted

Check out assignments page for Assignment 1, due June 9th. Questions 1 and 2 differ from the draft version, so you may need to download a new copy.


Wednesday May 18th: Tutorials start May 24th

Tutorials begin next Tuesday (the 24th) at 6pm. At the end of tutorial there will be a quiz on this week's lecture material.

  • If your last name's first letter is in the range A--R, BA2130.
  • If you last name's first letter is in the range S--Z, BA2135.


Wednesday May 18th: Pre-requistes

Diane Horton, Undergraduate Chair of the Department of Computer Science, announced that course pre-requisites will not be enforced this summer. In other words, the department will not remove you from a course for the lack of a pre-requisite, but you still need to carefully consider whether you have the necessary preparation for a course.

On the other hand, the CGPA requirement (2.5 for those not in a CSC Subject POSt) will continue to be stricly enforced.

For late-breaking developments, tune in to CS Undergrad Announcements.


Tuesday May 17th: On-line survey

Please log in to the CCNet CSC236 page and fill in the survey on your background for this course. You may answer the survey anonymously.


Wednesday May 5th: Prerequisite waivers

If you're missing a pre-requisite for CSC236, but you still feel you can do the course, you need to convince me of this during the first week so that I can get a waiver. The consequence for not doing this is that the department office may remove you from the course (usually at the most inconvenient time).