CSC Web Site
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
www/events.xml

6247 lines
265 KiB

<?xml version='1.0'?>
<!DOCTYPE eventdefs SYSTEM "csc.dtd">
<eventdefs>
<!-- Spring 2011 -->
<eventitem date="2011-07-29" time="6 PM" room="home of askhader, see abstract" title="CTRL-D">
<short>
<p>
The end of another term is here, and so we're having our End-of-Term dinner.
Everybody's welcome to come to CTRL-D. We are running this like a potluck, so bringing food is suggested.
</p>
</short>
<abstract>
<a href="http://csclub.uwaterloo.ca/~askhader/">askhader's</a> house is at: <br/>
9 Cardill Cresent<br/>
Waterloo, ON<br/>
</abstract>
</eventitem>
<eventitem date="2011-07-22" time="7 PM" room="Comfy Lounge" title="Code Party 3">
<short>
<p>
The final Code Party of the term is here! Come hack on some code,
solve some puzzles, and have some fun. The event starts in the evening and will run
all night. You can show up for any portion of it. You should bring a laptop, and
probably have something in mind to work on, though you're welcome with neither.
</p>
<p>
Snacks will be provided. Everyone is welcome.
</p>
<p>
Please note this date is postponed from the originally scheduled date due to
conflicts with <a href="http://www.kitchenerribandbeerfest.com/">Kitchener Ribfest &amp; Craft Beer Show</a>
</p>
</short>
</eventitem>
<eventitem date="2011-07-20" time="4:30 PM" room="MC 2038" title="An Introduction to Steganography">
<short>
<p>
As part of the CSC member talks series, Yomna Nasser will be presenting an introduction to steganography.
Steganography is the act of hiding information such that it can only be found by its intended recipient.
It has been practiced since ancient Greece, and is still in use today.
</p>
<p>
This talk will include an introduction to the area, history, and some basic techniques for hiding information
and detecting hidden data. There will be an overview of some of the mathematics involved, but nothing too
rigorous.
</p>
</short>
</eventitem>
<eventitem date="2011-07-09" time="4 PM to 10PM" room="Columbia Lake Firepit"
title="CSC Goes Outside">
<short> <p> Do you like going outside? Are you
vitamin-D deficient from being in the MC too long? Do you think
marshmallows, hotdogs, and fire are a delicious combination? </p>
<p> If so, you should join us as the CSC is going outside! </p>
<p> Around 4PM, we're going to Columbia Lake for some outdoor fun.
We'll have Frisbees, kites, snacks, and some drinks. We'll be
sticking around until dusk, when we're going to have a campfire
with marshmallows and hotdogs. We plan to be there until 10PM, but
of course you're welcome to come for any subinterval. </p>
</short>
</eventitem>
<eventitem date="2011-07-04" time="1:30 PM" room="MC 5158" title="Our Troubles with Linux and Why You Should Care">
<short>
<p>
A joint work between Professors Tim Brecht, Ashif Harji, and
Peter Buhr, this talk describes experiences using the Linux
kernel as a platform for conducting performance evaluations.
</p>
</short>
<abstract>
<p>
Linux provides researchers with a full-fledged operating system that is
widely used and open source. However, due to its complexity and rapid
development, care should be exercised when using Linux for performance
experiments, especially in systems research. The size and continual
evolution of the Linux code-base makes it difficult to understand, and
as a result, decipher and explain the reasons for performance
improvements. In addition, the rapid kernel development cycle means
that experimental results can be viewed as out of date, or meaningless,
very quickly. We demonstrate that this viewpoint is incorrect because
kernel changes can and have introduced both bugs and performance
degradations.
</p>
<p>
This talk describes some of our experiences using the Linux kernel as a
platform for conducting performance evaluations and some performance
regressions we have found. Our results show, these performance
regressions can be serious (e.g., repeating identical experiments
results in large variability in results) and long lived despite having
a large negative impact on performance (one problem appears to have
existed for more than 3 years). Based on these experiences, we argue
that it is often reasonable to use an older kernel version,
experimental results need careful analysis to explain why a change in
performance occurs, and publishing papers that validate prior research
is essential.
</p>
<p>
This is joint work with Ashif Harji and Peter Buhr.
</p>
<p>
This talk will be about 20-25 minutes long with lots of time for
questions and discussion afterwards.
</p>
</abstract>
</eventitem>
<eventitem date="2011-06-24" time="7 PM" room="Comfy Lounge" title="Code Party 2">
<short>
<p>
The second Code Party of the term takes place this Friday! Come hack on some code,
solve some puzzles, and have some fun. The event starts in the evening and will run
all night. You can show up for any portion of it. You should bring a laptop, and
probably have something in mind to work on, though you're welcome with neither.
</p>
<p>
Snacks will be provided.
</p>
</short>
</eventitem>
<eventitem date="2011-06-14" time="4:30 PM" room="MC 2054" title="Taming Software Bloat with AdaptableGIMP">
<short>
Ever use software with 100s or 1000s of commands? Ever have a hard time
finding the right commands to perform your task? In this talk, we'll
present AdaptableGIMP, a new version of GIMP developed at Waterloo to
help simplify complex user interfaces.
</short>
<abstract>
<p>
Ever use software with 100s or 1000s of commands? Ever have a hard time
finding the right commands to perform your task? We have. And we have
some new ideas on how to deal with software bloat.
</p>
<p>
In this talk, we'll present AdaptableGIMP, a new version of GIMP
developed by the HCI Lab here at the University of Watreloo.
AdaptableGIMP introduces the notion of crowdsourced interface
customizations: Any user of the application can customize the interface
for performing a particular task, with that customization instantly
shared with all other users through a wiki at adaptablegimp.org. In the
talk, we'll demo this new version of GIMP and show how it can help
people work faster by simplifying feature-rich, complex user
interfaces.
</p>
</abstract>
</eventitem>
<eventitem date="2011-06-09" time="4:30 PM" room="MC 2054"
title="General Purpose Computing on Graphics Cards">
<short>
In the first of our member talks for the term, Katie Hyatt will give a
short introduction to General Purpose Graphics Processing Unit
computing. This expanding field has many applications. The primary
focus of this talk will be nVidia's CUDA architecture.
</short>
<abstract>
<p> This is the first of our member talks for the term, presented by
CSC member and Waterloo undergraduate student Katie Hyatt
</p>
<p>
GPGPU (general purpose graphics processing unit) computing is an
expanding area of interest, with applications in physics, chemistry,
applied math, finance, and other fields. nVidia has created an
architecture named CUDA to allow programmers to use graphics cards
without having to write PTX assembly or understand OpenGL. CUDA is
designed to allow for high-performance parallel computation controlled
from the CPU while granting the user fine control over the behaviour
and performance of the device.
</p>
<p>
In this talk, I'll discuss the basics of nVidia's CUDA architecture
(with most emphasis on the CUDA C extensions), the GPGPU programming
environment, optimizing code written for the graphics card, algorithms
with noteworthy performance on GPU, libraries and tools available to
the GPGPU programmer, and some applications to condensed matter
physics. No physics background required!
</p>
</abstract>
</eventitem>
<eventitem date="2011-06-03" time="7 PM" room="Comfy Lounge" title="Code Party 1">
<short>
The Computer Science Club is having our first code party of the term.
The theme for this week's code party is personal projects. Come show us
what you've been working on! Of course, everybody is welcome, even if you
don't have a project.
</short>
<abstract>
The Computer Science Club is having our first code party of the term.
The theme for this week's code party is personal projects. Come show us
what you've been working on! Of course, everybody is welcome, even if you
don't have a project.
Personal projects are a great way to flex your CS muscles, and learn interesting
and new things. Come out and have some fun!
Two more are scheduled for later in the term.
</abstract>
</eventitem>
<eventitem date="2011-05-09" time="5:31 PM" room="Comfy Lounge" title="Elections Nominees List">
<short>
<p>CSC Elections, final list of nominations for Spring 2011</p>
</short>
<abstract>
<p>The nominations are:
<ul>
<li>President: jdonland, mimcpher, mthiffau</li>
<li>Vice-President: jdonland, mimcpher</li>
<li>Treasurer: akansong, kspaans</li>
<li>Secretary: akansong, jdonland</li>
</ul>
</p>
</abstract>
</eventitem>
<eventitem date="2011-05-09" time="5:30 PM" room="Comfy Lounge" title="Elections">
<short>
<p>CSC Elections have begun for the Spring 2011 term, nominations are open!</p>
</short>
<abstract>
<p>It's time to elect your CSC executive for the Spring 2011 term. The
elections will be held on Monday May 9th at 5:30PM in the Comfy Lounge
on the 3rd floor of the MC. Nominations can be sent to the Chief
Returning Officer, <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
Nominations will be open until 4:30PM on Monday May 9th. You can also stop by the office in
person to write your nominations on the white board.</p>
<p>The executive positions open for nomination are:
<ul>
<li>President</li>
<li>Vice-President</li>
<li>Treasurer</li>
<li>Secretary</li>
</ul>
There are also numerous positions that will be appointed once the
executive are elected including systems administrator, office manager,
and librarian.</p>
<p>Everyone is encouraged to run if they are interested, regardless of
program of study, age, or experience. If you can't make the election,
that's OK too! You can give the CRO a statement to read on your
behalf. If you can't make it or are out of town, your votes can be
sent to the CRO in advance of the elections. For the list of nominees,
watch the CSC website, or ask the CRO.</p>
<p>Good luck to our candidates!</p>
</abstract>
</eventitem>
<!-- Winter 2011 -->
<eventitem date="2011-03-17" time="04:30 PM" room="MC2034" title="Software Patents">
<short><p><i>by Stanley Khaing</i>. What are the requirements for obtaining a patent? Should software be patentable?</p></short>
<abstract>
<p>Stanley Khaing is a lawyer from Waterloo whose areas of practice are software and high technology. He will be discussing software patents. In particular, he will be addressing the following questions:</p>
<ul>
<li>What are the requirements for obtaining a patent?</li>
<li>Should software be patentable?</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2011-02-17" time="07:00 PM" room="MC2017" title="A Smorgasbord of Perl Talks">
<short><p><i>by KW Perl Mongers</i>. These talks are intended for programmers who are curious about the Swiss Army Chainsaw of languages, Perl.</p></short>
<abstract>
<p>Tyler Slijboom will present:</p>
<ul>
<li>Prototyping in Perl,</li>
<li>Perl Default Variables,</li>
<li>HOWTO on OO Programming, and</li>
<li>HOWTO on Installing and Using Modules from CPAN</li>
</ul>
<p>Daniel Allen will present:</p>
<ul>
<li>Coping with Other Peoples' Code</li>
</ul>
<p>Justin Wheeler will present:</p>
<ul>
<li>Moose: a Modern Perl Framework</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2011-02-09" time="04:30 PM" room="MC3003" title="UNIX 103: Version Control Systems">
<short><p><i>by Calum T. Dalek</i>. In this long-awaited third installment of the popular Unix Tutorials the friendly experts of the CSC will teach you the simple art of version control.
</p></short>
<abstract><p>You will learn the purpose and use of two different Version Control Systems (git and subversion). This tutorial will advise you in the discipline of managing the source code of your projects and enable you to quickly learn new Version Control Systems in the work place -- a skill that is much sought after by employers.</p></abstract>
</eventitem>
<eventitem date="2011-02-04" time="07:00 PM" room="Comfy Lounge" title="Code Party">
<short><p><i>by Calum T. Dalek</i>. Come one, come all to the Code Party happening in the Comfy Lounge this Friday. The event starts at 7:00PM and will run through the night.</p></short>
<abstract><p>Why sleep when you could be hacking on $your_favourite_project or doing $something_classy in great company? Join us for a night of coding and comraderie! Food and caffeine will be provided.</p></abstract>
</eventitem>
<eventitem date="2011-02-02" time="04:30 PM" room="MC3003" title="UNIX 102: Documents and Editing in the Unix environment">
<short><p><i>by Calum T. Dalek</i>. The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
</p></short>
<abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed Unix 101 but still know your way around you should be fine. Topics covered include: "real" editors, document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing in the student environment and elsewhere. If you aren't interested or feel comfortable with these tasks, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix.</p></abstract>
</eventitem>
<eventitem date="2011-01-26" time="04:30 PM" room="MC3003" title="UNIX 101: An Introduction to the Shell">
<short><p><i>by Calum T. Dalek</i>. New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<!-- Fall 2010 -->
<eventitem date="2010-11-17" time="04:30 PM" room="MC4061" title="Mathematics and aesthetics in maze design">
<short><p><i>by Dr. Craig S. Kaplan</i>. In this talk, I discuss the role of the computer in the process of designing mazes. I present some well known algorithms for maze construction, and more recent research that attempts to novel mazes with non-trivial mathematical or aesthetic properties.
</p></short>
<abstract><p>For thousands of years, mazes and labyrinths have played
an important role in human culture and myth. Today, solving
mazes is a popular pastime, whether with pencil on paper
or by navigating through a cornfield.
</p><p>The construction of compelling mazes encompasses a variety of
challenges in mathematics, algorithm design, and aesthetics.
The maze should be visually attractive, but it should also be
an engaging puzzle. Master designers balance these two goals
with wonderful results.
</p><p>In this talk, I discuss the role of the computer in the process
of designing mazes. I present some well known algorithms for
maze construction, and more recent research that attempts to
novel mazes with non-trivial mathematical or aesthetic properties.
</p></abstract>
</eventitem>
<eventitem date="2010-11-13" time="12:00 PM" room="Outside DC" title="CSC Invades Toronto">
<short><p>The CSC is going to Toronto to visit UofT's <a href="http://cssu.cdf.toronto.edu/">CSSU</a>, see what they do, and have beer with them.
If you would like to come along, please come by the office and sign up. The cost for the trip is $2 per member.
The bus will be leaving from the Davis Center (DC) Saturday Nov. 13 at NOON (some people may have been told 1pm, this is an error). Please show up a few minutes early so we may
board.</p></short>
</eventitem>
<eventitem date="2010-11-05" time="07:00 PM" room="CnD Lounge (MC3002)" title="Hackathon">
<short><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and whatever else comes to mind. If you're interested in getting involved in free/open source development, some members will be on hand to guide you through the process.
</p></short>
<abstract><p>Come join the CSC for a night of code, music with only 8 bits, and comradarie. We will be
in the C&amp;D Lounge from 7pm until 7am working on personal projects, open source projects, and
whatever else comes to mind. If you're interested in getting involved in free/open source development,
some members will be on hand to guide you through the process.
</p></abstract>
</eventitem>
<eventitem date="2010-10-26" time="04:30 PM" room="MC4040" title="Analysis of randomized algorithms via the probabilistic method">
<short><p>In this talk, we will give a few examples that illustrate the basic method and show how it can be used to prove the existence of objects with desirable combinatorial properties as well as produce them in expected polynomial time via randomized algorithms. Our main goal will be to present a very slick proof from 1995 due to Spencer on the performance of a randomized greedy algorithm for a set-packing problem. Spencer, for seemingly no reason, introduces a time variable into his greedy algorithm and treats set-packing as a Poisson process. Then, like magic, he is able to show that his greedy algorithm is very likely to produce a good result using basic properties of expected value.
</p></short>
<abstract><p>The probabilistic method is an extremely powerful tool in combinatorics that can be
used to prove many surprising results. The idea is the following: to prove that an
object with a certain property exists, we define a distribution of possible objects
and use show that, among objects in the distribution, the property holds with
non-zero probability. The key is that by using the tools and techniques of
probability theory, we can vastly simplify proofs that would otherwise require very
complicated combinatorial arguments.
</p><p>As a technique, the probabilistic method developed rapidly during the latter half of
the 20th century due to the efforts of mathematicians like Paul Erdős and increasing
interest in the role of randomness in theoretical computer science. In essence, the
probabilistic method allows us to determine how good a randomized algorithm's output
is likely to be. Possibly applications range from graph property testing to
computational geometry, circuit complexity theory, game theory, and even statistical
physics.
</p><p>In this talk, we will give a few examples that illustrate the basic method and show
how it can be used to prove the existence of objects with desirable combinatorial
properties as well as produce them in expected polynomial time via randomized
algorithms. Our main goal will be to present a very slick proof from 1995 due to
Spencer on the performance of a randomized greedy algorithm for a set-packing
problem. Spencer, for seemingly no reason, introduces a time variable into his
greedy algorithm and treats set-packing as a Poisson process. Then, like magic,
he is able to show that his greedy algorithm is very likely to produce a good
result using basic properties of expected value.
</p><p>Properties of Poisson and Binomial distributions will be applied, but I'll remind
everyone of the needed background for the benefit of those who might be a bit rusty.
Stat 230 will be more than enough. Big O notation will be used, but not excessively.
</p></abstract>
</eventitem>
<eventitem date="2010-10-19" time="04:30 PM" room="RCH 306" title="Machine learning vs human learning - will scientists become obsolete?">
<short><p><i>by Dr. Shai Ben-David</i>.
</p></short>
<abstract><p>
</p></abstract>
</eventitem>
<eventitem date="2010-10-13" time="04:30 PM" room="MC3003" title="UNIX 102">
<short><p>This installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
</p></short>
<abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
If you missed Unix101 but still know your way around you should be fine.
Topics covered include: "real" editors, document typesetting with LaTeX
(great for assignments!), bulk editing, spellchecking, and printing in the
student environment and elsewhere.
</p></abstract>
</eventitem>
<eventitem date="2010-10-06" time="04:30 PM" room="MC3003" title="UNIX 103">
<short><p>Unix 103 will cover version control systems and how to use them to manage your projects. Unix 101 would be helpful, but all that is needed is basic knowledge of the Unix command line (how to enter commands).
</p></short>
<abstract><p>Unix 103 will cover version control systems and how to use them to manage
your projects. Unix 101 would be helpful, but all that is needed is basic
knowledge of the Unix command line (how to enter commands).
</p></abstract>
</eventitem>
<eventitem date="2010-10-12" time="04:30 PM" room="MC4061" title="How to build a brain: From single neurons to cognition">
<short><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing mathematical models of brain function. It has made significant headway in understanding aspects of the neural code. However, past work has largely focused on small numbers of neurons, and so the underlying representations are often simple. In this talk I demonstrate how the ideas underlying these simple forms of representation can underwrite a representational hierarchy that scales to support sophisticated, structure-sensitive representations.
</p></short>
<abstract><p><i>By Dr. Chris Eliasmith</i>. Theoretical neuroscience is a new discipline focused on constructing
mathematical models of brain function. It has made significant
headway in understanding aspects of the neural code. However,
past work has largely focused on small numbers of neurons, and
so the underlying representations are often simple. In this
talk I demonstrate how the ideas underlying these simple forms of
representation can underwrite a representational hierarchy that
scales to support sophisticated, structure-sensitive
representations. I will present a general architecture, the semantic
pointer architecture (SPA), which is built on this hierarchy
and allows the manipulation, processing, and learning of structured
representations in neurally realistic models. I demonstrate the
architecture on Progressive Raven's Matrices (RPM), a test of
general fluid intelligence.
</p></abstract>
</eventitem>
<eventitem date="2010-10-04" time="04:30 PM" room="MC4021" title="BareMetal OS">
<short><p><i>By Ian Seyler, Return to Infinity</i>. BareMetal is a new 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. High Performance Computing is the main target application.
</p></short>
<abstract><p><i>By Ian Seyler, Return to Infinity</i>. BareMetal is a new 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly,
while applications can be written in Assembly or C/C++.
High Performance Computing is the main target application.
</p></abstract>
</eventitem>
<eventitem date="2010-09-28" time="04:30 PM" room="MC4061" title="A Brief Introduction to Video Encoding">
<short><p><i>By Peter Barfuss</i>. In this talk, I will go over the concepts used in video encoding (such as motion estimation/compensation, inter- and intra- frame prediction, quantization and entropy encoding), and then demonstrate these concepts and algorithms in use in the MPEG-2 and the H.264 video codecs. In addition, some clever optimization tricks using SIMD/vectorization will be covered, assuming sufficient time to cover these topics.
</p></short>
<abstract><p><i>By Peter Barfuss</i>. With the recent introduction of digital TV and the widespread success
of video sharing websites such as youtube, it is clear that the task
of lossily compressing video with good quality has become important.
Similarly, the complex algorithms involved require high amounts of
optimization in order to run fast, another important requirement for
any video codec that aims to be widely used/adopted.
</p><p>In this talk, I
will go over the concepts used in video encoding (such as motion
estimation/compensation, inter- and intra- frame prediction,
quantization and entropy encoding), and then demonstrate these
concepts and algorithms in use in the MPEG-2 and the H.264 video
codecs. In addition, some clever optimization tricks using
SIMD/vectorization will be covered, assuming sufficient time to cover
these topics.
</p></abstract>
</eventitem>
<eventitem date="2010-09-23" time="04:30 PM" room="DC1301 (The Fishbowl)" title="Calling all CS Frosh">
<short><p>Come meet and greet your professors, advisors, and the heads of the school. Talk to the CSC executive and other upper year students about CS at Waterloo. Free food and beverages will also be available, so there is really no excuse to miss this.
</p></short>
<abstract><p>Come meet and greet your professors, advisors, and the heads of the school.
Talk to the CSC executive and other upper year students about CS at Waterloo.
Free food and beverages will also be available, so there is really no excuse
to miss this.
</p></abstract>
</eventitem>
<eventitem date="2010-09-29" time="04:30 PM" room="MC3003" title="Unix 101">
<short><p>Need to use the Unix environment for a course, want to overcome your fears of the command line, or just curious? Attend the first installment in the CSC's popular series of Unix tutorials to learn the basics of the shell and how to navigate the unix environment. By the end of the hands on workshop you will be able to work efficiently from the command line and power-use circles around your friends.
</p></short>
<abstract><p>Need to use the Unix environment for a course, want to overcome your fears of
the command line, or just curious? Attend the first installment in the CSC's
popular series of Unix tutorails to learn the basics of the shell and how to
navigate the unix environment. By the end of the hands on workshop you will
be able to work efficiently from the command line and power-use circles around
your friends.
</p></abstract>
</eventitem>
<eventitem date="2010-09-22" time="06:00 PM" room="MC4045" title="Cooking for Geeks">
<short><p>The CSC is happy to be hosting Jeff Potter, author of "Cooking for Geeks" for a presentation on the finer arts of food science. Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike. We're happy to have Jeff joining us for a hands on demonstration.
</p></short>
<abstract><p>The CSC is happy to be hosting Jeff Potter, author of "Cooking for Geeks" for a presentation on the finer arts of food science.
Jeff's book has been featured on NPR, BBC and his presentations have wowed audiences of hackers &amp; foodies alike.
We're happy to have Jeff joining us for a hands on demonstration.
</p><p>But you don't have to take our word for it... here's what Jeff has to say:
</p><p>Hi! I'm Jeff Potter, author of Cooking for Geeks (O'Reilly Media, 2010), and I'm doing a "D.I.Y. Book Tour" to talk
about my just-released book. I'll talk about the food science behind what makes things yummy, giving you a quick
primer on how to go into the kitchen and have a fun time turning out a good meal.
Depending upon the space, I’ll also bring along some equipment or food that we can experiment with, and give you a chance to play with stuff and pester me with questions.
</p><p>If you have a copy of the book, bring it! I’ll happily sign it.
</p></abstract>
</eventitem>
<eventitem date="2010-09-21" time="04:30 PM" room="MC4061" title="In the Beginning">
<short><p><b>by Dr. Prabhakar Ragde, Cheriton School of Computer Science</b>. I'll be workshopping some lecture ideas involving representations of
numbers, specification of computation in functional terms, reasoning about
such specifications, and comparing the strengths and weaknesses of different approaches.
</p></short>
<abstract><p>I'll be workshopping some lecture ideas involving representations
of numbers, specification of computation in
functional terms, reasoning about such specifications, and comparing the
strengths and weaknesses of
different approaches. No prior background is needed; the talk should be accessible
to anyone attending
the University of Waterloo and, I hope, interesting to both novices and experts.
</p></abstract>
</eventitem>
<eventitem date="2010-09-14" time="04:30 PM" room="Comfy Lounge" title="Elections">
<short><p>Fall term executive elections and general meeting.</p></short>
</eventitem>
<!-- Spring 2010 -->
<eventitem date="2010-07-20" time="04:30 PM" room="MC2066" title="The Incompressibility Method">
<short>
In this talk, we shall explore the incompressibility method---an interesting and
extremely powerful framework for determining the average-case runtime of
algorithms. Within the right background knowledge, the heapsort question can be
answered with an elegant 3-line proof.
</short>
<abstract>
<p>Heapsort. It runs in $\Theta(n \log n)$ time in the worst case, and in $O(n)$
time in the best case. Do you think that heapsort runs faster than $O(n
\log n)$ time on average? Could it be possible that on most inputs,
heapsort runs in $O(n)$ time, running more slowly only on a small fraction
of inputs?</p>
<p>Most students would say no. It "feels" intuitively obvious that heapsort
should take the full $n \log n$ steps on most inputs. However, proving this
rigourously with probabilistic arguments turns out to be very difficult.
Average case analysis of algorithms is one of those icky subjects that most
students don't want to touch with a ten foot pole; why should it be so
difficult if it is so intuitively obvious?</p>
<p>In this talk, we shall explore the incompressibility method---an interesting
and extremely powerful framework for determining the average-case runtime of
algorithms. Within the right background knowledge, the heapsort question
can be answered with an elegant 3-line proof.</p>
<p>The crucial fact is that an overwhelmingly large fraction of randomly
generated objects are incompressible. We can show that the inputs to
heapsort that run quickly correspond to inputs that can be compressed,
thereby proving that heapsort can't run quickly on average. Of course,
"compressible" is something that must be rigourously defined, and for this
we turn to the fascinating theory of Kolmogorov complexity.</p>
<p>In this talk, we'll briefly discuss the proof of the incompressibility
theorem and then see a number of applications. We won't dwell too much on
gruesome mathemtical details. No specific background is required, but
knowledge of some of the topics in CS240 will be helpful in understanding
some of the applications.</p>
</abstract>
</eventitem>
<eventitem date="2010-07-13" time="04:30 PM" room="MC2066" title="Halftoning and Digital Art">
<short><p>Edgar Bering will be giving a talk titled: Halftoning and Digital Art</p></short>
<abstract><p>Halftoning is the process of simulating a continuous tone image
with small dots or regions of one colour. Halftoned images may be seen
in older newspapers with a speckled appearance, and to this day colour
halftoning is used in printers to reproduce images. In this talk I will
present various algorithmic approaches to halftoning, with an eye not
toward exact image reproduction but non-photorealistic rendering and
art. Included in the talk will be an introduction to digital paper
cutting and a tutorial on how to use the CSC's paper cutter to render
creations.
</p></abstract>
</eventitem>
<eventitem date="2010-07-09" time="07:00 PM" room="MC Comfy" title="Code Party">
<short><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
until we get bored (likely in the early in morning). Come out for
fun hacking times.
</p></short>
<abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900)
until we get bored (likely in the early in morning). Come out for
fun hacking times.
</p></abstract>
</eventitem>
<eventitem date="2010-07-06" time="04:30 PM" room="MC2054" title="Dataflow Analysis">
<short><p>Nomair Naeem, a P.H.D. Student at Waterloo, will be giving a talk about Dataflow Analysis</p></short>
<abstract><p>
After going through an introduction to Lattice Theory and a formal treatment to
Dataflow Analysis Frameworks, we will take an in-depth view of the
Interprocedural Finite Distributive Subset (IFDS) Algorithm which implements a
fully context-sensitive, inter-procedural static dataflow analysis. Then, using
a Variable Type Analysis as an example, I will outline recent extensions that we
have made to open up the analysis to a larger variety of static analysis
problems and making it more efficient.
</p><p>
The talk is self-contained and no prior knowledge of program analysis is
necessary.
</p></abstract>
</eventitem>
<eventitem date="2010-06-22" time="04:30 PM" room="MC2066" title="Compiling To Combinators">
<short><p>Professor Ragde will be giving the first of our Professor talks for the Spring 2010 term.</p></short>
<abstract><p>
Number theory was thought to be mathematically appealing but practically
useless until the RSA encryption algorithm demonstrated its considerable
utility. I'll outline how combinatory logic (dating back to 1920) has a
similarly unexpected application to efficient and effective compilation,
which directly catalyzed the development of lazy functional programming
languages such as Haskell. The talk is self-contained; no prior knowledge
of functional programming is necessary.
</p></abstract>
</eventitem>
<eventitem date="2010-05-25" time="05:00 PM" room="MC2066" title="Gerald Sussman">
<short><p>Why Programming is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas</p></short>
<abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
</eventitem>
<eventitem date="2010-05-26" time="03:30 PM" room="MC5136" title="Gerald Sussman">
<short><p>Public Reception</p></short>
<abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
</eventitem>
<eventitem date="2010-05-26" time="05:000PM" room="MC5158" title="Gerald Sussman">
<short><p>The Art of the Propagator</p></short>
<abstract>Full details found <a href="http://csclub.uwaterloo.ca/misc/sussman/">here</a></abstract>
</eventitem>
<eventitem date="2010-05-11" time="05:30 PM" room="Comfy Lounge" title="Elections">
<short><p>Spring term executive elections and general meeting.</p></short>
</eventitem>
<!-- Winter 2010 -->
<eventitem date="2010-04-06" time="04:30 PM" room="DC1304" title="Brush-Based Constructive Solid Geometry">
<short><p>The last talk in the CS10 series will be presented by Jordan Saunders, in which he will discuss methods for processing brush-based constructive solid geometry.
</p></short>
<abstract><p>For some would-be graphics programmers, the biggest barrier-to-entry is getting data to render. This is why there exist so
many terrain renderers: by virtue of the fact that rendering height-fields tends to give pretty pictures from next to no
"created" information. However, it becomes more difficult when programmers want to do indoor rendering (in the style of the
Quake and Unreal games). Ripping map information from the Quake games is possible (and fairly simple), but their tool-chain
is fairly clumsy from the point of view of adding a conversion utility.
</p><p>My talk is about Constructive Solid Geometry from a Brush-based perspective (nearly identical to Unreal's and still very similar
to Quake's). The basic idea is that there are brushes (convex volumes in 3-space) and they can either be additive (solid brushes)
or subtractive (hollow, or air brushes). The entire world starts off as an infinite solid lump and you can start removing sections
of it then adding them back in. The talk pertains to fast methods of taking the list of brushes and generating world geometry. I may
touch on interface problems with the editor, but the primary content will be the different ways I generated the geometry and what I found to be best.
</p></abstract>
</eventitem>
<eventitem date="2010-04-07" time="1:00 PM" room="MC2037" title="Windows Azure Lab">
<short><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure. Attend this Hands-on-lab session sponsored by Microsoft.
</p></short>
<abstract><p>We are in the midst of an industry shift as developers and businesses embrace the Cloud.
Technical innovations in the cloud are dramatically changing the economics of computing
and reducing barriers that keep businesses from meeting the increasing demands of
today's customers. The cloud promises choice and enables scenarios that previously
were not economically practical.
</p><p>Microsoft's Windows Azure is an internet-scale cloud computing services platform hosted
in Microsoft data centers. The Windows Azure platform, allows developers to build and
deploy production ready cloud services and applications. With the Windows Azure platform,
developers can take advantage of greater choice and flexibility in how they develop and
deploy applications, while using familiar tools and programming languages.
</p><p>Get the opportunity to learn about Microsoft's Cloud Services Platform, Windows Azure.
Attend the Hands-on-lab session sponsored by Microsoft.
</p></abstract>
</eventitem>
<eventitem date="2010-04-01" time="6:30 PM" room="CSC Office" title="CTRL-D">
<short><p>Once again the CSC will be holding its traditional end of term dinner. It will be at the Vice President's house. If you don't know how to get there meet at the club office at 6:30 PM, a group will be leaving from the MC then. The dinner will be potluck style so bring a dish for 4-6 people, or some plates or pop or something.
</p></short>
<abstract><p>Once again the CSC will be holding its traditional end of term dinner. It will
be at the Vice President's house. If you don't know how to get there meet
at the club office at 6:30 PM, a group will be leaving from the MC then. The
dinner will be potluck style so bring a dish for 4-6 people, or some plates
or pop or something.
</p></abstract>
</eventitem>
<eventitem date="2010-03-30" time="4:30 PM" room="DC1304" title="NUI: The future of robotics and automated systems">
<short><p>Member Sam Pasupalak will present some of his ongoing work in Natural User Interfaces and Robotics in this sixth installment of CS10.
</p></short>
<abstract><p>Bill Gates in his article “A Robot in every home” in the Scientific American describes how the current
robotics industry resembles the 1970’s of the Personal Computer Industry. In fact it is not just
Microsoft which has already taken a step forward by starting the Microsoft Robotics studio, but robotics
researchers around the world believe that robotics and automation systems are going to be ubiquitous in
the next 10-20 years (similar to Mark Weiser’s analogy of Personal Computers 20 years ago). Natural User
Interfaces (NUIs) are going to revolutionize the way we interact with computers, cellular phones, household
appliances, automated systems in our daily lives. Just like the GUI made personal computing a reality,
I believe natural user interfaces will do the same for robotics.
</p><p>During the presentation I will be presenting my ongoing software project on natural user interfaces as well
as sharing my goals for the future, one of which is to provide an NUI SDK and the other to provide a common
Robotics OS for every hardware vendor that will enable people to make applications without worrying about
underlying functionality. If time permits I would like to present a demo of my software prototype.
</p></abstract>
</eventitem>
<eventitem date="2010-03-26" time="7:00 PM" room="MC7001" title="A Final Party of Code">
<short><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on open source projects, doing some computational math, and other general classiness. There will be free energy drinks for everyone's enjoyment. This is the last of the term so don't miss out.
</p></short>
<abstract><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we
get bored (likely in the early in morning). Come out for fun hacking
times, spreading Intertube memes (optional), hacking on open source projects,
doing some computational math, and other
general classiness. There will be free energy drinks for everyone's
enjoyment. This is the last of the term so don't miss out.
</p></abstract>
</eventitem>
<eventitem date="2010-03-23" time="4:30 PM" room="MC5158" title="Memory-Corruption Security Holes: How to exploit, patch and prevent them.">
<short><p>Despite it being 2010, code is still being exploited due to stack overflows, a 40+ year old class of security vulnerabilities. In this talk, I will go over several common methods of program exploitation, both on the stack and on the heap, as well as going over some of the current mitigation techniques (i.e. stack canaries, ASLR, etc.) for these holes, and similarly, how some of these can be bypassed as well.
</p></short>
<abstract><p>Despite it being 2010, code is still being exploited due to
stack overflows, a 40+ year old class of security vulnerabilities. In
this talk, I will go over several common methods of program
exploitation, both on the stack and on the heap, as well as going over
some of the current mitigation techniques (i.e. stack canaries, ASLR,
etc.) for these holes, and similarly, how some of these can be
bypassed as well.
</p></abstract>
</eventitem>
<eventitem date="2010-03-19" time="7:00 PM" room="Comfy Lounge" title="Another Party of Code">
<short><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on the OpenMoko, creating music mixes, and other general classiness. There will be free energy drinks for everyone's enjoyment.
</p></short>
<abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we
get bored (likely in the early in morning). Come out for fun hacking
times, spreading Intertube memes (optional), hacking on the OpenMoko,
creating music mixes, and other
general classiness. There will be free energy drinks for everyone's
enjoyment.
</p></abstract>
</eventitem>
<eventitem date="2010-03-16" time="4:30 PM" room="MC5158" title="Approximation Hardness and the Unique Games Conjecture">
<short><p>The fifth installment in CS10: Undergraduate Seminars in CS, features CSC member Elyot Grant introducing the theory of approximation algorithms. Fun times and a lack of gruesome math are promised.
</p></short>
<abstract><p>The theory of NP-completeness suggests that some problems in CS are inherently hard—that is,
there is likely no possible algorithm that can efficiently solve them. Unfortunately, many of
these problems are ones that people in the real world genuinely want to solve! How depressing!
What can one do when faced with a real-life industrial optimization problem whose solution may
save millions of dollars but is probably impossible to determine without trillions of
years of computation time?
</p><p>One strategy is to be content with an approximate (but provably "almost ideal") solution, and from
here arises the theory of approximation algorithms. However, this theory also has a depressing side,
as many well-known optimization problems have been shown to be provably hard to approximate well.
</p><p>This talk shall focus on the depressing. We will prove that various optimization problems (such as
traveling salesman and max directed disjoint paths) are impossible to approximate well unless P=NP.
These proofs are easy to understand and are REALLY COOL thanks to their use of very slick reductions.
</p><p>We shall explore many NP-hard optimization problems and state the performance of the best known
approximation algorithms and best known hardness results. Tons of open problems will be mentioned,
including the unique games conjecture, which, if proven true, implies the optimality of many of the
best known approximation algorithms for NP-complete problems like MAX-CUT and INDEPENDENT SET.
</p><p>I promise fun times and no gruesome math. Basic knowledge of graph theory and computational
complexity might help but is not required.
</p></abstract>
</eventitem>
<eventitem date="2010-03-12" time="7:00 PM" room="Comfy Lounge" title="A Party of Code">
<short><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
</p></short>
<abstract><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
</p><p>Come join us for a night of coding. Get in touch with more experianced coders,
advertize for/bug squash on your favourite open source project, write that personal
project you were planning to do for a while but haven't found the time. Don't
have any ideas but want to sit and hack? We can find something for you to do.
</p></abstract>
</eventitem>
<eventitem date="2010-03-09" time="4:30 PM" room="DC1304" title="Software Transactional Memory and Using STM in Haskell">
<short><p>The fourth Undergraduate Seminar in Computer Science will be presented by Brennan Taylor, a club member. He will be discussing various concurrent computing problems, and introducing Software Transactional Memory as a solution to them.
</p></short>
<abstract><p>Concurrency is hard. Well maybe not hard, but it sure is annoying to get right. Even the
simplest of synchronization tasks are hard to implement correctly when using synchronization
primitives such as locks and semaphores.
</p><p>In this talk we explore what Software Transactional Memory (STM) is, what problems STM solves,
and how to use STM in Haskell. We explore a number of examples that show how easy STM is to use
and how expressive Haskell can be. The goal of this talk is to convince attendees that STM is
not only a viable synchronization solution, but superior to how synchronization is typically
done today.
</p></abstract>
</eventitem>
<eventitem date="2010-03-06" time="5:00 PM" room="Waterloo Bowling Lanes" title="Bowling">
<short><p>The CSC is going bowling. $9.75 for shoes and two games. The bowling alley serves fried food and beer. Join us for
some or all of the above</p></short>
</eventitem>
<eventitem date="2010-03-02" time="4:30 PM" room="DC1304" title="QIP=PSPACE">
<short><p>Dr. John Watrous of the <a href="http://www.iqc.ca">IQC</a> will present his recent result "QIP=PSPACE". The talk will not assume any familiarity with quantum computing or complexity theory, and light refreshments will be provided.
</p></short>
<abstract><p>The interactive proof system model of computation is a cornerstone of
complexity theory, and its quantum computational variant has been
studied in quantum complexity theory for the past decade. In this
talk I will discuss an exact characterization of the power of quantum
interactive proof systems that I recently proved in collaboration with
Rahul Jain, Zhengfeng Ji, and Sarvagya Upadhyay. The characterization
states that the collection of computational problems having quantum
interactive proof systems consists precisely of those problems
solvable with an ordinary classical computer using a polynomial amount
of memory (or QIP = PSPACE in complexity-theoretic terminology). This
characterization implies the striking fact that quantum computing does
not provide any increase in computational power over classical
computing in the context of interactive proof systems.
</p><p>I will not assume that the audience for this talk has any familiarity
with either quantum computing or complexity theory; and to be true to
the spirit of the interactive proof system model, I hope to make this
talk as interactive as possible -- I will be happy to explain anything
related to the talk that I can that people are interested in learning
about.
</p></abstract>
</eventitem>
<eventitem date="2010-02-26" time="7:00 PM" room="CnD Lounge" title="Contest Closing">
<short><p>The <a href="http://contest.csclub.uwaterloo.ca">contest</a> is coming to a close tomorrow, so to finish it in style we will be having ice cream and code friday night.
It would be a shame if Waterloo lost (we're not on top of the <a href="http://csclub.uwaterloo.ca/contest/rankings.php">leaderboard</a> right now) so come out and hack for the home team.</p></short>
</eventitem>
<eventitem date="2010-02-25" time="4:30 PM" room="DC1302" title="CSCF Town Hall">
<short><p>Come to a town hall style meeting with the managers of CSCF to discuss how to improve the undergraduate (student.cs) computing environment. Have gripes? Suggestions? Requests? Now is the time to voice them.
</p></short>
<abstract><p>Come to a town hall style meeting with the managers of CSCF to discuss how
to improve the undergraduate (student.cs) computing environment. Have gripes?
Suggestions? Requests? Now is the time to voice them.
</p><p>CSCF management (Bill Ince, Associate Director; Dave Gawley, Infrastructure Support;
Dawn Keenan, User Support; Lawrence Folland, Research Support) will be at the
meeting to listen to student concerns and suggestions. Information gathered from
the meeting will be summarized and taken to the CSCF advisory committee for
discussion and planning.
</p></abstract>
</eventitem>
<eventitem date="2010-02-23" time="04:30 PM" room="MC5136B" title="The Best Algorithms are Randomized Algorithms">
<short><p>In this talk Nicholas Harvey discusses the prevalence of randomized algorithms and their application to solving optimization problems on graphs; with startling results compared to deterministic algorithms.
</p></short>
<abstract><p>For many problems, randomized algorithms are either the fastest algorithm or the simplest algorithm;
sometimes they even provide the only known algorithm. Randomized algorithms have become so prevalent
that deterministic algorithms could be viewed as a curious special case. In this talk I will describe
some startling examples of randomized algorithms for solving some optimization problems on graphs.
</p></abstract>
</eventitem>
<eventitem date="2010-02-09" time="4:30 PM" room="DC1304" title="An Introduction to Vector Graphics Libraries with Cairo">
<short><p>Cairo is an open source, cross platform, vector graphics library with the ability to output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids of pixels, but rather by a collection of drawing operations. These operations detail how to draw lines, fill shapes, and even set text to create the desired image. This has the advantages of being infinitely scalable, smaller in file size, and simpler to express within a computer programme. This talk will be an introduction to the concepts and metaphors used by vector graphics libraries in general and Cairo in particular.
</p></short>
<abstract><p>Cairo is an open source, cross platform, vector graphics library with the ability to
output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as
X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes
and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids
of pixels, but rather by a collection of drawing operations. These operations detail how to
draw lines, fill shapes, and even set text to create the desired image. This has the
advantages of being infinitely scalable, smaller in file size, and simpler to express within
a computer programme. This talk will be an introduction to the concepts and metaphors used
by vector graphics libraries in general and Cairo in particular.
</p></abstract>
</eventitem>
<eventitem date="2010-02-11" time="4:30 PM" room="MC3005" title="UNIX 101 Encore">
<short><p>New to Unix? No problem, we'll teach you to power use circles around your friends! The popular tutorial returns for a second session, in case you missed the first one.
</p></short>
<abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
The popular tutorial returns for a second session, in case you missed the first one.
</p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2010-02-10" time="4:30 PM" room="MC3003" title="UNIX 101">
<short><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
</p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2010-01-18" time="15:30 PM" room="MC2066" title="Wilderness Programming">
<short><p>Paul Lutus describes his early Apple II software development days, conducted from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul describes how he wrote a best-seller (Apple Writer) in assembly language, while dealing with power outages, lightning storms and the occasional curious bear.
</p></short>
<abstract><p>Paul Lutus describes his early Apple II software development days, conducted
from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul
describes how he wrote a best-seller (Apple Writer) in assembly language,
while dealing with power outages, lightning storms and the occasional
curious bear.
</p><p>Paul also describes his subsequent four-year solo around-the-world sail in a
31-foot boat. And be ready with your inquiries -- Paul will answer your
questions.
</p><p>Paul Lutus has a wide background in science and technology. He designed spacecraft
components for the NASA Space Shuttle and created a mathematical model of the solar
system used during the Viking Mars lander program. Then, at the beginning of the
personal computer revolution, Lutus switched career paths and took up computer
science. His best-known program is "Apple Writer," an internationally successful
word processing program for the early Apple computers.
</p></abstract>
</eventitem>
<eventitem date="2010-01-26" time="05:00 PM" room="DC1302" title="Deep learning with multiplicative interactions">
<short><p>Geoffrey Hinton, from the University of Toronto and the Canadian Institute for Advanced Research, will discuss some of his latest work in learning networks and artificial intelligence. The talk will be accessable, so don't hesitate to come out. More information about Dr. Hinton's research can be found on <a href="http://www.cs.toronto.edu/~hinton/">his website</a>.
</p></short>
<abstract><p>Deep networks can be learned efficiently from unlabeled data. The layers
of representation are learned one at a time using a simple learning
module, called a "Restricted Boltzmann Machine" that has only one layer
of latent variables. The values of the latent variables of one
module form the data for training the next module. Although deep
networks have been quite successful for tasks such as object
recognition, information retrieval, and modeling motion capture data,
the simple learning modules do not have multiplicative interactions which
are very useful for some types of data.
</p><p>The talk will show how a third-order energy function can be factorized to
yield a simple learning module that retains advantageous properties of a
Restricted Boltzmann Machine such as very simple exact inference and a
very simple learning rule based on pair-wise statistics. The new module
contains multiplicative interactions that are useful for a variety of
unsupervised learning tasks. Researchers at the University of Toronto
have been using this type of module to extract oriented energy from image
patches and dense flow fields from image sequences. The new module can
also be used to allow motions of a particular style to be achieved by
blending autoregressive models of motion capture data.
</p></abstract>
</eventitem>
<!-- Fall 2009 -->
<eventitem date="2009-12-05" time="6:30 PM" room="MC3036" edate="2009-12-05" etime="11:55 PM" title="The Club That Really Likes Dinner">
<short><p>Come on out to the club's termly end of term dinner, details in the abstract</p></short>
<abstract><p>The dinner will be potluck style at the Vice President's house, please RSVP (respond swiftly to the vice president)
<a href="https://csclub.uwaterloo.ca/rsvp">here</a> if you plan on attending. If you don't know how to get there meet at the club
office at 6:30 PM, a group will be leaving to lead you there.</p></abstract>
</eventitem>
<eventitem date="2009-11-27" time="7:00 PM" room="Comfy Lounge" edate="2009-11-28" etime="7:00 AM" title="Code Party!!11!!">
<short><p>A fevered night of code, friends, fun, energy drinks, and the CSC. Facebook will be around to bring some food and hang out.
</p></short>
<abstract><p>Come join us for a night of coding. Get in touch with more experianced coders,
advertize for/bug squash on your favourite open source project, write that personal
project you were planning to do for a while but haven't found the time. Don't
have any ideas but want to sit and hack? Try your hand at the Facebook puzzles,
write a new app, or just chill and watch scifi.
</p></abstract>
</eventitem>
<eventitem date="2009-11-05" time="4:30 PM" room="MC2065" title="In the Beginning">
<short><p>To most CS students an OS kernel is pretty low level. But there is something even lower, the instructions that must be executed to get the CPU ready to accept a kernel. That is, if you look at any processor's reference manual there is a page or two describing the state of the CPU when it powered on. This talk describes what needs to happen next, up to the point where the first kernel instruction executes.
</p></short>
<abstract><p>To most CS students an OS kernel is pretty low level. But there is
something even lower, the instructions that must be executed to get the
CPU ready to accept a kernel. That is, if you look at any processor's
reference manual there is a page or two describing the state of the CPU
when it powered on. This talk describes what needs to happen next,
up to the point where the first kernel instruction executes.
</p><p>This part of execution is extremely architecture-dependent. Those of
you who have any experience with this aspect of CS probably know the x86
architecture, and think it's horrible, which it is. I am going to talk
about the ARM architecture, which is inside almost all mobile phones,
and which allows us to look at a simple implementation that includes
all the essentials.
</p></abstract>
</eventitem>
<eventitem date="2009-10-20" time="04:30 PM" room="MC3036" title="CSC Goes To Dooly's">
<short><p>We're going to Dooly's to play pool. What more do you want from us? Come to the Club office and we'll all bus there together. We've got discount tables for club members so be sure to be there.
</p></short>
<abstract><p>We're going to Dooly's to play pool. What more do you want from us?
Come to the Club office and we'll all bus there together. We've got
discount tables for club members so be sure to be there.
</p></abstract>
</eventitem>
<eventitem date="2009-10-16" time="7:00 PM" room="Comfy Lounge" title="Code Party and Contest Finale">
<short><p>Come on out for a night of code, contests, and energy drinks. Join the Computer Scinece Club for the finale of the Google AI Challenge and an all night code party. Finish up your entry, or start it (its not too late). Not interested in the contest? Come out anyway for a night of coding and comradarie with us.
</p></short>
<abstract><p>Come on out for a night of code, contests, and energy drinks. Join the Computer
Scinece Club for the finale of the Google AI Challenge and an all night code party.
Finish up your entry, or start it (its not too late). Not interested in the contest?
Come out anyway for a night of coding and comradarie with us.
</p><p>Included in the party will be the contest finale and awards cerimony, so if you've
entered be sure to stick arround to collect the spoils of victory, or see just who
that person you couldn't edge off is.
</p></abstract>
</eventitem>
<eventitem date="2009-10-08" time="4:30 PM" room="MC3003" title="UNIX 103">
<short><p>In this long-awaited third installment of the popular Unix Tutorials the friendly experts of the CSC will teach you the simple art of version control. You will learn the purpose and use of two different Version Control Systems (git and subversion). This tutorial will advise you in the discipline of managing the source code of your projects and enable you to quickly learn new Version Control Systems in the work place -- a skill that is much sought after by employers.
</p></short>
<abstract><p>In this long-awaited third installment of the popular Unix Tutorials the
friendly experts of the CSC will teach you the simple art of version control.
You will learn the purpose and use of two different Version Control Systems
(git and subversion). This tutorial will advise you in the discipline of
managing the source code of your projects and enable you to quickly learn new
Version Control Systems in the work place -- a skill that is much sought after
by employers.
</p></abstract>
</eventitem>
<eventitem date="2009-10-14" time="2:30 PM" room="DC1304" title="UofT Graduate School Information Session">
<short><p> "Is Graduate School for You?" Get the answers to your grad school questions - and have a bite to eat, our treat</p>
</short>
<abstract><p> Join Prof. Greg Wilson, faculty member in the Software Engineering research group in the UofT's Department of Computer Science,
as he gives insight into studying at the graduate level-what can be expected, what does UofT offer, is it right for you? Pizza and pop will
be served. <b>Come see what grad school is all about!</b>. All undergraduate students are welcome; registration is not required.</p>
<p>For any questions about the program, visit <a href="http://www.cs.toronto.edu/dcs/prospective-grad.html">UofT's website</a>. This
event is not run by the CS Club, and is announced here for the benefit of our members.</p></abstract>
</eventitem>
<eventitem date="2009-10-03" time="10:00 AM" edate="2009-10-03" etime="3:30 PM" room="DC1301 FishBowl" title="Linux Install Fest">
<short><p>Interested in trying Linux but don't know where to start?
Come to the Linux install fest to demo Linux, get help installing it
on your computer, either stand alone or a dual boot, and help setting
up your fresh install. Have lunch and hang around if you like, or just come in for a CD.
</p></short>
<abstract><p>Interested in trying Linux but don't know where to start?
Come to the Linux install fest to demo Linux, get help installing it on
your computer, either stand alone or a dual boot, and help setting
up your fresh install. Have lunch and hang around if you like, or just
come in for a qick install.
</p></abstract>
</eventitem>
<eventitem date="2009-10-01" time="4:30 PM" room="MC3003" title="UNIX 102">
<short><p>The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
</p></short>
<abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
If you missed Unix101 but still know your way around you should be fine.
Topics covered include: "real" editors, document typesetting with LaTeX
(great for assignments!), bulk editing, spellchecking, and printing in the
student environment and elsewhere.
</p><p>If you aren't interested or feel comfortable with these taskes, watch out for
Unix 103 and 104 to get more depth in power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2009-09-28" time="4:30 PM" edate="2009-10-09" etime="11:59 OM" room="MC3003" title="AI Programming Contest sponsored by Google">
<short><p>Come learn how to write an intelligent game-playing program.
No past experience necessary. Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online web interface</a>
to watch it battle against other people's programs. Beginners and experts welcome! Prizes provided by google,
including the delivery of your resume to google recruiters.
</p></short>
<abstract><p>Come learn how to write an intelligent game-playing program.
No past experience necessary. Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online
web interface</a> to watch it battle against other people's programs.
Beginners and experts welcome!
</p><p>The contest is sponsored by Google, so be sure to compete for a chance
to get noticed by them.
</p><p>Prizes for the top programs:
<ul><li>$100 in Cash Prizes</li>
<li> Google t-shirts</li>
<li>Fame and recognition</li>
<li>Your resume directly to a Google recruiter</li>
</ul>
</p></abstract>
</eventitem>
<eventitem date="2009-09-24" time="4:30 PM" room="MC3003" title="UNIX 101">
<short><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p><p>
This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2009-09-15" time="5:00PM" edate="2009-09-15" etime="6:00 PM"
room="Comfy Lounge" title="Elections">
<short><p>
Nominations are open now, either place your name on the nominees board or
e-mail <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a>
to nominate someone for a position.
Come to the Comfy Lounge to elect your fall term executive. Contact
<a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a> if you have questions.
</p></short>
</eventitem>
<!-- Spring 2009 -->
<eventitem date="2009-07-23" time="4:30 PM" edate="2009-07-23" etime="6:00 PM"
room="MC 3003" title="Unix 103">
<short><p>
In this long-awaited third installment of the popular Unix Tutorials the dark
mages of the CSC will train you in the not-so-arcane magick of version control.
You will learn the purpose and use of two different Version Control Systems
(git and subversion). This tutorial will advise you in the discipline of
managing the source code of your projects and enable you to quickly learn new
Version Control Systems in the work place -- a skill that is much sought after
by employers.
</p></short>
</eventitem>
<eventitem date="2009-07-17" time="7:00 PM" edate="2009-07-18" etime="4:00 AM"
room="MC 3001" title="Code Party">
<short><p>
Have an assignment or project you need to work on? We
will be coding from 7:00pm until 4:00am starting on Friday, July 17th
in the Comfy lounge. Join us!
</p></short>
</eventitem>
<eventitem date="2009-07-07" time="3:00 PM" etime="5:00 PM" room="DC 1302"
title="History of CS Curriculum at UW">
<short><p>
This talk provides a personal overview of the evolution of the
undergraduate computer science curriculum at UW over the past forty
years, concluding with an audience discussion of possible future
developments.
</p></short>
</eventitem>
<eventitem date="2009-06-22" time="4:30 PM" etime="6:30 PM" room="MC 4041"
title="Paper Club">
<short><p> Come and drink tea and read an academic CS paper with
the Paper Club. We will be meeting from 4:30pm until 6:30pm on
Monday, June 22th on the 4th floor of the MC (exact room number
TBA). See http://csclub.uwaterloo.ca/~paper
</p></short>
</eventitem>
<eventitem date="2009-06-19" time="5:30 PM" room="Dooly's" title="Dooly's Night">
<short><p>
The CSC will be playing pool at Dooly's. Join us for only a few dollars.
</p></short>
</eventitem>
<eventitem date="2009-06-05" time="7:00 PM" edate="2009-06-06" etime="4:00 AM"
room="MC 3001" title="Code Party">
<short><p>
Have an assignment or project you need to work on? We
will be coding from 7:00pm until 7:00am starting on Friday, June 5th
in the Comfy lounge. Join us!
</p></short>
</eventitem>
<eventitem date="2009-06-02" time="4:30 PM" room="MC 2037" title="Unix 101">
<short><p>
Need to use the UNIX environment for a course, want to overcome your fears of
the command line, or just curious? Come and learn the arcane secrets of the
UNIX command line interface from CSC mages. After this tutorial you will be
comfortable with the essentials of navigating, manipulating and viewing files,
and processing data at the UNIX shell prompt.
</p></short>
</eventitem>
<eventitem date="2009-05-12" time="12:00 PM" room="MC 2034" title="PHP on Windows">
<short><p>PHP Programming Contest Info Session</p></short>
<abstract><p>
Port or create a new PHP web application and you could win a prize
of up to $10k. Microsoft is running a programming contest for PHP
developers willing to support the Windows platform. The contest is
ongoing; this will be a short introduction to it by
representatives of Microsoft and an opportunity to ask questions.
Pizza and pop will be provided.
</p></abstract>
</eventitem>
<!-- Winter 2009 -->
<eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
<short><p>A talk by Craig S. Kaplan.</p></short>
<abstract><p>The combination of computer graphics, geometry, and rapid
prototyping technology has created a wide range of exciting
opportunities for using the computer as a medium for creative
expression. In this talk, I will describe the most popular
technologies for computer-aided manufacturing, discuss
applications of these devices in art and design, and survey
the work of contemporary artists working in the area (with a
focus on mathematical art). The talk will be primarily
non-technical, but I will mention some of the mathematical
and computational techniques that come into play.
</p></abstract>
</eventitem>
<eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
etime="6:00 AM" room="TBA" title="CTRL-D">
<short>
<p>
Join the Club That Really Likes Dinner for the End Of Term
party! Inquire closer to the date for details.
</p>
</short>
<abstract>
<p>
This is not an official club event and receives no funding.
Bring food, drinks, deserts, etc.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
etime="12:00 PM" room="Comfy Lounge (MC)"
title="Code Party">
<short>
<p>
CSC Code Party! Same as always - no sleep, lots of caffeine,
and really nerdy entertainment. Bonus: Free Cake!
</p>
</short>
<abstract>
<p>
This code party will have the usual, plus it will double as the
closing of the programming contest. Our experts will be
available to help you polish off your submission.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
etime="12:00 PM" room="MC2061"
title="Artificial Intelligence Contest">
<short>
<p>
Come out and try your hand at writing a computer program that
plays Minesweeper Flags, a two-player variant of the classic
computer game, Minesweeper. Once you're done, your program
will compete head-to-head against the other entries in a
fierce Minesweeper Flags tournament. There will be a contest
kick-off session on Thursday March 19 at 4:30 PM in room
MC3036. Submissions will be accepted until Saturday March 28.
</p>
</short>
<abstract>
<p>
Come out and try your hand at writing a computer program that
plays Minesweeper Flags, a two-player variant of the classic
computer game, Minesweeper. Once you're done, your program
will compete head-to-head against the other entries in a
fierce Minesweeper Flags tournament. There will be a contest
kick-off session on Thursday March 19 at 4:30 PM in room
MC3036. Submissions will be accepted until Saturday March 28.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
etime="6:30 PM" room="Comfy Lounge"
title="SIGGRAPH Night">
<short>
<p>
Come out and watch the SIGGRAPH (Special Interest Group on
Graphics) conference video review. A video of insane, amazing,
and mind blowing computer graphics. .
</p>
</short>
<abstract>
<p>
The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
conference yearly in which the latest and greatest in computer
graphics premier. They record video and as a result produce a
very nice Video Review of the conference. Come join us watching
these videos, as well as a few professors from the UW Computer
Graphics Lab. There will be some kind of food and drink, and its
guranteed to be dazzling.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
etime="9:00 PM" room="Toronto Hilton"
title="Canadian Undergraduate Technology Conference">
<short>
<p>
See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
</p>
</short>
<abstract>
<p>
The Canadian Undergraduate Technology Conference is Canada's
largest student-run conference. From humble roots it has emerged
as a venue that offers an environment for students to grow
socially, academically, and professionally. We target to exceed
our past record of 600 students from 47 respected institutions
nationwide. The event mingles ambitious as well as talented
students with leaders from academia and industry to offer
memorable experiences and valuable opportunities.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
title="Prabhakar Ragde">
<short><p>
Functional Lexing and Parsing</p></short>
<abstract>
<p>
This talk will describe a non-traditional functional approach
to the classical problems of lexing (breaking a stream of
characters into "words" or tokens) and parsing (identifying
tree structure in a stream of tokens based on a grammar,
e.g. for a programming language that needs to be compiled or
interpreted). The functional approach can clarify and organize
a number of algorithms that tend to be opaque in their
conventional imperative presentation. No prior background in
functional programming, lexing, or parsing is assumed.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
title="IQC - Programming Quantum Computers">
<short>
<p>
A brief intro to Quantum Computing and why it matters,
followed by a talk on programming quantum computers. Meet at
the CSC at 4:00PM for a guided walk to the RAC.
</p>
</short>
<abstract>
<p>
Raymond Laflamme is the director of the Institute for Quantum
Computing at the University of Waterloo and holds the Canada
Research Chair in Quantum Information. He will give a brief
introduction to quantum computing and why it matters, followed
by a talk on programming quantum computers. There will be
tours of the IQC labs at the end, and pizza will be provided
back at the CSC for all attendees.
</p>
</abstract>
</eventitem>
<eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
<short><p>
Come join the CSC as we head to Dooly's.</p></short>
<abstract><p>
Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
</eventitem>
<eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
<short><p>
Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
<abstract><p>
Unix 101 is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. </p><p>
Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
If you missed Unix101 but still know your way around you should be fine.
Topics covered include: "real" editors, document typesetting with LaTeX
(great for assignments!), bulk editing, spellchecking, and printing in the
student environment and elsewhere. </p><p>
If you aren't interested or feel comfortable with these taskes, watch out for
Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
</eventitem>
<eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
<short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
<abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
</eventitem>
<eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
<short>
<p>
There is a CSC Code Party starting at 7:00PM (19:00). Come out
and enjoy some good old programming and meet others interested
in writing code! Free energy drinks and snacks for all. Plus,
we have lots of things that need to be done if you're looking
for a project to work on!
</p>
</short>
<abstract>
<p>
Code Party. Awesome. Need we say more?
</p>
</abstract>
</eventitem>
<eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
<short><p>There is a CSC Code Party Tonight starting at 7:30PM
(1930) until we get bored (likely in the early in morning). Come
out for fun hacking times, spreading Intertube memes (optional),
hacking on the OpenMoko, creating music mixes, and other general
classyness. If we manage to swing it, there will be delicious
energy drinks for your consumption! Alternatively, if we don't we
will have each other as well as some delicious tea and
coffee. Perhaps a crumpet
</p></short>
<abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
(1930) until we get bored (likely in the early in
morning). Come out for fun hacking times, spreading Intertube
memes (optional), hacking on the OpenMoko, creating music
mixes, and other general classyness. If we manage to swing it,
there will be delicious energy drinks for your consumption!
Alternatively, if we don't we will have each other as well as
some delicious tea and coffee. Perhaps a crumpet
</p></abstract>
</eventitem>
<eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
<short><p> The Free Software Movement and the GNU/Linux Operating System </p>
</short>
<abstract>
<p>
Richard Stallman will speak about the Free Software Movement, which
campaigns for freedom so that computer users can cooperate to
control their own computing activities. The Free Software Movement
developed the GNU operating system, often erroneously referred to as
Linux, specifically to establish these freedoms.</p>
<p><b>About Richard Stallman:</b>
Richard Stallman launched the development of the GNU operating system (see
<a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
software: everyone has the freedom to copy it and redistribute it,
as well as to make changes either large or small. The GNU/Linux
system, basically the GNU operating system with Linux added, is used
on tens of millions of computers today. Stallman has received the
ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
Electronic Frontier Foundation's Pioneer award, and the the Takeda
Award for Social/Economic Betterment, as well as several honorary
doctorates.</p>
</abstract>
</eventitem>
<eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
<short><p> Joel Spolsky, of <a href="http://www.joelonsoftware.com">Joel on Software</a> will be giving a talk entitled "Computer Science Education and the Software Industry".</p>
</short>
<abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
globally-recognized expert on the software development process. His
website <em>Joel on Software</em>
(<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
is popular with software developers around the world and has been
translated into over thirty languages. As the founder
of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
York City, he
created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
popular project management system for software teams. He is the
co-creator of <a href="http://stackoverflow.com/">Stack
Overflow</a>, a programmer Q&amp;A site. Joel has worked at
Microsoft, where he designed VBA as a member of the Excel team, and
at Juno Online Services, developing an Internet client used by
millions. He has
written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
books</a>: <em>User Interface Design for Programmers</em> (Apress,
2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
Joel Spolsky's Concise Guide to Finding the Best Technical
Talent </em>(Apress, 2007). He also writes a monthly column
for<strong> </strong><em><a href="http://www.inc.com/">Inc
Magazine</a>. </em>Joel holds a BS from Yale in Computer
Science. Before college he served in the Israeli Defense Forces as a
paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
</abstract>
</eventitem>
<eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
<short><p>Winter Elections</p>
</short>
</eventitem>
<!-- Fall 2008 -->
<eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
<short><p>Organized by Queen's students, Changing the World aims to bring together the world's greatest visionaries to inspire people to innovate and better our world. Among these speakers include Nobel Peace Prize winner, Eric Chivian. He was a recipient for his work on stopping nuclear war.
</p></short>
<abstract><p>Organized by Queen's students, Changing the World
aims to bring together the world's greatest visionaries to
inspire people to innovate and better our world. Among these
speakers include Nobel Peace Prize winner, Eric Chivian. He
was a recipient for his work on stopping nuclear war.
</p><p>The conference is modeled after TED (Technology,
Entertainment, Design), an annual conference uniting the
world's most fascinating thinkers and doers, and like TED,
each speaker is given 18 minutes to give the talk of their
lives.
</p><p>Specifically for students in CS/Math, 50 tickets have
been reserved (non-students: $500). For those who would like
to attend, please pick up your ticket in the Computer Science
Club office. The tickets are limited and they are first come
first serve.
</p></abstract>
</eventitem>
<eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
<short><p>Come join the CSC in celebrating the new releases of
Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
of them on your own system.
</p></short>
<abstract><p>Come join the CSC in celebrating the new releases of
Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
one of them on your own system.
</p><p>This is an event to celebrate the releases of new
versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
available and everyone is invited to bring their PC or laptop
to get help installing any of these Free operating
systems. Knowledgeable CSC members will be available to help
with any installation troubles, or to troubleshooting any
existing problems that users may have.
</p><p>This event will also promote gaming on Linux, as well as
FLOSS (Free/Libre and Open Source Software) in general. We may
also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
fame).
</p></abstract>
</eventitem>
<eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
<short><p>This talk will survey concepts, techniques, and
languages for functional programming from both historical and
contemporary perspectives, with reference to Lisp, Scheme, ML,
Haskell, and Erlang. No prior background is assumed.
</p></short>
<abstract><p>This talk will survey concepts, techniques, and
languages for functional programming from both historical and
contemporary perspectives, with reference to Lisp, Scheme, ML,
Haskell, and Erlang. No prior background is assumed.
</p></abstract>
</eventitem>
<eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
<abstract><p>
Come join us for a night of coding. Get in touch with more experianced coders,
advertize for/bug squash on your favourite open source project, write that personal
project you were planning to do for a while but haven't found the time. Don't
have any ideas but want to sit and hack? We can find something for you to do.
</p></abstract>
<short><p>
A fevered night of code, friends, fun, free energy drinks, and the CSC.
</p></short>
</eventitem>
<eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
<short><p>
Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
review. A video of insane, amazing, and mind blowing computer graphics.
</p></short>
<abstract><p>
The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
in which the latest and greatest in computer graphics premier. They record video
and as a result produce a very nice Video Review of the conference. Come join us
watching these videos, as well as a few professors from the UW Computer Graphics
Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
</p></abstract>
</eventitem>
<eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
<short><p>
Come out and meet other CSC members, find out about the CSC, meet the executive
nominees, and join if you like what you see. Nominees should plan on attending.
</p></short>
</eventitem>
<eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
<short><p>
Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
campaigning after the nomination period has closed.
</p></short>
</eventitem>
<eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
<short><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>
This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
<short><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>
This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
<short><p>
Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
</p></short>
<abstract><p>
This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed
Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
in the student environment and elsewhere. If you aren't interested or feel comfortable with these
taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
</p></abstract>
</eventitem>
<eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
<short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
<abstract><p>
In this talk I will give an overview of the history of Relic and our
development philosophy. The Talk will then proceed to talk about work
that is being pursued in the area of early game prototyping with the
introduction of game sketching methodology.
</p>
<p>
Bio:
Fired from his first job for playing Video Games Juancho Buchanan is
currently the director of Technology for Relic Entertainment. Juancho
Buchanan Wrote his first game in 1984 but then pursued other interests
which included a master's in Program Visualization, A Doctorate in
Computer Graphics, a stint as a professor at the University of Alberta
where he pioneered early work in Non photo realistic rendering, A stint
at Electronic Arts as Director, Advanced Technology, A stint at EA as
the University Liaison Dude, A stint at Carnegie Mellon University where
he researched the Game Sketching idea. His current role at Relic has
him working with the soon to be released Dawn of War II.
</p></abstract>
</eventitem>
<eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
<short><p>
The second official general meeting of the term. Items on the adgenda are CSC Merch,
upcoming talks, and other possible planned events, as well as the announcement of
a librarian and planning of an office cleanout and a library organization day.
</p></short>
</eventitem>
<!-- Spring 2008 -->
<!-- Winter 2008 -->
<eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
<short>Tyler Lessard</short>
<abstract><p>
Tyler Lessard from RIM will present a brief history of BlackBerry
technology and will discuss how the evolution of BlackBerry as an
end-to-end hardware, software and services platform has been
instrumental to its success and growth in the market. Find out how the
BlackBerry service components integrate with wireless carrier networks
and get a sneak peek at where the wireless data market is going.
</p></abstract>
</eventitem>
<eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
<short>Raymond Laflamme</short>
<abstract><p>
Information processing devices are pervasive in our society; from the 5
dollar watches to multi-billions satellite network. These devices have
allowed the information revolution which is developing around us. It has
transformed not only the way we communicate or entertain ourselves but
also the way we do science and even the way we think. All this
information is manipulated using the classical approximation to the laws
of physics, but we know that there is a better approximation: the
quantum mechanical laws. Would using quantum mechanics for information
processing be an impediment or could it be an advantage? This is the
fundamental question at the heart of quantum information processing
(QIP). QIP is a young field with an incredible potential impact reaching
from the way we understand fundamental physics to technological
applications. I will give an overview of the Institute for Quantum
Computing, comment on the effort in this field at Waterloo and in
Canada and, time permitted visit some of the IQC labs.
</p></abstract>
</eventitem>
<eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
<short>Yes, we know this is Valentine's Day.</short>
<abstract><p>
Contestants will be writing an artificial intelligence to play Risk. The
prize will be awarded to the intelligence which wins the most
head-to-head matches against competing entries. We're providing easy
APIs for several languages, as well as full documentation of the game
protocol so contestants can write wrappers for any additional language
they wish to work in.
</p>
<p>
We officially support entries in Scheme, Perl, Java, C, and C++. If you
would like help developing an API for some other language contact us
through the systems committee mailing list (we will require that your API
is made available to all entrants).
</p>
<p>
To kick off the contest we're hosting an in-house coding session starting
at 4:00PM on Thursday, February 14th in MC2061. Members of our contest
administration team will be available to help you work out the details of
our APIs, answer questions, and provide the necessities of life (ie,
pizza). Submissions will open no later than 5:00PM on February 14th
and will close no earlier than 12:00PM on February 17th.
</p>
<p>
Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
</p></abstract>
</eventitem>
<eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
<short>Elmer Horvath</short>
<abstract><p>
The problem: coordinating and communicating between multiple processors
in a distributed system (possibly containing heterogeneous elements)
</p><p>
The open source TIPC (transparent interprocess communication) protocol
has been incorporated into the Linux kernel and is available in VxWorks
and, soon, other OSes. This emerging protocol has a number of
advantages in a clustered environment to simplify application
development while maintaining a familiar socket programming interface.
The service oriented capabilities of TIPC help in applications easily
finding required services in a system. The location transparent aspect
of TIPC allows services to be located anywhere in the system as well as
allowing redundant services for both load reduction and backup.
Learn about the emerging cluster protocol.
</p></abstract>
</eventitem>
<eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
<short><p>
Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
not engage in campaigning after the nomination period has closed.
</p></short>
</eventitem>
<!-- fall 2007 -->
<eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
<short>
<p>
There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
</p>
<p>
This is a chance to bring out any ideas and concerns about CSC happenings into the open, as well as a chance to make sure all CSC staff is up to speed on current CSC doings. The current agenda can be found at <a href="http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007">http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007.</a>
</p>
</short>
</eventitem>
<eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
<short>Susan Abramovitch</short>
<abstract>
<p>
This talk is run by the School of Computer Science
</p>
<p>
How should virtual property created in games, such as weapons used in
games like Mir 3 and real estate or clothing created or acquired in
games like Second Life, be treated in law. Although the videogaming
industry continues to multiply in value, virtual property created in
virtual worlds has not been formally recognized by any North American
court or legislature. A bridge has been taking shape from gaming's
virtual economies to real world economies, for example, through
unauthorized copying of designer clothes sold on Second Life for in-game
cash, or real court damages awarded against deletion of player-earned
swords in Mir 3. The trading of virtual property is important to a
large number of people and property rights in virtual property are
currently being recognized by some foreign legal bodies.
</p>
<p>
Susan Abramovitch will explain the legal considerations in determining
how virtual property can or should be governed, and ways it can be
legally similar to tangible property. Virtual property can carry both
physical and intellectual property rights. Typically video game
developers retain these rights via online agreements, but Ms.
Abramovitch questions whether these rights are ultimately enforceable
and will describe policy issues that may impact law makers in deciding
how to treat virtual property under such agreements.
</p>
</abstract>
</eventitem>
<eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
<short>Brennan Taylor</short>
<abstract>
<p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI
programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can
be.</p>
</abstract>
</eventitem>
<eventitem date="2007-10-09" time="4:45 PM" room="MC 4060" title="Join-Calculus with JoCaml. Concurrent programming that doesn't fry your brain">
<short>Brennan Taylor</short>
<abstract>
<p>
A lecture on the fundamentals of Pi-Calculus followed by an introduction
to Join-Calculus in JoCaml with some great examples. Various concurrent
control structures are explored, as well as the current limitations of
JoCaml. The examples section will mostly be concurrent programming,
however some basic distributed examples will be explored. This lecture
focuses on how easy concurrent programming can be.
</p>
</abstract>
</eventitem>
<eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
<short>Ian Goldberg</short>
<abstract>
<p>
Instant messaging (IM) is an increasingly popular mode of communication
on the Internet. Although it is used for personal and private
conversations, it is not at all a private medium. Not only are all of
the messages unencrypted and unauthenticated, but they are all
routedthrough a central server, forming a convenient interception point
for an attacker. Users would benefit from being able to have truly
private conversations over IM, combining the features of encryption,
authentication, deniability, and forward secrecy, while working within
their existing IM infrastructure.
</p>
<p>
In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
used software tool for secure and private instant messaging. I will
outline the properties of Useful Security and Privacy Technologies that
motivated OTR's design, compare it to other IM security mechanisms, and
talk about its ongoing development directions.
</p>
<p>
Ian Goldberg is an Assistant Professor of Computer Science at the
University of Waterloo, where he is a founding member of the
Cryptography, Security, and Privacy (CrySP) research group. He holds a
Ph.D. from the University of California, Berkeley, where he discovered
serious weaknesses in a number of widely deployed security systems,
including those used by cellular phones and wireless networks. He also
studied systems for protecting the personal privacy of Internet users,
which led to his role as Chief Scientist at Zero-Knowledge Systems (now
known as Radialpoint), where he commercialized his research as the
Freedom Network.
</p>
</abstract>
</eventitem>
<eventitem date="2007-11-20" time="4:30 PM" room="MC 4041" title="Why you should care about functional programming with Haskell *New-er Date*">
<short>Andrei Barbu</short>
<abstract>
</abstract>
</eventitem>
<eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
<short>Andrei Barbu</short>
<abstract>
Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
software transactional memory, a new approach to concurrency, will also be discussed. Before the end we'll also see the solution to an ACM problem
to get a hands on feeling for the language. Don't worry if you haven't seen the first talk, you should be fine for this one anyway!
</abstract>
</eventitem>
<eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
<short>Brennan Taylor</short>
<abstract>
<p>
A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples.
Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will
mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy
concurrent programming can be.
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
<short>David Tenty</short>
<abstract>
<p>
With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
Postponed to a later date.
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
<short>Win Prizes!</short>
<abstract>
<p>
The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed.
Prizes totalling in value of $75 will be distributed. You can participate online! For more information, including source files visit <a href="http://www.csclub.uwaterloo.ca/contest">http://www.csclub.uwaterloo.ca/contest</a>
</p>
<p>
And Free Pizzaa for all who attend!
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
<short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
<abstract>
<p>
Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
Lots of fun! Possible Pizzaa!
</p>
</abstract>
</eventitem>
<eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
<short>Brennan Taylor</short>
<abstract>
<p>
A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some
history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
<short>Holden Karau</short>
<abstract>
<p>
An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
</p>
<p>
Holden Karau participated in Google Summer of Code 2007 as a student on the subversion team. He created a set of scheme bindings for the
subversion project.
</p>
</abstract>
</eventitem>
<!--spring 2007-->
<eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
<short>Bjarne Stroustrup</short>
<abstract><p>
A good programming language is far more than a simple collection of
features. My ideal is to provide a set of facilities that smoothly work
together to support design and programming styles of a generality beyond
my imagination. Here, I briefly outline rules of thumb (guidelines,
principles) that are being applied in the design of C++0x. Then, I
present the state of the standards process (we are aiming for C++09) and
give examples of a few of the proposals such as concepts, generalized
initialization, being considered in the ISO C++ standards committee.
Since there are far more proposals than could be presented in an hour,
I'll take questions.
</p></abstract>
</eventitem>
<eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
<short>Richard Stallman</short>
<abstract><p>
Copyright developed in the age of the printing press, and was designed
to fit with the system of centralized copying imposed by the printing
press. But the copyright system does not fit well with computer
networks, and only draconian punishments can enforce it.
</p><p>
The global corporations that profit from copyright are lobbying for
draconian punishments, and to increase their copyright powers, while
suppressing public access to technology. But if we seriously hope to
serve the only legitimate purpose of copyright--to promote progress, for
the benefit of the public--then we must make changes in the other
direction.
</p><p>
The CSC would like to thank MEF and Mathsoc for funding this talk.
</p><p>
<a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
<a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
<a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
<a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
</p></abstract>
</eventitem>
<eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
<short>A talk by Michael Terry</short>
<abstract><p>
What is the typical monitor resolution of a GIMP user? How many monitors
do they have? What size images do they work on? How many layers are in
their images? The answers to these questions are generally unknown: No
means currently exist for open source applications to collect usage
data. In this talk, I will present ingimp, a version of GIMP that has
been instrumented to automatically collect usage data from real-world
users. I will discuss ingimp's design, the type of data we collect, how
we make the data available on the web, and initial results that begin to
answer the motivating questions.
</p><p>
ingimp can be found at http://www.ingimp.org.
</p></abstract>
</eventitem>
<eventitem date="2007-06-22" time="4:30 PM"
room="MC 4042"
title="Email encryption for the masses">
<short>Ken Ho</short>
<abstract><p>
E-mail transactions and confirmations have become commonplace and the
information therein can often be sensitive. We use email for purposes as
mundane as inbound marketing, to as sensitive as account passwords and
financial transactions. And nearly all our email is sent in clear text;
we trust only that others will not eavesdrop or modify our messages. But
why rely on the goodness or apathy of your fellow man when you can
ensure your message's confidentiality with encryption so strong not even
the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
and GNU Privacy Guard to ensure that your messages are sent, knowing
that only your intended recipient can receive it.
</p><p>An optional code-signing party will be held immediately
afterwards; if you already have a PGP or GPG key and wish to
participate, please submit the public key to
<a href="mailto:gpg-keys@csclub.uwaterloo.ca">
gpg-keys@csclub.uwaterloo.ca</a>.
</p><p>
Laptop users are invited also to participate in key-pair sharing
on-site, though it is preferable to send keys ahead of time.
</p></abstract>
</eventitem>
<eventitem date="2007-06-18" time="4:30 PM"
room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
<short>Peter Macdonald</short>
<abstract><p>
The purpose of the talk is to address how students interact with the
internet, and possibilities for how they could do so more efficiently.
Information on events and happenings on UW campus is currently hosted
on a desperate, series of internet applications. Interactions with
WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a
Facebook group, campus information at large comes from
<a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There
has been historical pressures from various bodies, including some
thinkers in feds and the administration, to centralize these issues. To
create a one stop shop for students on campus.
</p><p>
It is not through confining data in cages that we will finally link all
student activities together, instead it is by truly freeing it. When
data can be anywhere, then it will be everywhere students need it. This
is the underlying concept behind metadata, data that is freed from the
confines of it's technical imprisonment. Metadata is the extension of
people, organizations, and activities onto the internet in a way that is
above the traditional understanding of how people interact with their
networks. The talk will explore how Metadata can exist freely on the
internet, how this affects concepts like Web 3.0, and how the university
and the federation are poised to take advantage of this burgeoning new
technology through adoptions of portals which will allow students to
interact with a metaverse of data.
</p></abstract>
</eventitem>
<!-- Winter 2007 -->
<eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
<short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
<abstract><p>
Richard Stallman has cancelled his trip to Canada.
</p></abstract>
</eventitem>
<eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
<short>A talk by Simina Branzei</short>
<abstract><p>
Abstract coming soon!
</p></abstract>
</eventitem>
<eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
Bill Gates Visit">
<short>Bill Gates is coming to visit the CSClub</short>
<abstract>
<p>
While reading Slashdot, Bill came across the recently digitized audio
recording of his 1989 talk at the Computer Science Club. As Bill has always
had a soft-spot for the Computer Science Club, he has decided to pay us a
surprise visit.
</p><p>
Bill promises to give away free copies of Windows Vista Ultimate, because
frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
to bring your resumes kids, because Bill will be recruiting for some
exciting new positions at Microsoft, including Mindless Drone, Junior Code
Monkey, and Assistant Human Cannonball.
</p>
</abstract>
</eventitem>
<eventitem date="2007-03-28" time="5:30 PM"
room="MC 1056" title="Computational Physics Simulations">
<short>A talk by David Tenty and Alex Parent</short>
<abstract>
<p>
Coming Soon!
</p>
</abstract>
</eventitem>
<eventitem date="2007-03-29" time="4:30 PM"
room="MC 1056" title="All The Code">
<short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
<abstract>
<p>
Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find
pre-existing code. So if you were writing some code and you wanted to find a csv library, for example, you could search for csv.
<a href="http://www.allthecode.com/">All The Code</a> is a
next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine
relevance of code.
</p>
<p>
The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>,
along with a brief discussion of some of the technology behind it.
</p>
</abstract>
</eventitem>
<eventitem date="2007-04-04" time="4:00 PM"
room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
<short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
circumstances</short>
<abstract>
<p>
I am going to take an intuitive, CS-style approach to a discussion about the
use of kernels in modern data analysis. This approach often lends us
efficient ways to consider a dataset under various choices of inner product,
which is roughly comparable to a measure of "similarity". Many new tools in
AI arise from kernel methods, such as the infamous Support Vector Machines for
classification, and kernel-PCA for nonlinear dimensionality reduction. I will
attempt to highlight, and provide visualization for some of the math involved
in these methods while keeping the material at an accessible, undergraduate
level.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-26" time="4:30 pm"
room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
<short>A talk by Alex Ionescu</short>
<abstract>
<p>
The ReactOS operating system has been in development for over eight years and aims to provide users
with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
identical to Windows, both visually and internally.
</p><p>
More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
students to learn a variety of skills useful to software testing, development and management, as well as
providing a rich and clean implementation of Windows NT, with a kernel compatible to published
internals book on the subject.
</p><p>
This talk will introduce the ReactOS project, as well as the various software engineering challenges
behind it. The building platform and development philosophies and utilities will be shown, and
attendees will grasp the vast amount of effort and organization that needs to go into building an
operating system or any other similarly large project. The speaker will gladly answer questions related to
his background, experience and interests and information on joining the project, as well as any other
related information.
</p><p>
<strong>Speaker Bio</strong>
</p><p>
Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
providing hands-on workshops and lectures on Windows NT internals and security to various companies.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-15" time="4:30 PM"
room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
<short>A talk by James deBoer</short>
<abstract>
<p>
This talk will introduce the Haskell programming language and and walk
through building a recognizer for regular languages. The talk will
include a quick overview of regular expressions, an introduction to
Haskell and finally a line by line analysis of a regular language
recognizer.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-09" time="4:30 PM"
room="MC 4041" title="Introduction to 3-d Graphics">
<short>A talk by Chris "The Prof" Evensen</short>
<abstract>
<p>
A talk for those interested in 3-dimensional graphics but unsure of where to
start. Covers the basic math and theory behind projecting 3-dimensional
polygons on screen, as well as simple cropping techniques to improve
efficiency. Translation and rotation of polygons will also be discussed.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-09" time="8:30 PM"
room="DC 1351" title="Writing World Class Software">
<short>A talk by James Simpson</short>
<abstract>
<p>
A common misconception amongst software developers is that top quality software
encompasses certain platforms, is driven by a particular new piece of
technology, or relies solely on a particular programming language. However as
developers we tend to miss the less hyped issues and techniques involved in
writing world class software. These techniques are universal to all
programming languages, platforms and deployed technologies but are often times
viewed as being so obvious that they are ignored by the typical developer. The
topics covered in this lecture will include:
</p><p>
- Writing bug-free to extremely low bug count software in real-time<br/>
- The concept of single-source, universal platform software<br/>
- Programming language interoperability<br/>
<br/>
... and other less hyped yet vitally important concepts to writing
World Class Software
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-08" time="4:30 PM"
room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
<short>A talk by Larry Smith</short>
<abstract>
<p>
A discussion of software start-ups founded by UW students and what they did
that helped them grow and what failed to help. In order to share the most
insights and guard the confidences of the individuals involved, none of the
companies will be identified.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-07" time="4:30 PM"
room="MC 4041" title="Riding The Multi-core Revolution">
<short>How a Waterloo software company is changing the way people program computers.
A talk by Stefanus Du Toit</short>
<abstract>
<p>
For decades, mainstream parallel processing has been thought of as
inevitable. Up until recent years, however, improvements in
manufacturing processes and increases in clock speed have provided
software with free Moore's Law-scale performance improvements on
traditional single-core CPUs. As per-core CPU speed increases have
slowed to a halt, processor vendors are embracing parallelism by
multiplying the number of cores on CPUs, following what Graphics
Processing Unit (GPU) vendors have been doing for years. The Multi-
core revolution promises to provide unparalleled increases in
performance, but it comes with a catch: traditional serial
programming methods are not at all suited to programming these
processors and methods such as multi-threading are cumbersome and
rarely scale beyond a few cores. Learn how, with hundreds of cores in
desktop computers on the horizon, a local software company is looking
to revolutionize the way software is written to deliver on the
promise multi-core holds.
</p>
<p>
Refreshments (and possible pizza!) will be provided.
</p>
</abstract>
</eventitem>
<!-- <eventitem date="2007-01-24" time="4:00 PM"
room="TBA" title="TBA">
<short>A talk by Reg Quinton</short>
<abstract>
<p>
To be announced
</p>
</abstract>
</eventitem>
-->
<eventitem date="2007-01-31" time="4:00 PM"
room="MC 4041" title="Network Security -- Intrusion Detection">
<short>A talk by Reg Quinton</short>
<abstract>
<p>
IST monitors the campus network for vulnerabilities and scans
systems for security problems.
This informal presentation will look behind the scenes to show the
strategies and technologies used and to show the problem magnitude. We
will review the IST Security web site with an emphasis on these pages
</p><p>
<a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
<a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
<a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
</p>
</abstract>
</eventitem>
<!--
<eventitem date="2007-01-31" time="4:30 PM"
room="TBA" title="An Brief Introduction to Projection Graphics">
<short>A talk by Christopher Evensen</short>
<abstract>
<p>
To be announced
</p>
</abstract>
</eventitem>
-->
<!-- Fall 2006 -->
<!-- Nothing happened :( -->
<!-- Spring 2006 -->
<eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
<short>Come out for the Club that Really Likes Dinner</short>
<abstract>
<p>
Summer: the sparrows whistle through the teapot-steam breeze. The
ubiquitous construction team tears the same pavement up for the third
time, hammering passers-by with dust and noise: our shirts, worn for
the third time, noisome from competing heat and shame. As Nature
continues her Keynesian rotation of policy, and as society decrees yet
another parting of ways, it is proper for the common victims to have
an evening to themselves, looking both back and ahead, imagining new
opportunities, and recognising those long since missed. God fucking
damn it.
</p>
<p>
This term's CTRL-D end-of-term dinner is taking place tomorrow
(Saturday) at 7:00 P.M. at East Side Mario's, in the plaza. Meet in
the C.S.C. fifteen minutes beforehand, so they don't take away our
seats or anything nasty like that.
</p>
<p>
A lot of people wanted to go to the Mongolian Grill, but I'm pretty
sure this place has a similar price-to-tasty ratio; what's more,
they'll actually grant us a reservation more than four nights a week.
I've confirmed that the crazy allergenic peanuts no longer exist
(sad), and they have a good vegetarian selection, which is likely
coincides with their kosher and halal menus.
</p>
<p>
Come out for the tasty and the awesome! If you pretend it's your
birthday, everyone's a loser! Tell your friends, because I told the
telephone I wanted to reserve for 10 to 12 people, and I don't wish to
sully Calum T. Dalek's good name!
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
<short>Come out for some retro Amiga-style Lemmings gaming action!</short>
<abstract>
<p>
Does being in CS make you feel like a lemming? Is linear algebra driving you
into walls? Do you pace back and forth, constantly, regardless of whatever's
in your path? Then you should come out to CSC Lemmings Day. This time, we're
playing the pseudo-sequel: Oh No! More Lemmings!
</p>
<ul>
<li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
<li>Projector screen: the pixels are man-sized!</li>
<li>Enjoy classic Lemmings tunes</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
<short>A part of Linux Awareness Week</short>
<abstract>
<p>
The Computer Science Club is once again stepping forward to fulfill its ancient duty to the people-this time by installing one of the many
fine distributions of Linux for you.
</p>
<p>
Ubuntu? Debian? Gentoo? Fedora? We might not have them all, but we seem to have an awful lot! Bring your boxen down to the D.C. Fishbowl for
the awesome!
</p>
<p>
Install Linux on your machine-install fear in your opponents!
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
<short>or How communities of interest drive modern software development.</short>
<abstract>
<p>
Simon Law leads the Quality teams for Ubuntu, a free-software operating
system built on Debian GNU/Linux. As such, he leads one of the largest
community-based testing efforts for a software product. This does get a
bit busy sometimes.
</p>
<p>
In this talk, we'll be exploring how the Internet is changing how
software is developed. Concepts like open source and technologies like
message forums are blurring the lines between producer and consumer.
And this melting pot of people is causing people to take note, and
changing the way they sling code.
</p>
<p>
Co-Sponsored with CS-Commons Committee
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-21" time="5:30 PM"
room="MC1085" title="March of the Penguins">
<short>The Computer Science Club will be showing March of the Penguins</short>
<abstract>
<p>
<a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
by some guy with a funny voice is being shown by the Computer Science club because penguins are cute and were bored [that and the
whole Linux awareness week that forgot to tell people about].
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-20" time="5:30 PM"
room="MC4041" title="Cool Stuff to do With Python">
<short>Albert O'Connor will be introducing the joys of programming in python</short>
<abstract>
<p>
Albert O'Connor, a UW grad, will be giving a ~30 minute talk on introducing the joys of programming python. Python is an open source
object-oriented programming language which is most awesome.
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-20" time="4:30 PM"
room="MC4041" title="Simulating multi-tasking on an embedded architecture">
<short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
<abstract>
<p>
In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must
respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence
crazy hacks must be used to get the benefits without paying the high costs. This talk will look at the common hack used to simulate multi-processing
in a real time embedded environment.
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
<short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
<abstract>
<p>
Could you write a good image recognizer for a 100 MHz mobile phone
processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
stack? It needs to locate and read two-dimensional barcodes made up of
square modules which might be no more than a few pixels in size. We
had to do that in order to establish Semacode, a local start up
company that makes a software barcode reader for cell phones. The
applications vary from ubiquitous computing to advertising. Simon
Woodside (founder) will discuss what it's like to start a business and
how the imaging code works.
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-17" time="11:59 PM"
room="MC3036" title="Midnight Madness, Alpha Edition">
<short>Come out to discuss current &amp; future plans/projects for the Club</short>
<abstract>
<p>
The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
together, solder, and eat free food (probably pizza).
</p>
</abstract>
</eventitem>
<eventitem date="2006-06-21" time="4:30 PM"
room="MC4042" title="CSC General Meeting">
<short>Come out to discuss current &amp; future plans/projects for the Club</short>
<abstract>
<p>
The venue will include:</p>
<p><ul>
<li><p>Computer usage agreement discussion (Holden has some changes he'd like to propose)</p></li>
<li><p>Web site - Juti is redesigning the web site (you can see <a href="beta/">a beta here</a> - ideas are welcome.</p></li>
<li><p>Frosh Linux cd's that could be put in frosh math faculty kits.</p></li>
<li><p>VoIP "not phone services" ideas.</p></li>
<li><p>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</p></li>
<li><p>Ideas for books.</p></li>
<li><p>General improvements/comments for the club.</p></li>
</ul></p>
<p>
If you have ideas, but can't attend, please email them to <a href="mailto:president@csclub.uwaterloo.ca">president@csclub.uwaterloo.ca</a> and they will be read them at the meeting.
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
<short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
<abstract>
<p>
Rico Mariani, (BMath CS/EEE 1988) now an (almost) 18 year Microsoft veteran but then a CSC president comes to talk to us about the
evolution of software tools for microcomputers. This talk promises to be a little bit about history and perspective (at least from
the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what
it's like to try to make the software industry more effective at what it does, and sometimes succeed!
</p>
<p>
A video of the talk is available for download in our <a href="media/">media</a> section.
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
<short>Unix 101 and 102 recording</short>
<abstract>
<p>
Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try
and put them on the web. This Sunday we will be doing a first take.
At the same time, we're going to be looking at adding new material
that we haven't covered in the past. </p>
<p>
Why should you come out? Not only will you get to hang out with a wonderful group of people,
you can help impart your knowledge to the world. Don't know anything about Unix? That's cool too,
we need people to make sure its easy to follow along and hopefully keep us from leaving something
out by mistake.
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
<short> We don't know enough about V4L</short>
<abstract>
<p>
We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which
could benefit from a better understanding of Video 4 Linux. So, this Saturday a number of us will be trying to learn
as much as possible about Video 4 Linux and doing weird things with webcam(s).
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
Elections">
<short>Come out and vote for the Spring 2006 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Spring 2006
term on Monday, May 8th. The elections will be held at 4:30 PM in the
Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Sunday, May 7th. If you are interested in running for
a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<!-- Winter 2006 -->
<eventitem date="2006-03-06" time="4:45 PM"
room="Physics 145" title="Creating Killer Applications">
<short>A talk by Larry Smith</short>
<abstract>
<p>
A discussion of how software creators can identify application opportunities
that offer the promise of great social and commercial significance. Particular
attention will be paid to the challenge of acquiring cross domain knowledge
and setting up effective collaboration.
</p>
</abstract>
</eventitem>
<eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
<short>Come out and meet your professors. Free food provided!</short>
<abstract>
<p>Come out and meet your professors! This is a great opportunity to
mingle with your professors before midterms or find out who you might
have for future courses. All are welcome!</p>
<p>Best of all, there will be <strong>free food!</strong></p>
<p>You can pick up invitations for your professors at the Computer Science
Club office in MC 3036.</p>
<p>Pints with Profs will be held this term on Thursday, 9 February 2006
from 5:30 to 8:00 PM in the Bombshelter.</p>
</abstract>
</eventitem>
<!-- Fall 2005 -->
<eventitem date="2005-11-29" time="5:30 PM"
room="TBA" title="Programming Contest">
<short>Come out, program, and win shiny things!</short>
<abstract>
<p>
The Computer Science club is holding a programming contest open to all students on Tuesday the 29th of November at 5:30PM. C++,C,Perl,Scheme* are allowed. Prizes totalling in value of $75 will be distributed.
</p>
<p>And best of all... free food!!!</p>
</abstract>
</eventitem>
<eventitem date="2005-10-17" time="5:30 PM"
room="Fishbowl" title="Party with Profs!">
<short>Get to know your profs and be the envy of your
friends!</short>
<abstract>
<p>
Come out and meet your professors!! This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who
you might have for future courses. One and all are welcome!
</p>
<p>And best of all... free food!!!</p>
</abstract>
</eventitem>
<eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103: Scripting Unix">
<short>You Too Can Be a Unix Taskmaster</short>
<abstract>
<p>
This is the third in a series of seminars that cover the use of the
UNIX Operating System. UNIX is used in a variety of applications, both
in academia and industry. We will provide you with hands-on experience
with the Math Faculty's UNIX environment in this tutorial.
</p><p>
Topics that will be discussed include:
<ul>
<li>Shell scripting</li>
<li>Searching through text files</li>
<li>Batch editing text files</li>
</ul>
</p><p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
<short>Fun with Unix</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of
applications, both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's Unix environment in this tutorial.
</p>
<p>
Topics that will be discussed include:
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
</p>
<p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
<short>First UNIX tutorial</short>
<abstract>
<p>
The CSC UNIX tutorials are intended to help first year CS and other
interested learn UNIX and the CS UNIX environment.
</p>
<p>
This is the first in a series of two or three tutorials. It will cover basic shell
use, and simple text editors.
</p>
</abstract>
</eventitem>
<!-- Summer 2005 -->
<eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
<short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
<abstract>
<p>
Server-side Web applications have grown increasingly common, sometimes
even replacing brick and mortar as the principal interface of
corporations. Correspondingly, Web browsers grow ever more powerful,
empowering users to attach bookmarks, switch between pages, clone
windows, and so forth. As a result, Web interactions are not
straight-line dialogs but complex nets of interaction steps.
</p>
<p>
In practice, programmers are unaware of or are unable to handle these
nets of interaction, making the Web interfaces of even major
organizations buggy and thus unreliable. Even when programmers do
address these constraints, the resulting programs have a seemingly
mangled structure, making them difficult to develop and hard to
maintain.
</p>
<p>
In this talk, I will describe these interactions and then show how
programming language ideas can shed light on the resulting problems
and present solutions at various levels. I will also describe some
challenges these programs pose to computer-aided verification, and
present solutions to these problems.
</p>
</abstract>
</eventitem>
<eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
<short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
<abstract>
<p>
I'll survey the evolution of our computer science curriculum over the
past thirty-five years to try to convey the reasons (not always entirely
rational) behind our current mix of courses and their division into core
and optional. After some remarks about constraints and opportunities in
the near future, I'll open the floor to discussion, and hope to hear
some candid comments about the state of CS at UW and how it might be
improved.
</p>
<p>
About the speaker:
</p>
<p>
Prabhakar Ragde is a Professor in the School of Computer Science at UW.
He was Associate Chair for Curricula during the period that saw the
creation of the Bioinformatics and Software Engineering programs, the
creation of the BCS degree, and the strengthening of the BMath/CS degree.
</p>
</abstract>
</eventitem>
<!-- Winter 2005 -->
<eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
<short>Come out for some retro Amiga-style Lemmings gaming action!</short>
<abstract>
<p>
Does being in CS make you feel like a lemming? Is linear algebra driving you
into walls? Do you pace back and forth, constantly, regardless of whatever's
in your path? Then you should come out to CSC Lemmings Day. This time, we're
playing the pseudo-sequel: Oh No! More Lemmings!
</p>
<ul>
<li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
<li>Projector screen: the pixels are man-sized!</li>
<li>Live-Action Lemmings (the rules are better this time)</li>
<li>Lemmings look-alike contest</li>
<li>Enjoy classic Lemmings tunes</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
<short>Fun with Unix</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of
applications, both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's Unix environment in this tutorial.
</p>
<p>
Topics that will be discussed include:
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
</p>
<p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
<short>First UNIX tutorial</short>
<abstract>
<p>
The CSC UNIX tutorials are intended to help first year CS and other
interested learn UNIX and the CS UNIX environment.
</p>
<p>
This is the first in a series of two or three tutorials. It will cover basic shell
use, and simple text editors.
</p>
</abstract>
</eventitem>
<eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
Elections">
<short>Come out and vote for the Winter 2005 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Winter 2005
term on Thursday, January 13. The elections will be held at 4:30 PM in the
Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Wednesday, January 12. If you are interested in running for
a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<!-- Fall 2004 -->
<eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
title="CTRL-D">
<short> This semesters CTRL-D (or the club that really likes
dinner) is going to be at Mongolian grill. Be there or be square</short>
<abstract>
<p>
Come to the end of term CTRL-D (club that really likes dinner) meeting.
Remember : food is good
</p>
</abstract>
</eventitem>
<eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
<short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
interesting examples that can or cannot be straightened out</short>
<abstract>
<p>
In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
interesting examples that can or cannot be straightened out</p>
</abstract>
</eventitem>
<eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
<short>How I Stopped Worrying and Learned to Love the IDE</short>
<abstract>
<p>
How I stopped worrying and Learned to Love the IDE
</p>
<p>
Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like
the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs.
</p>
<p>
I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or
"Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
</p>
</abstract>
</eventitem>
<eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
<short>Wiki software in PHP+MySQL</short>
<abstract>
<p>
GracefulTavi is an open source wiki programmed by Net Integration
Technologies Inc. It is used internally by more than 25 people, and is
the primary internal wiki for NITI's R&amp;D and QA.
</p>
<p>
I'll start with a very brief introduction to wikis in general, then
show off our special features: super-condensed formatting syntax,
hierarchy management, version control, highlighted diffs, SchedUlator,
the Table of Contents generator. As part of this, we'll explain the
simple plugin architecture and show people how to write a basic wiki
plugin.
</p>
<p>
As well, I will show some of the "waterloo specific" macros that have
been coded, and explain future plans for GracefulTavi.
</p>
<p>
If time permits, I will explain how gracefulTavi can be easily used
for a personal calendar and notepad system on your laptop.
</p>
</abstract>
</eventitem>
<eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
<short>Everyone else is doing it!</short>
<abstract>
<p>
Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
</p><p>
<ul>
<li>Play some old-skool Lemmings, Amiga-style</li>
<li>Live-action lemmings</li>
<li>Lemmings look-alike contest</li>
<li>Enjoy classic Lemmings tunes</li>
</ul>
</p><p>
Everyone else is doing it!
</p>
</abstract>
</eventitem>
<eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
<short>CSC Programming Contest</short>
<abstract>
<p>
The Computer Science Club will be hosting a programming competition.
You have the entire afternoon to design and implement an AI for a simple
game. The competition will run until 5pm.
</p>
</abstract>
</eventitem>
<eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103: Scripting Unix">
<short>You Too Can Be a Unix Taskmaster</short>
<abstract>
<p>
This is the third in a series of seminars that cover the use of the
UNIX Operating System. UNIX is used in a variety of applications, both
in academia and industry. We will provide you with hands-on experience
with the Math Faculty's UNIX environment in this tutorial.
</p><p>
Topics that will be discussed include:
<ul>
<li>Shell scripting</li>
<li>Searching through text files</li>
<li>Batch editing text files</li>
</ul>
</p><p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
<short>Fun with Unix</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of
applications, both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's Unix environment in this tutorial.
</p>
<p>
Topics that will be discussed include:
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
</p>
<p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<!-- Spring 2004 -->
<eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
<short>First UNIX tutorial</short>
<abstract>
<p>
The CSC UNIX tutorials are intended to help first year CS and other
interested learn UNIX and the CS UNIX environment.
</p>
<p>
This is the first in a series of three tutorials. It will cover basic shell
use, and simple text editors.
</p>
</abstract>
</eventitem>
<eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
Elections">
<short>Come out and vote for the Fall 2004 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Fall 2004
term on Friday, September 17. The elections will be held at 4:00 PM in the
Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Thursday, September 16. If you are interested in running
for a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
title="Game Complexity Theorists Ponder, by Jonathan Buss">
<short>Attention AI buffs: Game Complexity presentation</short>
<abstract>
<p>
Why are some games hard to play well? The study of computational
complexity gives one answer: the games encode long computations.</p>
<p>Any computation can be interpreted as an abstract game. Playing the
game perfectly requires performing the computation. Remarkably, some
natural games can encode these abstract games and thus simulate
general computations. The more complex the game, the more complex the
computations it can encode; games that can encode intractable problems
are themselves intractable.</p>
<p>
I will describe how games can encode computations, and discuss some
examples of both provably hard games (checkers, chess, go, etc.) and
games that are believed to be hard (hex, jigsaw puzzles, etc.).
</p>
</abstract>
</eventitem>