筆記大貢獻
資料庫

校園天地
Academic

I am currently a 4A Computer Science student in University of Waterloo. My field of study was Software Engineering and it seemed like that's my choice for grad program. However, after going through CS445: Software Requirements Specification and Analysis, I am now giving it a second thought. Anyway, the CS program in UW is good, and we do learn a lot in most courses. However, I would have enjoyed it more in the past four years if I had known what those courses really are and what I should have been aware of before I took them. So I am starting a trend here by commenting in all the courses that I took, and hope that those people who're in 4th year or just graduated do the same thing for me. :)

Papers and Thesis   Resume (password required)

Vote for the worst and best CS course in UW.

There wouldn't be any assignment solution here. It's not legal. Don't even think about it! You are welcome to download notes though, but I can't guarantee that the materials and the texts are still the same.

CS Courses   Math Courses   Electives

Course Code and Title Term took Prof Comment Rate
CS Courses
CS 130: Concepts of Computer Programming F 95 Chrysanne DiMarco If you have taken any programming courses in high school, you don't even need to go to class. I remember that the lectures were right before lunch, and we used to go there for a minute to see what the topic of the day is, then go directly to lunch. And no, we didn't need to use the Macs for assignments. Turbo Pascal was allowed. ****
CS 134: Principles of Computer Science W 96 Keith Geddes ****
CS 246: Software Abstraction & Specification F 96 B Simpson Skipped too many classes to remember anything... and I still got a decend mark for the course (yes, even with that 30 paged final exam.) So there's really not much to say about this course. However, you probably should go to those few classes about objects, and you'll realize that the programs you had written were just ____. ****
CS 240: Data Structures & Data Management

Notes

S 97 Ian Munro Whew! My #1 course from hell! It was the first time this course was offered, and I was stupid enough to choose taking it plus CS 341 rather than just CS 340. It would probably be better now that the profs and the faculty actually know what this course is about. But still, the text book is a piece of junk. One reference that I strongly suggest is Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest. **
CS 241: Foundations of Sequential Programs

Notes

S 97 Brad Bart Compiler and Assembly was actually an interesting course, but I have to warn you that it's not easy. Even though the TAs had been murmuring about how much more work they had to do in the past, the work load was still intensive, especially that most people take this course with other hell courses. I remember spending a couple of all-nighters finishing off the assignment for CS 241, then the assignment for CS 240 was due in two days... And this happened once every two weeks! Also, the assignments are group works, so you better be smart about choosing your partners. I have actually seen quite a few crippled (or even broken) friendships after this course.

Aside: The lecturer disappeared from the campus after that term. A legend about him is that the windows of his car had been purposely broken and threatening notes had been sent to his doors.

***
CS 341: Algorithms
CS 342: Control Structures

Notes

W 98 Peter Buhr One of my favourite and best graded courses. Concurrency is an interesting topic itself, and Peter was a great professor. You would understand everything in lectures even if you don't in other classes, and he is willing to help outside classes too. You can always find him crowded by bunch of geeks (I'm not saying you mar, Thomas. Really!) after class answering questions for at least half an hour. And there was once that I went to him with a stupid bug in the program. He actually sat there going through the whole thing with me for an hour. In this course, you can seriously get a lot of help. Besides Peter, Caroline Kierstead, the lab co-ordinator, is also very helpful in answering questions. If you can't find her in her office, my hint is to find her in the CTRL-A shows. *****
CS 351: Digital Design and Architecture

Notes

W 98 Farhad Mavaddat My #2 course from hell. This is the only course I came through knowing everything there is possible to know and still got low grades. And one thing that I learn most from this course is that being a prof doesn't mean that a person is trustworthy. I won't say too much about this course or it'll turn into a prof-bashing page. But one thing to say is that there are no useful past exams in MathSoc, not many of them are available in the world, and those posted on the web pages are pictureless (think about it, a digital design exam consists of solely diagramic problems only!!!) However, you do NEED them to pass the course. And if you have any friends in 2nd year Engineering, borrow their texts! You'll need to know way more than what you get in class. And don't copy assignment 3 even if you have it from some upper year students. The assignment is only 5%, but its worth in the final exam weights much more than that.

A perfect course to learn the curelness in real life.

*
CS 354: Operating System

Notes

F 98 Rob Good & Howard Hamilton The reason that I put two profs under this course is that both of them were great, and I actually tried (and succeeded for half of the time) going to both of their lectures, but Rob's class was at 8:30am... Sorry Rob! I can't help it especially during the midterm period. Anyway, this is another wonderful course. Even though it drained out practically every single bit of me by working continuously for over a week for each assignment, I actually enjoyed it. Warning: Don't take any crazy course in the same term with this course, or you'll be in the lab forever and don't even need to rent a place. Again, the assignments are group works, and you seriously do want some responsible group partners for this course even if you hadn't for CS 241. And watch out for group partners with just a bit too many social activities. ****

I would have given it ***** if the final exam was easier

CS 360: Intro to Matematical Logic

Notes

W 98 Paul Kearney What can I say about this course? It could have been a great course except for Recursive definition. However, my advise is to get ahead of the class. Learn the materials before they are even presented in class if you want good grades. ***
CS 370: Numerical Computation F 98 Peter Forsyth Choose your prof wisely for this course, or you WILL definitely regret it. You MUST spend LOTS of time on the practice questions. Prepare for some variations. If your exams are open-booked, it doesn't hurt to find hundreds of past papers or old course notes. If they are still using that black covered text book, throw it away and get the reference text, Numerical Analysis by Burden and Faires instead. ***
CS 445: Software Requirement: Specification & Analysis F 98 Michael Godfrey My advise is DON'T TAKE IT! It's not worth the stress and work! In general, giving up on anything is not my style, but I am glad that I did give up on this course, otherwise I would have lost interest in Software Engineering, something that I once believed to be the sign from God. If you seriously do enjoy this field, sit in for the lectures instead! It's the exam and the project that're killing people. No, it's not exactly the marks. I believe that there were about 40% bonus on the final mark, and nobody failed the course. Yet, the stress was tremedious, and the project was totally stupid. **
CS 448: Introduction to Database Management S 99
CS 454: Distributed Systems S 99
CS 480: Information Systems Management W 00
CS 488: Introduction to Computer Graphics
CS 494: Computers & The Law of Info Tech

Notes

F 98 Jerry Kreindler A CS bird course. Yes seriously: A CS bird course. You cannot skip class, but the lectures are interesting most of the time anyway. There are no assignments, and you only need to read through the text and course notes to pass the exams. It is probably difficult to get a really high grade because of the nature of the course, but I don't think anybody failed it either. And besides going to the lectures, you almost won't feel its existence. ****
Math Courses
AM 250: Modelling with Differential Equations F 97
DE
Beverley J. Marshman This course is an application to calculus. If you enjoy calculus, this is a fine choice. Only, I won't recomment taking it through Distance Education. I don't know much about this course on campus, but I find taking a math course in the work term very stressing. ***
C&O 230: Introduction to Combinatorics S 97 C. R. Richmond **
MATH 135: Algebra F 95 Willard ****
MATH 136: Linear Algebra I W 96 Conrad G. Hewitt Great Prof. Great Course. However, he has left Math for those church colleges the last I've heard. And... make sure you remember to fill in every page of the exam paper... :( ****
MATH 137: Calculus 1 F 95 Steven S. Lu Don't sit in for his session. Switch into his class!! ****
MATH 138: Calculus 2 W 96 Liu Hmmm... Hahaha... Be ware of being "picked up" even if you go to class. ***
MATH 235: Lineary Algebra 2 F 96 Chetat Ng ****
MATH 237: Calculus 3 F 96 Marita C. Chidichimo Tip of the day: Part marks are not guaranteed. It doesn't matter if it's JACKobian or Jacobian, or you have only missed one line in a 10 marks question, or there is only a |0.000000001| error.

One prof's treat is another prof's poison.
**
PMATH 330: Intro to Mathematical Logic F 95 I was going to say that this is a bird course. However, with the horrible memory from the final exam, I can only leave you with your luck. Basically, the materials are not difficult. ****
STAT 230: Probability F 96 Chris Springer In UW CS, there is a legend saying that they kick away about one third of the class in the second year. (And I truly believe that it's true.) This course is supposingly to be one of these courses (along with STAT 231, CS 241, etc.) I don't know how much help there is from a high school finite course, because I never took it, but I did find many people suffering from it. **
STAT 231: Statistics

Notes

S 97 Winston Cherry Okay, another one of those special-mission courses.

Special Memory: Dances of a wedding :)

**
Electives
ACC 121: Understanding & Using Financial Accounting Information F 95 I admit! I suck in Accounting! It's nothing to do with not taking an accounting OAC! While everybody claimed that it's a bird course, I find myself dying for it... No, it's not my kind of courses! **
ACC 122: Understanding & Using Managerial Accounting Information W 96 Jennifer McMillan I seriously don't know why I took it... <sigh> **
ECON 101: Introduction to Microeconomics F 95 Larry Smith I don't LOVE him as some of the others in the class do, but I suppose he is the best possible prof for many people (and probably the worst for the rest.) Basically, he hosts his lectures, and you do need to keep reminding yourself that this is a lecture and you are suppose to write notes down instead of watching a show. His examples are... uh... representative. We still talk about them some of the time. I especially love his last question in the final exam. :) ****
ECON 102: Introduction to Macroeconomics

Notes

W 96 Larry Smith ****
ENGL 109: Introduction to Essay Writing S 98
DE
Neil Randall No, it is not a bird course. Well, maybe it is on campus, but it's definitely not through distance education. Besides, you really need luck for choosing your marker for the course, because you'll have to stick with him/her, like it or not. ***
HRM 200: Basic Human Resources Management S 99
JAPAN 101R: First-Year Japanese 1 S 99
MSCI 211: Organizational Behaviour

Notes

F 96 I just can't believe it!! I went to lectures, made notes, and studied for exams, but still got a lower mark than somebody who skipped every single lecture, flipped through the summaries in the text book, and didn't even bother to look through my notes!!! ***
PHIL 145: Critical Thinking

Notes

F 98 Charles Wallis With Wallis, it's absolutely not hard to get an A+ from this course, especially when you're in Math. I did see Art people suffering from it though. *****
PSYCH 101: Introductory Psychology

Notes

S 96
DE
Philip Merikle Another course that would have been easier on campus than through distance education. (Well, at least you don't have bonus marks by going through experiments) ***
STV 100: Society, Technology & Values: Introduction

Notes

S 97 Daryl Pullman Relaxing lectures, not-so-relaxing final paper. And those weekly summaries can be annoying, so my hint is to stock up on a couple of them when you have the time.

Aside: The first time I realize that we, CS students, are seriously trained to "work" under stress ;p

****
1