Well anyway, I'm sure that many of you are aware of my disappointment with the computer science program at the University of Waterloo. Because the CS program is offerred by the math faculty, there seems to be an over-emphasis on the maths. All of the CS courses also have this weird theoretical math perspective on things which sucks all the joy out of the craft. The courses I'm taking just don't seem too relevant to me. This got me thinking. I tried to imagine what I would be doing after I graduated. What would my life be like? What sort of skills would I TRULY need to survive in the real world? This is what I came up with:
Various strategies that can be employed in deciding on the best time to exercise your stock options. Case studies of actual situations. Also applicable to Corel and other companies' stock options.
This specially designed English course for CS majors will focus on technical jargon and on how it may be employed to confuse and deceive. Also, the 100 most common grammatical errors in e-mail messages will be reviewed, time permitting.
A sad fact aspect of society is that people with low self-esteem tend to be less successful and tend to have fewer social skills. This course will teach students how to nurture and encourage his or her ego. Successful students will leave with a supreme confidence in their abilities. The exciting new concepts of ultra-ego and uber-ego will also be examined.
This lab investigates the effect of lack of sleep on students. Students will be expected to spend several days each week participating in various sleep deprivation experiments. Interested students can also take "PSYCH353L The Long-Term Effects of Pizza and Coke consumption."
Here, we will strive to answer the eternal question, is 100MB RAM, 1GB of swap space, a 30GB hard drive, and a 1GHz, dual processor, multimedia computer more important than love, happiness, money, friendship, a job, food, etc? The answer is, of course, yes, but through a series of open discussions, we hope to teach you a more rigorous explanation of the reason why.
An introduction of the pros and cons of Windows, UNIX, and the MacOS. The student who has completed this course will be able to argue for hours on end about how much better their preferred operating system is than any of the others.
A more in-depth treatment of the material from CS130. The internal intricacies of UNIX, Windows, and the MacOS. Some of the more obscure tools available for each for directly hacking these operating systems. Also, an overview of some operating systems with less than 10 users. The course will end with a discussion of whether operating systems are needed at all.
An introduction to the basics of playing Quake
For more advanced students, this course covers various techniques and strategies for improving Quake gameplay. Real-time strategy games will also be examined, time permitting.
A careful look at software design and planning. The use of templates to make unreadable complicated design documents that can subsequently be thrown out when programming starts. How design time can be used as vacation time.
Designed for masochistic students who enjoy stuff like taking triple majors with minors in fine arts. Not advised for students taking less than eight courses this term or for those planning on working in industry.
Commenting code is a time-consuming and arduous process. This graduate-level course explores the use of artificial intelligence to automatically document code. The term project involves helping the professor with his experimental documentation system which, unfortunately, is undocumented.
A survey of the new field of Bogus Math, a form of mathematics increasingly becoming popular among CS students and engineers. Includes: How complicated curves can be approximated with a linear equation, how the statistical concept of "within 50% accuracy 20% of the time" can be used to show that 3 and 5 are equivalent, "the average person won't notice anything" theorem.
Differential equations, n-dimensional space, quantam mechanics, probability theory. Skills taught also applicable to trying to get computer games to run on various computer systems.
Stars, constellations, planets. Their use in estimating product ship dates, approximate completion times etc.
The implications of celibacy on self and society. Religious aspects of celibacy. How to convincingly use religion as an excuse.
Unforunately, until the UW faculty becomes more enlightened, I don't think these changes are going to come anytime soon. Oh well, one can always hope.