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

8137 lines
360 KiB

<?xml version='1.0'?>
<!DOCTYPE eventdefs SYSTEM "csc.dtd" [<!ENTITY mdash "&#x2014;">]>
<eventdefs>
<!-- Winter 2015 -->
<eventitem date="2015-03-10" time="6:00 PM" room="MC 4040"
title="Runtime Type Inference in Dynamic Languages - Day 2">
<short>
<p>
Day 2 of Runtime Type Inference in Dynamic Languages with Kannan Vijayan
</p>
</short>
<abstract>
<p>
Day 2 of Runtime Type Inference in Dynamic Languages with Kannan Vijayan
</p>
</abstract>
</eventitem>
<eventitem date="2015-03-09" time="6:00 PM" room="MC 4040"
title="Runtime Type Inference in Dynamic Languages - Day 1">
<short>
<p>
Javascript is fast. In some cases, very close to compiled-language fast.
How is this even possible? How do we know what types our variables have?
How can we optimize it well? Kannan Vijayan will be talking about the
historical advances in JIT-compilation of dynamically typed programs over
two days. Of course, both of those talks will have free food.
</p>
</short>
<abstract>
<p>
How do we make dynamic languages fast? Today, modern Javascript engines
have demonstrated that programs written in dynamically typed scripting lan-
guages can be executed close to the speed of programs written in languages
with static types. So how did we get here? How do we extract precious type
information from programs at runtime? If any variable can hold a value of any
type, then how can we optimize well?
<br></br>
This talk covers a bit of the history of the techniques used in this space, and
tries to summarize, in broad strokes, how those techniques come together to
enable efficient jit-compilation of dynamically typed programs.
To do the topic justice, Kannan Vijayan will be talking the Monday and
Tuesday March 9th and 10th.
<br></br>
Does that mean two consecutive days of free food? Yes it does.
</p>
</abstract>
</eventitem>
<eventitem date="2015-03-03" time="6:00 PM" room="MC 2038"
title="SAT and SMT solvers">
<short>
<p>
Murphy Berzish explains how to programmatically determine if a program is satisfiable,
and how to find a concrete counterexample if it is unsatisfiable. At the core
are SAT/SMT solvers. SAT theory deals with Boolean Satisfiability solvers,
while SMT theory--Satisfiability Modulo a Theory--allows SMT to be extended
to common data structures. Free food!
</p>
</short>
<abstract>
<p>
Does your program have an overflow error? Will it work with all inputs? How
do you know for sure? Test cases are the bread and butter of resilient design,
but bugs still sneak into software. What if we could prove our programs are
error-free?
<br></br>
Boolean Satisfiability (SAT) solvers determine the ‘satisfiability’ of boolean
set of equations for a set of inputs. An SMT solver (Satisfiability Modulo
a Theory) applies SMT to bit-vectors, strings, arrays, and more. Together,
we can reduce a program and prove it is satisfiable, or provide a concrete
counter-example. The implications of this are computer-aided reasoning tools
for error-checking in addition to much more robust programs.
<br></br>
In this talk Murphy Berzish will give an overview of SAT/SMT theory and
some real-world solution methods. He will also demonstrate applications of
SAT/SMT solvers in theorem proving, model checking, and program verification.
<br></br>
What else? Oh yes, refreshments and drinks will be served. Come out!
</p>
</abstract>
</eventitem>
<eventitem date="2015-02-27" time="6:00 PM" room="EV3 1408"
title="Code Party 0">
<short>
<p>
The first code party of Winter 2015, and we have something a litle different
this time. We're running a Code Retreat (coderetreat.org) with Boltmade.
The result of this is that you will be able to do a coding challenge, wherein
you implement Rule 110 (like the Game of Life). Of course, if you want to
work on whatever you can do that as well. Delicious free food, but RSVP!
<a href="https://bit.ly/code-party-0">bit.ly/code-party-0</a>
</p>
</short>
<abstract>
<p>
The first code party of Winter 2015, and we have something a litle different
this time. We're running a Code Retreat (coderetreat.org) with Boltmade.
The result of this is that you will be able to do a coding challenge, wherein
you implement Rule 110 (like the Game of Life). Of course, if you want to
work on whatever you can do that as well. Delicious free food, but RSVP!
<a href="https://bit.ly/code-party-0">bit.ly/code-party-0</a>
</p>
</abstract>
</eventitem>
<eventitem date="2015-02-05" time="3:30 PM" room="DC 1302"
title="Making Robots Behave">
<short>
<p>
Part of the Cheriton School of CS' Distinguished Lecture Series, MIT's Leslie Kaelbling will
discuss robotic AI applied to the messy real world. We make a number of
approximations during planning but regain robustness and effectiveness
through a continuous state estimation and replanning process. This allows
us to solve problems that would otherwise be intractable to solve optimally.
</p>
</short>
<abstract>
<p>
The fields of AI and robotics have made great improvements in many
individual subfields, including in motion planning, symbolic planning,
probabilistic reasoning, perception, and learning. Our goal is to
develop an integrated approach to solving very large problems that are
hopelessly intractable to solve optimally. We make a number of
approximations during planning, including serializing subtasks,
factoring distributions, and determinizing stochastic dynamics, but
regain robustness and effectiveness through a continuous state
estimation and replanning process. This approach is demonstrated in
three robotic domains, each of which integrates perception, estimation,
planning, and manipulation.
</p>
</abstract>
</eventitem>
<eventitem date="2015-02-02" time="6:00 PM" room="MC 4063"
title="Racket's Magical match">
<short>
<p>
Theo Belaire, a fourth-year CS student, will be talking about Racket's
match' function. Bug resistant, legible, and super powerful! Especially
useful for CS 241 in writing compilers, but all-round a joy to write.
</p>
</short>
<abstract>
<p>
Come learn how to use the power of the Racket match construct to make your
code easier to read, less bug-prone and overall more awesome!
</p>
<p>
Theo Belaire,
a fourth-year CS student, will show you the basics of how this amazing
function works, and help you get your feet wet with some code examples and
advanced use cases.
</p>
<p>
If you're interested in knowing about the more
powerful features of Racket, then this is the talk for you! The material
covered is especially useful for students in CS 241 who are writing their
compiler in Racket, or are just curious about what that might look like.
</p>
</abstract>
</eventitem>
<eventitem date="2015-01-21" time="6:00 PM" room="MC 2017"
title="Alumni Tech Talk">
<short>
<p> Alex Tsay from AeroFS will talk about the high availability distributed
file systems they develop.
</p>
<p>The CAP Theorem outlined the fundamental limitations of a distributed system.
When designing a distributed system, one has to constantly be aware of the
trade-off between consistency and availability.
Most distributed systems are designed with consistency in mind. However, AeroFS
has decided to build a high-availability file system instead.
In this tech talk, I'll be presenting an overview of AeroFS file system,
advantages and challenges of a high-availability file system, and examine the
inner workings of AeroFS's core syncing algorithm.
</p>
</short>
<abstract>
<p> Alex Tsay from AeroFS will talk about the high availability distributed
file systems they develop.
</p>
<p>The CAP Theorem outlined the fundamental limitations of a distributed system.
When designing a distributed system, one has to constantly be aware of the
trade-off between consistency and availability.
Most distributed systems are designed with consistency in mind. However, AeroFS
has decided to build a high-availability file system instead.
In this tech talk, I'll be presenting an overview of AeroFS file system,
advantages and challenges of a high-availability file system, and examine the
inner workings of AeroFS's core syncing algorithm.
</p>
</abstract>
</eventitem>
<eventitem date="2015-01-15" time="7:00 PM" room="Comfy Lounge"
title="Winter 2015 Elections">
<short>
<p>Elections for Winter 2015 are being held! Submit a nomination and join
your fellow members in choosing this term's CSC executive. (Please note
the time change to 7PM.)
</p>
</short>
<abstract>
<p>The Computer Science Club will be holding its termly elections this
upcoming Thursday, Jan. 15 at 6PM in the Comfy Lounge (MC 3001). During
the election, the president, vice-president, treasurer and secretary will
be elected, the sysadmin will be ratified, and the librarian and office
manager will be appointed.
</p>
<p>Nominations are now closed. The candidates are:</p>
<ul>
<li>President:<ul>
<li>Luke Franceschini (<tt>l3france</tt>)</li>
<li>Gianni Gambetti (<tt>glgambet</tt>)</li>
<li>Ford Peprah (<tt>hkpeprah</tt>)</li>
<li>Khashayar Pourdeilami (<tt>kpourdei</tt>)</li>
</ul></li>
<li>Vice-President:<ul>
<li>Luke Franceschini (<tt>l3france</tt>)</li>
<li>Gianni Gambetti (<tt>glgambet</tt>)</li>
<li>Patrick Melanson (<tt>pj2melan</tt>)</li>
<li>Ford Peprah (<tt>hkpeprah</tt>)</li>
<li>Khashayar Pourdeilami (<tt>kpourdei</tt>)</li>
</ul></li>
<li>Treasurer:<ul>
<li>Weitian Ding (<tt>wt2ding</tt>)</li>
<li>Aishwarya Gupta (<tt>a72gupta</tt>)</li>
<li>Edward Lee (<tt>e45lee</tt>)</li>
</ul></li>
<li>Secretary:<ul>
<li>Ilia "itchy" Chtcherbakov (<tt>ischtche</tt>)</li>
<li>Luke Franceschini (<tt>l3france</tt>)</li>
<li>Patrick Melanson (<tt>pj2melan</tt>)</li>
<li>Ford Peprah (<tt>hkpeprah</tt>)</li>
<li>Khashayar Pourdeilami (<tt>kpourdei</tt>)</li>
</ul></li>
</ul>
<p>Voting will be heads-down, hands-up, restricted to MathSoc social
members. If you'd like to review the elections procedure, you can visit
our <a href="http://csclub.uwaterloo.ca/about/constitution#officers">Constitution</a>
page.
</p>
</abstract>
</eventitem>
<eventitem date="2015-01-15" time="6:00 PM" room="MC 2065"
title="Tech Talk: Google Fiber Internet: The Messy Bits">
<short>
<p>
Our speaker, Avery Pennarun, will share some not-very-secret secrets from
the team creating GFiber's open source router firmware, including some
discussion of wifi, marketing truthiness, the laws of physics, something
about coaxial cables, embedded ARM processors, queuing theory, signal
processing, hardware design, and kernel driver optimization. If you're lucky,
he may also rant about poor garbage collector implementations. Also, there
will be at least one slide containing one of those swooshy circle-and-arrow
lifecycle diagrams, we promise.
</p>
<p>
Please RSVP here: http://bit.ly/GoogleFiberTalk.
</p>
</short>
<abstract>
<p>
Google Fiber's Internet service offers 1000 Mbps internet to a few cities:
that's 100x faster than a typical home connection. The problem with going
so fast is it moves the bottleneck around: for the first time, your Internet
link may be faster than your computer, your wifi, or even your home LAN.
</p>
<p>
Our speaker, Avery Pennarun, will share some not-very-secret secrets from
the team creating GFiber's open source router firmware, including some
discussion of wifi, marketing truthiness, the laws of physics, something
about coaxial cables, embedded ARM processors, queuing theory, signal
processing, hardware design, and kernel driver optimization. If you're lucky,
he may also rant about poor garbage collector implementations. Also, there
will be at least one slide containing one of those swooshy circle-and-arrow
lifecycle diagrams, we promise.
</p>
<p>
About Avery Pennarun:
Avery graduated from the University of Waterloo in Computer Engineering,
started some startups and some open source projects, and now works at Google
Fiber on a small team building super fast wifi routers, TV settop boxes, and
the firmware that runs on them. He lives in New York.
</p>
<p>
Please RSVP here: http://bit.ly/GoogleFiberTalk.
</p>
</abstract>
</eventitem>
<!-- Fall 2014 -->
<eventitem date="2014-11-27" time="6:00 PM" room="MC 4020" title="Talk: Heroic Android HTTP">
<short>
<p>
The network is unreliable. 3G networking is slow. Using WiFi drains your battery.
The NSA is spying on you. Different versions of HttpURLConnection have different bugs.
</p>
<p>
Jesse Wilson, a software developer at Square, will be talking about OkHttp,
a library that he maintains, and how to use it to make your app's networking work even
when conditions aren't ideal. He will talk about how to configure caching to improve behavior
and save resources. He will talk about crypto, and he will give advice on which libraries
to use to make good networking easy.
</p>
<p>
Please RSVP here: https://www.ticketfi.com/event/77/heroic-android-http.
</p>
</short>
</eventitem>
<eventitem date="2014-11-25" time="5:30 PM" room="MC 4041" title="Talk: C++ ABI">
<short>
<p> C++ is an interesting study because it supports a large number of
powerful, abstract concepts, yet it operates very close to the
hardware compared to many modern programming languages. There are
also many implementations of C++ which must be made interoperable.
I will discuss some aspects of the Itanium 64 Application Binary
Interface (ABI) for C++, which is now the de facto standard across
Unix-like platforms of all architectures. In particular, I will
cover a number of aspects of the class system fundamental to C++:
data layout, polymorphic types, construction and destruction, and
dynamic casting.
</p>
</short>
</eventitem>
<eventitem date="2014-11-21" time="6:00 PM" room="M3 1006"
title="Code Party 1/SE Hack Day #13">
<short>
<p>
Why sleep when you could be hacking on $SIDE_PROJECT, or working on
$THE_NEXT_BIG_THING with some cool CSC/SE people?
Come when you want, hack on something cool, demo before you leave.
</p>
<p>
If you don't have a project, don't worry - we have a list of ideas,
and a lot of people will be looking for an extra helping hand on
their projects.
</p>
<p>
NOTE: Dinner and snacks will only be served to those working on
projects during the event.
</p>
</short>
</eventitem>
<eventitem date="2014-11-17" time="6:00 PM" room="QNC 1502"
title="Talk: Why Pattern Recognition is Hard, and Why Deep Neural Networks Help">
<short>
<p>
In the last few years, there has been breakthrough progress in pattern
recognition -- problems like computer vision and voice recognition.
This sudden progress has come from a powerful class of models called
deep neural networks.
</p>
<p>
This talk will explore what it means to do pattern recognition, why it
is a hard problem, and why deep neural networks are so effective. We
will also look at exciting and strange recent results, such as state
of the art object recognition in images, neural nets playing video
games, neural nets proving theorems, and neural nets learning to run
python programs!
</p>
<p>
Our speaker, Christopher Olah, is a math-obsessed and Haskell-loving
research intern from Google's Deep Learning group. He has a blog about
his research here: http://colah.github.io/.
</p>
</short>
</eventitem>
<eventitem date="2014-11-12" time="5:30 PM" room="EIT 1015"
title="Talk: Machine Learning at Bloomberg">
<short>
<p>
Kang, our guest speaker from Bloomberg, will illustrate some examples and
difficulties associated with working on some of the most fascinating technical
challenges in business and finance.
He will also show some of the machine learning applications at Bloomberg that are
useful in this environment.
Please show up early to ensure a spot (and dinner).
</p>
</short>
</eventitem>
<eventitem date="2014-11-10" time="5:30" room="RCH 205" title="Talk: From Zero to Kernel">
<short>
<p>
From the massive supercomputer, to your laptop, to a Raspberry Pi: all
computing systems run on an operating system powered by a kernel. The kernel is
the most fundamental software running on your computer, enabling developers and
users to interact with its hardware at a higher level.
</p>
<p>
This talk will explore the process of writing a minimal kernel from
scratch, common kernel responsibilities, and explore of the challenges of
kernel development.
</p>
</short>
</eventitem>
<eventitem date="2014-11-07" time="7:00 PM" room="MC Comfy" title="'Hackers' Screening">
<short>
<p>
Women in Computer Science (WiCS) and the Computer Science Club (CSC) will
meet up in the Comfy Lounge to watch a favourite cult classic: Hackers.
Join us as we relive our 90s teenage hacking fantasies and stuff our faces
with popcorn and junk food.
</p>
<p>
Hackers of the world, unite!
</p>
</short>
</eventitem>
<eventitem date="2014-10-24" time="5:00 PM" room="MC 3003"
title="Unix 101">
<short>
<p>
Interested in Unix, but don't know where to start? Then Come learn some
basic topics with us including interaction with the shell, motivation
for using it, some simple commands, and more.
</p>
</short>
</eventitem>
<eventitem date="2014-10-24" time="6:00 PM" room="MC Comfy"
title="Code Party 0">
<short>
<p>
Immediately after UNIX 101, we will be having our first annual code party.
Enjoy a free dinner, relax, and share ideas with your friends about
your favourite topics in computer science. Feel free to show up
with or without personal projects to work on, we've got lots of ideas
to get started with.
</p>
</short>
</eventitem>
<eventitem date="2014-10-22" time="5:00 PM" room="MC 4041"
title="Talk: In Pursuit of the Travelling Salesman">
<short>
<p>
The Travelling Salesman Problem is easy to state: given a number of
cities along with the cost of travel between each pair, find the cheapest way
to visit all of the cities and return to your starting point. However, TSP is very difficult to solve.
In this talk, Professor Bill Cook will discuss the history, applications, and computation of this
fascinating problem.
</p>
</short>
<abstract>
<p>
The Travelling Salesman Problem is easy to state: given a
number of cities along with the cost of travel between each
pair of them, find the cheapest way to visit them all and
return to your starting point. Easy to state, but
difficult to solve. Despite decades of research, in
general it is not known how to significantly improve upon
simple brute-force checking. It is a real possibility that
there may never exist an efficient method that is
guaranteed to solve every instance of the problem. This
is a deep mathematical question: Is there an efficient
solution method or not? The topic goes to the core of
complexity theory concerning the limits of feasible
computation and we may be far from seeing its
resolution. This is not to say, however, that the
research community has thus far come away
empty-handed. Indeed, the problem has led to a large
number of results and conjectures that are both
beautiful and deep, and on the practical side solution
methods are used to compute optimal or near-optimal tours
for a host of applied problems on a daily basis, from
genome sequencing to arranging music on iPods. In this
talk we discuss the history, applications, and
computation of this fascinating problem.
</p>
</abstract>
</eventitem>
<eventitem date="2014-09-18" time="6:00 PM" room="MC 4021"
title="Talk: Building a Mobile Platform for Android and iOS">
<short>
<p>
Come listen to a Google software engineer give a talk on building a
mobile platform for Android and iOS!
Wesley Tarle has been leading development at Google in Kitchener and
Mountain View, and building stuff for third-party developers on
Android and iOS. He's contributed to Google Play services since its
inception and continues to produce APIs and SDKs focused on mobile
startups.
RSVP at http://goo.gl/Pwc3m4.
</p>
</short>
</eventitem>
<!-- Spring 2014 -->
<eventitem date="2014-07-25" time="7:30 PM" room="Laurel Creek Fire Pit"
title="CSC Goes Outside...Again!">
<short>
<p>
Do you like going outside? Are you vitamin-D deficient from being in the
MC too long? Do you think s'mores and bonfire are a delicious
combination? If so, you should join us as the CSC is going outside again!
Around 7:30PM, we're going to Laurel Creek Fire Pit for some outdoor fun.
Come throw frisbees, relax and eat snacks in good company - even if you
aren't a fan of the outside or vitamin-D deficient! We'll also have
some sort of real food - probably pizza.
</p>
</short>
</eventitem>
<eventitem date="2014-07-22" time="6:00 PM" room="MC 4020"
title="The Most Important Parts of School (from a CS dropout)">
<short>
<p>
Learn about the real reasons you should be in school from David Wolever,
CTO of akindi and a director of PyCon Canada.
</p>
</short>
<abstract>
<p>
Hindsight is 20/20, and since leaving university I’ve had five years and three
startups to reflect on the most valuable things I have (and haven’t) taken away
from my time in school.
David studied computer science for three years at the University of Toronto
before leaving to be employee zero at a Waterloo-based startup. Since then
he has been a founder of two more startups, started PyCon Canada, and has
written hundreds of thousands of lines of code. He is currently CTO of Akindi, a
Toronto-based startup trying to make multiple choice testing a bit less terrible.
He’s best found on Twitter at http://twitter.com/wolever
</p>
</abstract>
</eventitem>
<eventitem date="2014-07-11" time="5:00 PM" room="MC 3003, M3 1006"
title="Unix 102, Code Party 1">
<short>
<p>
Learn how to host a website and spend the night hacking!
</p>
</short>
<abstract>
<p>
Did you know that by becoming a CSC member, you get 4GB of free webspace?
Join us in MC 3003 on Friday July 11 to learn how to use that space and
host content for the world to see!
Afterwards we will be moving over to M3 1006 for a night of hacking and
snacking! Work on a personal project, open source software, or anything
you wish. Food will be provided for your hacking pleasure.
Come join us for an evening of fun, learning, and food!
</p>
</abstract>
</eventitem>
<eventitem date="2014-06-25" time="6:00 PM" room="MC 2035" title="Battle Decks">
<short>
<p>
Five slides. Five minutes. Pure fun.
</p>
</short>
<abstract>
<p>
Create an entertaining slideshow and present someone else's on the spot!
Join us in MC 2035 on Wednesday June 25 at 18:00 for a fun evening of
quick presentations of random slide decks. An example from last semester
can be found at tinyurl.com/battle-decks-example. Please e-mail your
battle deck to l3france@csclub.uwaterloo.ca. Snacks will be provided to
fuel your battle hunger!
</p>
</abstract>
</eventitem>
<eventitem date="2014-06-19" time="5:30 PM" room="MC 4064"
title="Bloomberg Technical Talk">
<short>
<p>
Learn how functional programming is used in the real world, while
enjoying free dinner, and free swag.
</p>
</short>
<abstract>
<p>
Enjoy a free dinner while Max Ransan, a lead developer at Bloomberg,
talks about the use of functional programming within a recently developed
product from Bloomberg. This includes UI generation, domain-specific
languages, and more! Free swag will also be provided.
</p>
</abstract>
</eventitem>
<eventitem date="2014-06-13" time="7:30 PM" room="Laurel Creek Fire Pit"
title="CSC Goes Outside">
<short>
<p>
Come throw a frisbee, hang around a bonfire, and roast marshmellows!
This is a social event just for fun, so come relax and eat snacks in
good company!
</p>
</short>
<abstract>
<p>
Meet at the Laurel Creek Fire Pit (the one across Ring Road from EV3)
at 7:30 for a fun night of hanging out with friends. If you aren't sure
where it is, meet at the office ten minutes before hand, and we will
walk over together. We'll start the evening off with throwing around
a frisbee or two, and as the night goes on we'll light up the fire and
get some s'mores cooking!
</p>
</abstract>
</eventitem>
<eventitem date="2014-05-30" time="5:30 PM" room="MC 3003, Comfy Lounge"
title="Unix 101/Code Party 0">
<short>
<p>
Interested in Unix, but don't know where to start? Then Come learn some
basic topics with us including interaction with the shell, motivation
for using it, some simple commands, and more.
</p>
<p>
Afterwards we will be moving over to the MC Comfy Lounge for a
fun night of hacking! The sysadmin position will also be ratified
during a general meeting of the membership at this time. Come join us
for an evening of fun, learning, and food!
</p>
</short>
<abstract>
<p>
Interested in Unix, but don't know where to start? Then start
in MC 3003 on Friday May 30 with basic topics including
interaction with the shell, motivation for using it, some simple
commands, and more.
</p>
<p>
Afterwards we will be moving over to the MC Comfy Lounge for a
fun night of hacking! Work on a personal project, open source
software, or anything you wish. Food will be available for your
hacking pleasure. The Sysadmin position will also be ratified
during a general meeting at this time. Come join us for an
evening of fun, learning, and food!
</p>
</abstract>
</eventitem>
<eventitem date="2014-05-15" time="6:00 PM" room="Comfy Lounge"
title="Spring 2014 Elections">
<short>
<p>The Computer Science Club will soon be holding elections for this term's
executive. The president, vice president, treasurer, and secretary for the
spring 2014 term will be elected. The system administrator, office manager,
and librarian are also typically appointed here.
</p>
</short>
<abstract>
<p>Nominations are now closed. The candidates are:</p>
<ul>
<li>President:<ul>
<li>Jinny Kim (<tt>yj7kim</tt>)</li>
<li>Matthew Thiffault (<tt>mthiffau</tt>)</li>
<li>Shane Creighton-Young (<tt>srcreigh</tt>)</li>
<li>Hayford Peprah (<tt>hkpeprah</tt>)</li>
</ul></li>
<li>Vice-President:<ul>
<li>Luke Franceschini (<tt>l3france</tt>)</li>
<li>Jinny Kim (<tt>yj7kim</tt>)</li>
<li>Shane Creighton-Young (<tt>srcreigh</tt>)</li>
<li>Hayford Peprah (<tt>hkpeprah</tt>)</li>
</ul></li>
<li>Treasurer:<ul>
<li>Luke Franceschini (<tt>l3france</tt>)</li>
<li>Matthew Thiffault (<tt>mthiffau</tt>)</li>
<li>Catherine Mercer (<tt>ccmercer</tt>)</li>
<li>Joseph Chouinard (<tt>jchouina</tt>)</li>
</ul></li>
<li>Secretary:<ul>
<li>Luke Franceschini (<tt>l3france</tt>)</li>
<li>Catherine Mercer (<tt>ccmercer</tt>)</li>
<li>Joseph Chouinard (<tt>jchouina</tt>)</li>
<li>Ifaz Kabir (<tt>ikabir</tt>)</li>
</ul></li>
</ul>
</abstract>
</eventitem>
<!-- Winter 2014 -->
<eventitem date="2014-03-28" time="7:00 PM" room="CPH 1346" title="HackWaterloo">
<short>
<p>Work on a software project for 24 hours in teams of up to 4 members. Swag will be provided
by Facebook and Google. A Microsoft Surface Tablet will be awarded to the winning team.
Register and find out more at <a href="http://hack-waterloo.com">http://hack-waterloo.com</a>.</p>
</short>
<abstract>
<p>Work on a software project for 24 hours in teams of up to 4 members. Swag will be provided
by Facebook and Google. A Microsoft Surface Tablet will be awarded to the winning team.
Register and find out more at <a href="http://hack-waterloo.com">http://hack-waterloo.com</a>.</p>
</abstract>
</eventitem>
<eventitem date="2014-03-18" time="7:00 PM" room="MC 4041" title="Battle Decks">
<short>
<p>Create a 5-slide PowerPoint presentation about a specific topic. Bring it with
you to the event (on a flash drive). Submit it into the lottery. Select a random
PowerPoint presentation from the lottery and talk about it on the spot.
</p>
</short>
<abstract>
<p>Create a 5-slide PowerPoint presentation about a specific topic. Bring it with
you to the event (on a flash drive). Submit it into the lottery. Select a random
PowerPoint presentation from the lottery and talk about it on the spot.
</p>
</abstract>
</eventitem>
<eventitem date="2014-03-14" time="7:00 PM" room="Comfy Lounge" title="Code Party 1">
<short>
<p>We will be having our 2nd code party this term. Enjoy a free dinner, relax, and
share ideas with your friends about your favourite topics in computer science.
</p>
</short>
<abstract>
<p>We will be having our 2nd code party this term. Enjoy a free dinner, relax, and
share ideas with your friends about your favourite topics in computer science.
</p>
</abstract>
</eventitem>
<eventitem date="2014-02-13" time="5:30 PM" room="MC 3003" title="UNIX 101">
<short><p>Learn the basics of using tools found commonly on UNIX-like operating systems.
For students new to this topic, knowledge gained from UNIX 101 would be useful in coursework.</p>
</short>
<abstract><p>Learn the basics of using tools found commonly on UNIX-like operating systems.
For students new to this topic, knowledge gained from UNIX 101 would be useful in coursework.</p>
</abstract>
</eventitem>
<eventitem date="2014-02-13" time="6:30 PM" room="Comfy Lounge" title="Code Party 0">
<short><p>Immediately after UNIX 101, we will be having our first annual code party.
Enjoy a free dinner, relax, and share ideas with your friends about
your favourite topics in computer science.</p>
</short>
<abstract><p>Immediately after UNIX 101, we will be having our first annual code party.
Enjoy a free dinner, relax, and share ideas with your friends about
your favourite topics in computer science.</p>
</abstract>
</eventitem>
<eventitem date="2014-02-04" time="5:30 PM" room="MC 4058" title="Bloomberg Talk">
<short><p>
Bloomberg's Alex Scotti will be presenting a talk this Tuesday on concurrency control
implementations in relational databases. Free swag and dinner will be provided.
</p></short>
<abstract>
<p>Join Alex Scotti of Bloomberg LP for a discussion of concurrency control
implementation in relational database systems. Focus will be placed on the
optimistic techniques as employed and developed inside Combdb2, Bloomberg's
database system.</p>
<p>Food will be served by Kismet!</p>
</abstract>
</eventitem>
<eventitem date="2014-01-16" time="5:30 PM" room="Comfy Lounge" title="Winter 2014 Elections">
<short><p>
Elections for Winter 2014 are being held! The Executive will be elected,
and the Office Manager and Librarian will be appointed by the new
executive.
</p></short>
<abstract>
<p>It's elections time again! On Thursday, January 16 at 5:30PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
<p>Nominations are open until 4:30PM on Wednesday, January 15, and can be written
on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
members can vote and are invited to drop by. You may also send nominations to
the <a href="mailto:cro@csclub.uwaterloo.ca">Chief Returning Officer</a> by email.</p>
<p>Nominations are now closed. The candidates are:</p>
<ul>
<li>President:<ul>
<li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
<li>Nicholas Black (<tt>nablack</tt>)</li>
<li>Bryan Coutts (<tt>b2coutts</tt>)</li>
<li>Annamaria Dosseva (<tt>mdosseva</tt>)</li>
<li>Youn Jin Kim (<tt>yj7kim</tt>)</li>
<li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
</ul></li>
<li>Vice-President:<ul>
<li>Nicholas Black (<tt>nablack</tt>)</li>
<li>Bryan Coutts (<tt>b2coutts</tt>)</li>
<li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
</ul></li>
<li>Treasurer:<ul>
<li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
<li>Nicholas Black (<tt>nablack</tt>)</li>
<li>Marc Burns (<tt>m4burns</tt>)</li>
<li>Bryan Coutts (<tt>b2coutts</tt>)</li>
</ul></li>
<li>Secretary:<ul>
<li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
<li>Bryan Coutts (<tt>b2coutts</tt>)</li>
<li>Mark Farrell (<tt>m4farrel</tt>)</li>
</ul></li>
</ul>
</abstract>
</eventitem>
<!-- Fall 2013 -->
<eventitem date="2013-11-23" time="TBD" room="Toronto, ON"
title="CSC Goes to Toronto Erlang Factory Lite 2013">
<short><p>
The CSC has been invited to attend this Erlang conference in Toronto. If
you are interested in attending, please sign up on our <a
href="http://goo.gl/8XOELB">web form</a>. We have submitted a MEF proposal
to cover the transportation fees of up to 25 math undergraduates.
</p></short>
<abstract><p>
The CSC has been invited to attend this Erlang conference in Toronto. If you
are interested in attending, please sign up on our <a
href="http://goo.gl/8XOELB">web form</a>, so we can coordinate the group.
We have submitted a MEF proposal to cover the transportation fees of up to
25 math undergraduates to attend. You will be responsible for your
conference fee and transportation, and if the MEF proposal is granted, you
can submit your bus tickets/mileage record and conference badge to MEF for
a reimbursement. From the <a
href="https://www.erlang-factory.com/conference/Toronto2013">conference
website</a>:</p>
<p>"Our first ever Toronto Erlang Factory Lite has been confirmed. Join us
on 23 November for a full day debate on Erlang as a powerful tool for
building innovative, scalable and fault tolerant applications. Our speakers
will showcase examples from their work experience and their personal success
stories, thus presenting how Erlang solves the problems related to
scalability and performance. At this event we will focus on what Erlang
brings to the table in the multicore era."
</p></abstract>
</eventitem>
<eventitem date="2013-11-22" time="6:30PM" room="MC 3001 (Comfy)"
title="Hackathon-Code Party!!">
<short><p>
Join us for a night of code, food, and caffeine! There will be plenty of
edibles and hacking for your enjoyment. If you are interested in getting
involved in Open Source, there will be mentors on hand to get you started.
Hope to see you there&mdash;bring your friends!
</p></short>
<abstract><p>
Join us for a night of code, food, and caffeine! There will be plenty of
edibles and hacking for your enjoyment, including a full catered dinner
courtesy of the Mathematics Society.</p>
<p>There will be two Open Source projects featured at tonight's code
party, with mentors on hand for each. Here is a quick summary of each of
the projects available:</p>
<p><b><a href="http://openhatch.org">OpenHatch</a>:</b> Not sure where to
start? Not to fear! OpenHatch is a project that seeks to introduce people
to Open Source for the first time and help you get involved. There will be
a presentation with an introduction to the tools and information you will
need, and mentors present to help you get set up to fix your first
bug.</p>
<p><b><a
href="http://uwaterloo.ca/games-institute/events/social-innovation-simulation-design-jam-day-1">Social
Innovation Simulation Design Jam</a>:</b> The UWaterloo Games Institute and
SiG@Waterloo will be partnering with us tonight to kick off their weekend
hackathon Design Jam. They seek coders, artists, writers, database and
graphics people to help them out with their project.
</p></abstract>
</eventitem>
<eventitem date="2013-11-26" time="5:00PM" room="MC 2038" title="Disk Encryption">
<short><p>
The last lecture of our security and privacy series. By MMath alumnus
Zak Blacher.
</p></short>
<abstract><p>
In Zak's talk, "Disk Encryption: Digital Forensic Analysis &amp; Full
Volume Encryption", he aims to cover filesystem forensic analysis
and counter forensics by addressing the entire design stack; starting with
filesystem construction, design, and theory, and drilling down to the inner
workings of hard drives (modern platter hdds, as well as mlc-ssds). This
talk leads in to a discussion on full volume encryption, and how this helps
to protect one's data.</p>
<p>The sixth and final lecture of our security and privacy series.
</p></abstract>
</eventitem>
<eventitem date="2013-11-12" time="5:00PM" room="MC 4060" title="Trust in ISPs">
<short><p>
This is the fifth lecture of six in the Security and Privacy Lecture
Series. By founding member of the Canadian Cybersecurity Institute and
employee of local ISP Sentex Sean Howard.
</p></short>
<abstract><p>
Bell's recent announcement of their use of Deep Packet Inspection (DPI)
brings to light a long-standing issue: your internet service provider (ISP)
pwns you. They control your IP allocation, your DNS, your ARP, the AS paths.
The question has never been about ability&mdash;it's about trust. Whether
Rogers, AT&amp;T, Virgin, Telus, Vodafone or Wind, your onramp to the
internet is your first and most potent point of security failure.</p>
<p>Founding member of the Canadian Cybersecurity Institute and employee of
local ISP Sentex Sean Howard will vividly demo the reasons you need to be
ble to trust your internet provider. Come for the talk, stay for the
pizza!</p>
<p>This is the fifth lecture of six in the Security and Privacy Lecture
Series.
</p></abstract>
</eventitem>
<eventitem date="2013-11-05" time="6:00PM" room="MC 3001 (Comfy)"
title="Hands On Seminar on Public Key Cryptography">
<short><p>
The fourth event in our security and privacy series. By undergraduate
students Murphy Berzish and Nick Guenther.
</p></short>
<abstract><p>
Nick Guenther and Murphy Berzish will be holding a hands-on seminar in the
Comfy to introduce you to public-private key crypto and how you can practically
use it, so bring your laptops! You will learn about PGP, an encryption protocol
that provides confidentiality and authenticity. At the seminar, you will learn
how to use PGP to send encrypted email and files, provably identify yourself to
others, and verify data. Bring a laptop so we can help help you generate your
first keypair and give you the chance to form a Web of Trust with your
peers.</p>
<p>A GSIntroducer from <a href="www.GSWoT.org">www.GSWoT.org</a> will be on
hand. If you are interested in obtaining an elevated level of trust, bring
government-issued photo-ID.</p>
<p>There will also be balloons and cake.
</p></abstract>
</eventitem>
<eventitem date="2013-10-24" time="6:30PM" room="DC 1302"
title="Practical Tor Usage">
<short><p>
The third lecture of our security and privacy series. By undergraduate
student Simon Gladstone.
</p></short>
<abstract><p>
An introduction to and overview of how to use the Tor Browser Bundle to
browse the "Deep Web" and increase security while browsing the Internet. Tor
is not the be all end all of Internet security, but it is definitely a step
up from using the more popular browsers such as Chrome, Firefox, or
Safari.</p>
<p>The third lecture of our security and privacy series. By undergraduate
student Simon Gladstone.
</p></abstract>
</eventitem>
<eventitem date="2013-10-15" time="5:00PM" room="MC 4060"
title="Tunnels and Censorship">
<short><p>
The second lecture of our security and privacy series. By undergraduate student
Eric Dong.
</p></short>
<abstract><p>
In this talk, I will discuss censorship firewalls used in countries such as
China and Iran, and how to counteract them. The focus is on advanced
application-layer and Deep Packet Inspection firewalls, and unexpected hurdles
in overcoming censorship by these firewalls due to the need for very
unconventional adversary models. Approaches of the privacy tool Tor, popular
proprietary freeware Ultrasurf and Freegate, payware VPNs, and my own
experimental Kirisurf project are examined, where strengths and difficulties
with each system are noted.</p>
<p>The second lecture of our security and privacy series. By undergraduate
student Eric Dong.
</p></abstract>
</eventitem>
<eventitem date="2013-10-08" time="5:00PM" room="MC 4041"
title="Why Should You Care About Security and Privacy">
<short><p>
The first lecture of our security and privacy series. By PhD student Sarah
Harvey.
</p></short>
<abstract><p>
Recent media coverage has brought to light the presence of various government
agencies' surveillance programs, along with the possible interference of
governments in the establishment and development of standards and software.
This brings to question of just how much we need to be concerned about the
security and privacy of our information.</p>
<p>In this talk we will discuss what all this means in technological and social
contexts, examine the status quo, and consider the long-standing implications.
This talk assumes no background knowledge of security or privacy, nor any
specific technical background. All students are welcome and encouraged to
attend.</p>
<p>The first lecture of our security and privacy series. By PhD student
Sarah Harvey.
</p></abstract>
</eventitem>
<eventitem date="2013-10-03" time="6:30PM" room="PHY 150"
title="C++ GoingNative Lectures">
<short><p>
We will be showing GoingNative
lectures from some of the top individuals working on C++
approximately biweekly on Thursdays at 6:30PM in the PHY 150 theatre. Every
lecture will be accompanied with free pizza and drinks! Dates are Oct. 3, 17,
31 and Nov. 7 and 21. Please view this event in detail for more information.
</p></short>
<abstract><p>
If you're not familiar with the C++ GoingNative series, you can check them
out on the <a
href="http://channel9.msdn.com/Events/GoingNative/2013">GoingNative
website</a>.</p>
<p>We will be showing lectures from some of the top individuals working on C++
approximately biweekly on Thursdays in the PHY 150 theatre. Every lecture will
be accompanied with free pizza and drinks! Here is our schedule and the planned
showings:</p>
<ul>
<li>Thu. Oct. 3, 6:30PM: Stroustrup - The Essence of C++</li>
<li>Thu. Oct. 17, 6:30PM: Lavavej - Don't Help The Compiler</li>
<li>Thu. Oct. 31, 6:30PM: Meyers - An Effective C++ Sampler</li>
<li>Thu. Nov. 7, 6:30PM: Alexandrescu - Writing Quick C++ Code, Quickly</li>
<li>Thu. Nov. 21, 6:30PM: Parent - C++ Seasoning</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2013-10-17" time="6:30PM" room="PHY 150"
title="C++ Night 0x02 - Don't Help The Compiler">
<short><p>
The second in a series of recorded talks from GoingNative 2013. Featuring
Stephan T. Lavavej.
</p></short>
<abstract><p>
The second in a series of recorded talks from GoingNative 2013. Featuring
Stephan T. Lavavej.
</p><p>
C++ has powerful rules for dealing with low-level program structure.
Before a program is ever executed, the compiler determines valuable information
about every expression in the source code. The compiler understands exactly
how long each object's resources will be needed (lifetime), whether each
expression refers to an object that the program has no other way of accessing
(rvalueness), and what operations can be performed on each object (type).
Using examples from C++98 through C++14, this presentation will demonstrate how
to write code that works with the compiler's knowledge to increase robustness,
efficiency, and clarity. This presentation will also demonstrate the horrible
things that happen when programmers think they can do tasks that are better
left to compilers.
</p></abstract>
</eventitem>
<eventitem date="2013-10-31" time="6:30PM" room="PHY 150"
title="C++ Night 0x03 - An Effective C++11/14 Sampler">
<short><p>
The third in a series of recorded talks from GoingNative 2013. Featuring
Scott Meyers.
</p></short>
<abstract><p>
The third in a series of recorded talks from GoingNative 2013. Featuring
Scott Meyers.
</p><p>
After years of intensive study (first of C++0x, then of C++11, and most
recently of C++14), Scott thinks he finally has a clue. About the effective use
of C++11, that is (including C++14 revisions). At last year’s Going Native,
Herb Sutter predicted that Scott would produce a new version of Effective C++
in the 2013-14 time frame, and Scott’s working on proving him almost right.
Rather than revise Effective C++, Scott decided to write a new book that
focuses exclusively on C++11/14: on the things the experts almost always do (or
almost always avoid doing) to produce clear, efficient, effective code. In this
presentation, Scott will present a taste of the Items he expects to include in
Effective C++11/14.
</p></abstract>
</eventitem>
<eventitem date="2013-11-07" time="6:30PM" room="PHY 150"
title="C++ Night 0x04 - Writing Quick Code in C++, Quickly">
<short><p>
The fourth in a series of recorded talks from GoingNative 2013. Featuring
Andrei Alexandrescu.
</p></short>
<abstract><p>
The fourth in a series of recorded talks from GoingNative 2013. Featuring
Andrei Alexandrescu.
</p><p>
Contemporary computer architectures make it possible for slow code to work
reasonably well. They also make it difficult to write really fast code that
exploits the CPU amenities to their fullest. And the smart money is on fast
code—we’re running out of cool things to do with slow code, and the battle will
be on doing really interesting and challenging things at the envelope of what
the computing fabric endures.
</p><p>
So how to write quick code, quickly? Turns out it’s quite difficult because
today’s complex architectures defy simple rules to be applied everywhere. It is
not uncommon that innocuous high-level artifacts have a surprisingly high
impact on the bottom line of an application’s run time (and power consumed).
</p><p>
This talk is an attempt to set forth a few pieces of tactical advice for
writing quick code in C++. Applying these is not guaranteed to produce optimal
code, but is likely to put it reasonably within the ballpark. </p><p>
These tips are based on practical experience but also motivated by the
inner workings of modern CPUs.
</p></abstract>
</eventitem>
<eventitem date="2013-11-21" time="6:30PM" room="PHY 150"
title="C++ Night 0x05 - C++ Seasoning">
<short><p>
The fifth in a series of recorded talks from GoingNative 2013. Featuring
Sean Parent.
</p></short>
<abstract><p>
The fifth in a series of recorded talks from GoingNative 2013. Featuring
Sean Parent.
</p><p>
A look at many of the new features in C++ and a couple of old features you
may not have known about. With the goal of correctness in mind, we’ll see how
to utilize these features to create simple, clear, and beautiful code. Just a
little pinch can really spice things up.
</p></abstract>
</eventitem>
<eventitem date="2013-10-30" time="6:00PM" room="Bingemans"
title="CSC Goes Bowling">
<short><p>
All CSC members and their guests are invited for a night of free bowling at
Bingemans! Transportation will be provided. If you are interested in attending,
please RSVP using the online form by Oct. 18. You can find it by viewing this
event in detail.
</p></short>
<abstract><p>
We are pleased to kick off the term with free bowling for all interested
members at Bingemans! Transportation will be provided. If you are interested in
attending, please RSVP using <a href="http://goo.gl/FsZIfK">this online
form</a> by Oct. 18.</p>
<p>Please note the event date change (Oct. 23 to Oct. 30).
The bus will be leaving from the Davis Center at 6:00PM sharp on the 30th.
</p></abstract>
</eventitem>
<eventitem date="2013-09-17" time="4:30 PM" room="Comfy Lounge"
title="Fall 2013 Elections">
<short><p>
Elections for Fall 2013 are being held! The Executive will be elected,
and the Office Manager and Librarian will be appointed by the new
executive.
</p></short>
<abstract>
<p>It's elections time again! On Tuesday, Sept 17 at 4:30PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
<p>Nominations are open until 4:30PM on Monday, Sept 16, and can be written
on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
members can vote and are invited to drop by. You may also send nominations to
the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
full list of candidates will be posted when nominations close.</p>
<p>Nominations are now closed. The candidates are:</p>
<ul>
<li>President:<ul>
<li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
<li>Elana Hashman (<tt>ehashman</tt>)</li>
<li>Sean Hunt (<tt>scshunt</tt>)</li>
<li>Marc Burns (<tt>m4burns</tt>)</li>
<li>Matt Thiffault (<tt>mthiffau</tt>)</li>
</ul></li>
<li>Vice-President:<ul>
<li>Dmitri Tkatch (<tt>dtkatch</tt>)</li>
<li>Marc Burns (<tt>m4burns</tt>)</li>
<li>Sean Hunt (<tt>scshunt</tt>)</li>
<li>Visha Vijayanand (<tt>vvijayan</tt>)</li>
</ul></li>
<li>Treasurer:<ul>
<li>Bernice Herghiligiu (<tt>baherghi</tt>)</li>
<li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
<li>Jonathan Bailey (<tt>jj2baile</tt>)</li>
<li>Marc Burns (<tt>m4burns</tt>)</li>
</ul></li>
<li>Secretary:<ul>
<li>Dominik Ch&#0322;obowski (<tt>dchlobow</tt>)</li>
<li>Edward Lee (<tt>e45lee</tt>)</li>
<li>Marc Burns (<tt>m4burns</tt>)</li>
</ul></li>
</ul>
</abstract>
</eventitem>
<!-- Spring 2013 -->
<eventitem date="2013-07-26" time="7:00PM" room="Comfy Lounge" title="Code Party 1">
<short><p>
Come out to the Code Party happening in the Comfy Lounge on July 26 at 7:00 PM!
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, snacks,
and camaraderie!
</p></short>
<abstract><p>
Come out to the Code Party happening in the Comfy Lounge on July 26 at 7:00 PM!
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, snacks,
and camaraderie!
</p></abstract>
</eventitem>
<eventitem date="2013-07-22" time="5:00PM" room="MC 4020"
title="The Future of 3D Graphics is in Software!">
<short><p>
Convergence between CPU and GPU approaches to processing sets the stage for an
exciting transition to 3D rendering that takes place entirely in software.
TransGaming's Nicolas Capens and Gavriel State will speak about this convergence
and how it will influence the future of graphics.
</p></short>
<abstract><p>
For some time now, it has been clear that there is strong momentum for convergence
between CPU and GPU technologies. Initially, each technology used radically different
approaches to processing, but over time GPUs have evolved to support more general
purpose use while CPUs have evolved to include advanced vector processing and multiple
execution cores. At TransGaming, we believe that this convergence will continue to the
point where typical systems have only one type of processing unit, with large numbers
of cores and very wide vector execution units available for high performance parallel
execution. In this kind of environment, all graphics processing will ultimately take
place in software.
</p><p>
In this talk, we will explore the converging nature of CPU and GPU approaches to
processing, how dynamic specialization allows CPUs to efficiently perform tasks usually
done by GPUs, and why we believe that the increased flexibility of more programmable
architectures will ultimately win out over fixed function hardware, even in areas such
as texture sampling.
</p><p>
<strong>TransGaming Inc.</strong> works at the cutting edge of 3D graphics, building
technologies that bridge the gap between platform boundaries to allow games to be played
on a variety of devices and operating systems. TransGaming works with other industry
leaders to update established APIs such as OpenGL, while also breaking new ground in
software rendering technology, which we believe will become increasingly important as
CPU and GPU technologies converge.
</p><p>
<strong>Nicolas Capens</strong> is the architect of SwiftShader, TransGaming's high
performance software renderer, and is also deeply involved in the ANGLE project, which
provides efficient translation from OpenGL ES to Direct3D APIs for implementing WebGL
on Windows. Nicolas received his MSci.Eng. degree in computer science from Ghent
University in 2007.
</p><p>
<strong>Gavriel State (Gav)</strong> is TransGaming's Founder and CTO, and has worked in
graphics and portability for over 20 years on dozens of platforms and APIs. Gav wrote
his first software renderer when taking CS488 at UW, where he later graduated with a
B.A.Sc. in Systems Design Engineering.
</p></abstract>
</eventitem>
<eventitem date="2013-07-19" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside!">
<short><p>
Do you love the combination of s'mores, burgers, and fire? Are you brave enough to
face the newly-grown geese? Do you want to play some Frisbee while listening to some
chill tunes? If so, come hang out with the CSC at the EV3 Fire Pit this Friday!
All are welcome for some outdoor food, games, and music.
</p></short>
<abstract><p>
Do you love the combination of s'mores, burgers, and fire? Are you brave enough to
face the newly-grown geese? Do you want to play some Frisbee while listening to some
chill tunes? If so, come hang out with the CSC at the EV3 Fire Pit this Friday!
All are welcome for some outdoor food, games, and music.
</p></abstract>
</eventitem>
<eventitem date="2013-07-18" time="5:00PM" room="MC 4041" title="Path Tracing">
<short><p>
As a follow on to last term's tutorial on building a ray-tracer from scratch,
this talk will be presenting the basic mechanics of how a bidirectional path-tracer
creates a globally illuminated scene, advantages and limitations of this approach over
other offline global illumination techniques along with a simple example path-tracer
written in C++, and opportunities for hardware acceleration on GPUs, time permitting.
</p></short>
<abstract><p>
As a follow on to last term's tutorial on building a ray-tracer from scratch,
this talk will be presenting the basic mechanics of how a bidirectional path-tracer
creates a globally illuminated scene, advantages and limitations of this approach over
other offline global illumination techniques along with a simple example path-tracer
written in C++, and opportunities for hardware acceleration on GPUs, time permitting.
</p></abstract>
</eventitem>
<eventitem date="2013-07-11" time="5:00PM" room="MC 4041" title="3D Movies and Computer Science">
<short><p>
While humans started making 3D motion pictures in the 1800's, several technical and
artistic challenges prevented widespread interest in the medium. By investing heavily
in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered
in an era of mainstream interest in 3D film. However, many technical and artistic
problems still find their way into otherwise-modern 3D movies. The talk explores some
of these problems while introducing the fundamentals of 3D film-making from a CS
perspective.
</p></short>
<abstract><p>
While humans started making 3D motion pictures in the 1800's, several technical and
artistic challenges prevented widespread interest in the medium. By investing heavily
in a computerized production pipeline, James Cameron's 2009 release of Avatar ushered
in an era of mainstream interest in 3D film. However, many technical and artistic
problems still find their way into otherwise-modern 3D movies. The talk explores some
of these problems while introducing the fundamentals of 3D film-making from a CS
perspective.
</p></abstract>
</eventitem>
<!-- <eventitem date="2013-07-05" time="7:00PM" room="EV3 Fire Pit" title="CSC Goes Outside">
<short><p>
Come hang out with the CSC for s'mores, burgers, Frisbees, and fire this Friday!
We will be hanging out at the EV3 Fire Pit starting at 7:00PM. All are welcome to
partake in the food, games, and music. See you there!
</p></short>
<abstract><p>
Do you love the combination of s'mores, burgers, and fire? Are you brave enough to face
the newly-grown geese? Do you want to play some Frisbee? If so, come hang out with the CSC
at the EV3 Fire Pit this Friday!
All are welcome for some outdoor fun, food, games, and music.
</p>
<p>
If you have any questions or concerns, please contact exec@csclub.uwaterloo.ca.
</p></abstract>
</eventitem> -->
<eventitem date="2013-06-07" time="6:00 PM, 8:00PM" room="Comfy Lounge" title="Unix 101/ Code Party 0">
<short><p>
We are offering a Unix tutorial on Friday, June 7th, 2013! Following the tutorial a code party will take place.
Bring your laptops and chargers for an awesome night of coding, hacking and learning.
All are welcome to join in the comfy lounge!
</p></short>
<abstract>
<p>We are offering a Unix tutorial on Friday, June 7th, 2013 at 6:00pm! Following the tutorial a code party will take place.
Bring your laptops and chargers for an awesome night of coding, hacking and learning.
All are welcome to join in the comfy lounge!</p>
<p>If you have any questions about Unix101/ Code Party 0 please contact exec@csclub.uwaterloo.ca. </p>
<p>Hope to see you there!</p>
</abstract>
</eventitem>
<eventitem date="2013-05-15" time="6:00 PM" room="Comfy Lounge" title="Spring 2013 Elections">
<short><p>
Elections for Spring 2013 are being held! The Executive will be elected,
and the Office Manager and Librarian will be appointed by the new
executive.
</p></short>
<abstract>
<p>It's elections time again! On Wednesday, May 15 at 6:00PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The Sysadmin, Librarian, and Office Manager will also be chosen at this time.</p>
<p>Nominations are open until 4:30PM on Tuesday, May 14, and can be written
on the CSC office whiteboard (yes, you can nominate yourself). Full CSC
members can vote and are invited to drop by. You may also send nominations to
the <a href="mailto:cro@csclub.uwaterloo.ca"> Chief Returning Officer</a>. A
full list of candidates will be posted when nominations close, along with
instructions for voting remotely.</p>
<p>Good luck to our candidates!</p>
</abstract>
</eventitem>
<!-- Winter 2013 -->
<eventitem date="2013-04-01" time="7:00 PM" room="Comfy Lounge" title="Code Party 1">
<short>
<p>The Computer Science Club is running the second code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</short>
<abstract>
<p>The Computer Science Club is running the second code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</abstract>
</eventitem>
<eventitem date="2013-04-01" time="6:00 PM" room="MC 3003" title="Unix 101">
<short>
<p><i>by Calum T. Dalek</i>. New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a tutorial on using Unix this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools.</p>
</short>
<abstract>
<p>New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a tutorial on using Unix this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools.</p>
<p>If you're interested in attending, make sure you can log into the Macs on the third floor, or show up to the CSC office (MC 3036) 20 minutes early for some help.</p>
</abstract>
</eventitem>
<eventitem date="2013-03-21" time="4:30 PM" room="MC 4020" title="Using Computers to Find Evidence in Litigation">
<short>
<p>Professor Gordon Cormack will be presenting a talk on using machine-learning based spam filters to accurately locate relevent electronic documents - a process which has typically been very manual, and very expensive.</p>
</short>
<abstract>
<p>In a lawsuit, each party is typically entitled to Discovery, in which the
other party is compelled to produce any "documents" in its possession that
may be pertinent to the case. Documents include not only traditional
paper documents, but email messages, text messages, computer files, and
other electronically stored information, or ESI. Suppose you were
compelled to produce every document in your possession pertaining to
software downloads or purchases? How would you do it? If you were a
large corporation, you would probably hire an army of lawyers to read all
your email, plus your assignments, and any other files on your UW account,
your laptop, your phone, and your tablet, at a cost of one dollar or more
per file. As a CSC member, you know there must be a better way. But what
is that better way, and how do you convince the court to let you use it?</p>
<p>It turns out that spam filters that employ machine learning can do this job
well -- better than that army of lawyers. But lawyers aren't happy about
this. This talk will outline how the technology works and how to prove
that it works, so as to convince scientists, lawyers, and judges.</p>
</abstract>
</eventitem>
<eventitem date="2013-02-28" time="4:30 PM" room="DC 1302" title="Machine Architecture, Performance, and Scalability: Things Your Programming Language Never Told You">
<short>
<p>"Herb Sutter is a leading authority on software development. He is the best selling author of several books including Exceptional C++ and C++ Coding Standards, as well as hundreds of technical papers and articles [and] has served for a decade as chair of the ISO C++ standards committee." - http://herbsutter.com/about</p>
</short>
<abstract>
<p>High-level languages insulate the programmer from the machine. That's a
wonderful thing -- except when it obscures the answers to the fundamental
questions of "What does the program do?" and "How much does it cost?"</p>
<p>The C++ and C# programmer is less insulated than most, and still we find
that programmers are consistently surprised at what simple code actually
does and how expensive it can be -- not because of any complexity of a
language, but because of being unaware of the complexity of the machine on
which the program actually runs.</p>
<p>This talk examines the "real meanings" and "true costs" of the code we
write and run especially on commodity and server systems, by delving into
the performance effects of bandwidth vs. latency limitations, the
ever-deepening memory hierarchy, the changing costs arising from the
hardware concurrency explosion, memory model effects all the way from the
compiler to the CPU to the chipset to the cache, and more -- and what you
can do about them.</p>
</abstract>
</eventitem>
<eventitem date="2013-01-16" time="4:00 PM" room="Comfy Lounge" title="Elections">
<short>
<p>CSC Elections have begun for the Winter 2013 term, nominations are open!</p>
</short>
<abstract>
<p>It's elections time again! On Wednesday January 16th at 4:00PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
<p>Nominations are open until 4:00PM on Tuesday January 15th, and can be
written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
can vote and are invited to drop by. You may also send nominations to the
<a href="mailto:cro@csclub.uwaterloo.ca">
Chief Returning Officer</a>. A full list of candidates will be posted
when nominations close.</p>
<p>Good luck to our candidates!</p>
</abstract>
</eventitem>
<!-- Fall 2012 -->
<eventitem date="2012-11-23" time="19:00" room="MC 3001" title="Code Party 3">
<short>
<p>The Computer Science Club is running our third, and last, code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all. Syed Albiz will be presenting a tutorial on implementing a <a href="http://en.wikipedia.org/wiki/Ray-tracing">ray-tracer</a> in C and Scheme.</p>
</short>
<abstract>
<p>The Computer Science Club is running our third, and last, code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all. Syed Albiz will be presenting a tutorial on implementing a <a href="http://en.wikipedia.org/wiki/Ray-tracing">ray-tracer</a> in C and Scheme. Everyone is welcome, so please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</abstract>
</eventitem>
<eventitem date="2012-11-21" time="4:30 PM" room="MC 5136B" title="SASMS">
<short>
<p><i>by PMC.</i>The Pure Mathematics, Applied Mathematics, Combinatorics &amp; Optimization Club is hosting the Fall 2012 Short Attention Span Math Seminars (SASMS).</p>
</short>
<abstract>
<p>The Pure Mathematics, Applied Mathematics, Combinatorics &amp; Optimization Club is hosting the Fall 2012 Short Attention Span Math Seminars (SASMS).</p>
<p>All talks will be 25 minutes long, and everyone is welcome to give a talk. Applications for speaking are open until the day of the event. For event details, see <a href="http://pmclub.uwaterloo.ca/?q=content/sasms-fall-2012">the PMC event page.</a></p>
</abstract>
</eventitem>
<eventitem date="2012-11-19" time="3:30 PM" room="MC 3003" title="UNIX 101">
<short><p><i>by Calum T. Dalek</i>. New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools. </p></short>
<abstract><p>New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Monday. Topics that will be covered include basic interaction with the shell and use of myriad powerful tools. </p>
<p>If you're interested in attending, make sure you can log into the Macs on the third floor, or show up to the CSC office (MC 3036) 20 minutes early for some help. If you're already familiar with these topics, don't hesitate to come to Unix 102, which will be held the week of the 26th.</p>
</abstract>
</eventitem>
<eventitem date="2012-11-15" time="7:00 PM" room="DC 1302" title="KW Perlmongers Talk">
<short>
<p><i>by Justin Wheeler.</i>In his own words, this talk will cover the virtues
of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
TMTOWTDI, and did I mention CPAN?</p>
</short>
<abstract>
<p>In his own words, this talk will cover the virtues
of Perl: CPAN, Moose, CPAN, Catalyst, CPAN, DBIx::Class, CPAN,
TMTOWTDI, and did I mention CPAN?</p>
<p>If you've never used Perl before, don't be scared away by the
jargon&mdash;the talk should be accessible to all CS students, and even if
you find it hard to follow, we will be serving pizza! </p>
</abstract>
</eventitem>
<eventitem date="2012-10-26" time="7:00 PM" room="MC 3001" title="CSC Code
Party 2">
<short>
<p>We will be holding our second code party of the term. Watch for
further details, as we plan on working with some robots and Scala,
git, and Haskell.</p>
</short>
<abstract>
<p>We will be holding our second code party of the term. Watch for
further details, as we plan on working with some robots and Scala,
git, and Haskell.</p>
</abstract>
</eventitem>
<eventitem date="2012-10-18" time="4:00 PM" room="MC 2034" title="The
Cryptographic and Game-Theoretical Fundamentals behind Bitcoin">
<short>
<p><i>by Vitalik Buterin.</i> In this talk, we will cover the
cryptographic and game-theory principles behind the currency, including
how the issues of double-spending, the "51% attack," and "mining" are
addressed, the game-theory incentives to use Bitcoins honestly, and
other issues being faced today in practice, such as implementation,
attacks, and future scalability.</p>
</short>
<abstract>
<p><i>by Vitalik Buterin.</i> Interested in learning more about Bitcoin,
the independent digital cryptographic cash? Then this is the talk for
you!</p>
<p>In his talk, Vitalik will cover the cryptographic and game-theory
principles behind the currency, including how the issues of
double-spending, the "51% attack," and "mining" are addressed, the
game-theory incentives to use Bitcoins honestly, and other issues being
faced today in practice, such as implementation, attacks, and future
scalability.</p>
<p>Refreshments will be provided.</p>
</abstract>
</eventitem>
<eventitem date="2012-09-28" time="7:00 PM" room="PHY 150" title="Tron Screening: Frosh-A-Tron">
<short>
<p>ehashman's lousy frosh event naming scheme continues as we prepare for this week's movie night---a screening of the original TRON in PHY 150. Come watch the groundbreaking film that defined the role of computer graphics and the quality of special effects in modern cinema. And bring your friends!</p>
</short>
<abstract>
<p>ehashman's lousy frosh event naming scheme continues as we prepare for this week's movie night---a screening of the original TRON in PHY 150. Come watch the groundbreaking film that defined the role of computer graphics and the quality of special effects in modern cinema. And bring your friends!</p>
</abstract>
</eventitem>
<eventitem date="2012-09-14" time="19:00" room="MC 3001" title="Code Party 1: FROSH-A-THON">
<short>
<p>The Computer Science Club is running our first "welcome back" code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all! Our party is loosely themed as a Linux installfest, where we will have a team of members dedicated to helping individuals install and learn to use one of many flavours of Linux.</p>
</short>
<abstract>
<p>The Computer Science Club is running our first "welcome back" code party of the term! Whether you're a hacking guru or a newbie to computer science, you're welcome to attend; there will be activities for all! Our party is loosely themed as a Linux installfest, where we will have a team of members dedicated to helping individuals install and learn to use one of many flavours of Linux. Everyone is welcome, so please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</abstract>
</eventitem>
<eventitem date="2012-09-18" time="4:00 PM" room="Comfy Lounge" title="Elections">
<short>
<p>CSC Elections have begun for the Fall 2012 term, nominations are open!</p>
</short>
<abstract>
<p>It's elections time again! On Tuesday September 18th at 4:00PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
<p>Nominations are open until 4:00PM on Monday September 17th, and can be
written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
can vote and are invited to drop by. You may also send nominations to the
<a href="mailto:cro@csclub.uwaterloo.ca">
Chief Returning Officer</a>. A full list of candidates will be posted
when nominations close.</p>
<p>Good luck to our candidates!</p>
</abstract>
</eventitem>
<eventitem date="2012-09-06" time="17:00" room="Math 3 Atrium" title="SCS First-year Welcome Dinner">
<short>
<p>The School of Computer Science is hosting a dinner event for incoming first-year students. You'll get to meet us, some of the faculty, and other new undergraduates. Food will be provided.</p>
</short>
<abstract>
<p>The School of Computer Science is hosting a dinner event for incoming first-year students. You'll get to meet us, some of the faculty, and other new undergraduates. Food will be provided.</p>
</abstract>
</eventitem>
<!-- Spring 2012 -->
<eventitem date="2012-06-08" time="19:00:00" room="MC 3001" title="Code Party 1">
<short>
<p>The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</short>
<abstract>
<p> </p>
<p>The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</abstract>
</eventitem>
<eventitem date="2012-05-10" time="4:30 PM" room="Comfy Lounge" title="Elections">
<short>
<p>CSC Elections have begun for the Spring 2012 term, nominations are open!</p>
</short>
<abstract>
<p>It's elections time again! On Thursday May 10th at 4:30PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The sysadmin, librarian, and office manager will also be chosen at this time.</p>
<p>Nominations are open until 4:30PM on Wednesday May 9th, and can be
written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
who have paid their Mathsoc fee can vote and are invited to drop by.
You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
Chief Returning Officer</a>. A full list of candidates will be posted
when nominations close.</p>
<p>Good luck to our candidates!</p>
</abstract>
</eventitem>
<eventitem date="2012-05-07" time="6:00 PM" room="DC 1302" title="mmap and the Mortgage Crisis">
<short>
<p>Palantir is a Palo Alto-based intelligence analysis software company that has partnered with the CSC to put on a tech talk and social. There will be free food, free drinks, and for one lucky winner, a free iPad, so why not come on out?</p>
</short>
<abstract>
<p>In the aftermath of the 2008 economic crisis, large banks have been saddled with the prospect of foreclosing on millions of distressed mortgages, at a financial cost of billions of dollars and an incalculable social cost. Crucial to solving this problem is the ability to model and analyze these millions of loans in real time, enabling lenders to price homes so that they can find effective and mutually beneficial alternatives to foreclosure.</p>
<p>In this talk, we'll describe how engineers at Palantir are working on a calculation engine that supports such analyses. We'll outline our design goals of constructing a platform that supports queries against large sets of data at interactive speeds and exposes a high-level object-oriented interface that enables analysts to construct models intuitively without having to worry about the underlying implementation details. We'll describe the different architectures we explored in prototyping the system, demo how to use our product to analyze massive datasets, and discuss how we've ultimately deployed it in the field.</p>
</abstract>
</eventitem>
<!-- Winter 2012 -->
<eventitem date="2012-03-22" time="4:30 PM" room="MC 4021" title="Multi-processor Real-time Systems">
<short>
<p><i>by Bill Cowan</i>. Programming systems that obey hard real-time constraints is difficult. So is programming multiple CPUs that interact to solve a single problem. This talk will describe the nature of computation typical of real-time systems, architectural solutions currently employed in CS 452, and possible architectures for multi-CPU systems.</p>
</short>
<abstract>
<p>
Programming systems that obey hard real-time constraints is difficult. So is programming multiple CPUs that interact to solve a single problem.
</p>
<p>
On rare occasions it is possible to mix two difficult problems to create one easy problem and multi-CPU real-time is, on the face of it, just such an occasion. Give each deadline its own CPU and it will never be missed. This intuition is, unfortunately, incorrect, which does not, however, prevent it being tried in many real-time systems.
</p>
<p>
For three decades, fourth year students have been exploring this problem in CS452, using multiple tasks (virtual CPUs) running on a single CPU. It is now time to consider whether modern developments in CPU architecture make it possible to use multiple CPUs in CS452 given the practical constraint of a twelve week semester.
</p>
<p>
This talk will describe the nature of computation typical of real-time systems, architectural solutions currently employed in the course, and possible architectures for multi-CPU systems.
</p>
</abstract>
</eventitem>
<eventitem date="2012-03-08" time="5:30 PM" room="MC 3003" title="UNIX 102">
<short>
<p><i>by Calum T. Dalek</i>. The Computer Science Club will be running the
second installment of our introductory UNIX tutorials for the term. We
will be covering topics intended to show off the development-friendliness of
the UNIX computing environment: "real" document editors, development tools,
bash scripting, and version control.
</p>
</short>
<abstract>
<p>New to the UNIX computing environment? If you seek an introduction, look
no further. We will be covering more advanced topics in the second installment
of our introductory tutorials, that will help you become a more effective
developer.
</p>
<p>We will be introducing "real" document editors, bash scripting, and
version control. We'll prove to you how much more efficient you can develop
with these tools and teach you how to do it for yourself. It will save you hours
of work!
</p>
</abstract>
</eventitem>
<eventitem date="2012-03-02" time="7:00 PM" room="MC 3001" title="OpenCL Code Party">
<short>
<p><i>by Calum T. Dalek</i>. The University of Waterloo Computer Science Club and AMD's OpenCL programming competition comes to a close, as the contest ends at midnight and prizes are awarded! Open submissions will be judged, so make sure to come out and watch.
</p>
</short>
<abstract>
<p>The University of Waterloo Computer Science Club and AMD's <a href="http://csclub.uwaterloo.ca/opencl">OpenCL programming competition</a> comes to a close, as the contest ends at midnight and prizes are awarded! Open submissions will be judged, so make sure to come out and watch.
</p>
</abstract>
</eventitem>
<eventitem date="2012-03-07" time="5:30 PM" room="PHY 150" title="Feynman Messenger Lecture Series">
<short>
<p><i>by Calum T. Dalek</i>. Join the Computer Science Club and PhysClub every Wednesday evening for the rest of the term for our five screenings of the classic 1964 Messenger Lecture Series by Richard Feynman in PHY 150. Dinner provided!
</p>
</short>
<abstract>
<p>The Physics Club and the Computer Science Club are proud to present the 1964 Feynman Messenger Lecture Series in PHY 150 on Wednesday evenings at 5:30 PM. The screenings will be taking place as follows (please note times and dates):</p>
<ul>
<li><b>Feb. 29, 5:30-6:30 PM:</b> <i>Law of Gravitation: An Example of Physical Law</i></li>
<li><b>Mar. 7, 5:30-7:30 PM:</b> <i>The Relation of Mathematics and Physics</i> and <i>The Great Conservation Principles</i> (double feature)</li>
<li><b>Mar. 14, 5:30-6:30 PM:</b> <i>Symmetry in Physical Law</i></li>
<li><b>Mar. 21, 5:30-7:30 PM:</b> <i>The Distinction of Past and Future</i> and <i>Probability and Uncertainty: The Quantum Mechanical View</i> (double feature)</li>
<li><b>Mar. 28, 5:30-6:30 PM:</b> <i>Seeking New Laws</i></li>
</ul>
<p>Dinner will be provided, so come on out, relax in the comfy PHY 150 theatre, and enjoy. Hope to see you there!</p>
</abstract>
</eventitem>
<eventitem date="2012-02-16" time="7:00 PM" room="MC 3001" title="OpenCL Introduction">
<short><p><i>by Calum T. Dalek</i>. The University of Waterloo Computer Science Club and AMD are running an OpenCL programming competition. If you're interested in writing massively parallel software on the OpenCL platform, come out and join us for our introductory code party!</p></short>
<abstract><p>The University of Waterloo Computer Science Club and AMD are running an <a href="http://csclub.uwaterloo.ca/opencl">OpenCL programming competition.</a> If you're interested in writing massively parallel software on the OpenCL platform, come out and join us for our introductory code party!</p>
<p></p>
</abstract>
</eventitem>
<eventitem date="2012-02-09" time="5:00 PM" room="MC 3003" title="UNIX 101">
<short><p><i>by Calum T. Dalek</i>. New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Thursday. Topics that will be covered include basic interaction with the shell and the motivations behind using it, and an introduction to compilation. You'll have to learn this stuff in CS 246 anyways, so why not get a head start!</p></short>
<abstract><p>New to the Unix computing environment? If you seek an introduction, look no further. We will be holding a series of tutorials on using Unix, beginning with Unix 101 this upcoming Thursday. Topics that will be covered include basic interaction with the shell and the motivations behind using it, and an introduction to compilation. You'll have to learn this stuff in CS 246 anyways, so why not get a head start!</p>
<p>If you're interested in attending, make sure you can log into the Macs on the third floor, or show up to the CSC office (MC 3036) 20 minutes early for some help. If you're already familiar with these topics, don't hesitate to come to Unix 102, planned to be held after Reading Week.</p>
</abstract>
</eventitem>
<eventitem date="2012-02-07" time="6:00 PM" room="MC 4045" title="Algorithms Talk">
<short><p><i>by Victor Fan</i>. Join Victor Fan for his talk, intended for all second-year math students with a solid first-year background. Even if you are a first-year or a seasoned veteran, you will probably still take home something new, so please come out to enjoy the talk! Refreshments will be served.</p></short>
<abstract><p>Are you interested in algorithms? What is an algorithm anyway? We will discuss two or three neat problems with very elegant answers. Some of these answers are actually fast, and some will result in a proof that the problem is NP-complete. (What does that mean?) We will also discuss the motivating thoughts that led us to the solutions.</p>
<p>Join Victor Fan for his talk, intended for all second-year math students with a solid first-year background. Even if you are a first-year or a seasoned veteran, you will probably still take home something new, so please come out to enjoy the talk! Refreshments will be served.</p></abstract>
</eventitem>
<eventitem date="2012-01-27" time="6:30 PM" room="Math CnD" title="Code Party 0">
<short><p><i>by Calum T. Dalek</i>. The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p></short>
<abstract><p>The Computer Science Club is running the first code party of the term! Come join us and hack on open source software, your own projects, or whatever comes up. Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p></abstract>
</eventitem>
<eventitem date="2012-01-12" time="4:30 PM" room="Comfy Lounge" title="Elections">
<short>
<p>CSC Elections have begun for the Winter 2012 term, nominations are open!</p>
</short>
<abstract>
<p>It's elections time again! On Thursday January 12th at 4:30PM, come to the Comfy Lounge
on the 3rd floor of the MC to vote in this term's President, Vice-President, Treasurer
and Secretary. The sysadmin, librarian and office manager will also be chosen at this time.</p>
<p>Nominations are open until 4:30PM on Wednesday January 11th, and can be
written on the CSC office whiteboard (yes, you can nominate yourself). All CSC members
who have paid their Mathsoc fee can vote and are invited to drop by.
You may also send nominations to the <a href="mailto:cro@csclub.uwaterloo.ca">
Chief Returning Officer</a>. A full list of candidates will be posted
when nominations close.</p>
<p>Good luck to our candidates!</p>
</abstract>
</eventitem>
<!-- Fall 2011 -->
<eventitem date="2011-11-18" time="7:00 PM" room="Comfy Lounge" title="CSC Open Data Code Party">
<short><p><i>by Calum T. Dalek</i>. The Computer Science Club is teaming up with the UW Open Data Initiative to bring you our third code party of the term! Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p></short>
<abstract><p> We're teaming up with the UW Open Data Initiative to host our next code party on Friday, November 18 at 7PM in the MC Comfy Lounge.</p>
<p>As always, you're welcome to work on your own projects, but we'll be hacking on some open data related projects:
<ol>
<li>Design and build UW APIs.</li>
We're looking for API design experts to bring scalable API designs to the party. At the party, we'll work on implementing these designs. The APIs that you build will be used by everyone to access the university data made available by the Open Data Initiative.
<li>Applications using university data that is currently available.</li>
</ol>
</p>
<p>If you'd like to discuss your ideas for these proposed projects, check out the newsgroup, uw.csc</p></abstract>
</eventitem>
<eventitem date="2011-11-12" time="7:30 AM" room="Davis Centre" title="CSC goes to Design Our Tomorrow">
<short><p><i>by Calum T. Dalek</i>. The Computer Science Club has a limited number of tickets available for the <a href="http://designourtomorrow.com/">Design Our Tomorrow Conference</a> at the University of Toronto on Saturday, November 12, 10:00 - 16:30. See event information for ticket details.</p></short>
<abstract><p>
The Computer Science Club has tickets available for the Design Our Tomorrow Conference at the University of Toronto on Saturday, November 12, 10:00 - 16:30, and would like to invite you to attend. The DOT Conference is a TED-style event geared towards students in high school, undergraduate, and graduate studies. The goal of the event is to inspire young people to create, innovate, better themselves, and in the process, better the world. The conference is free for students and is valued at $500 a ticket for non-students. For more details about the conference, visit <a href="http://designourtomorrow.com/">http://designourtomorrow.com/</a>.</p>
<p>Tickets have been reserved for the CSC, and transportation to the conference has been funded by the David R. Cheriton School of Computer Science; a $5 deposit is required to secure a seat on the bus, which will be refunded to attendees upon departure. To sign up, visit the CSC office at MC 3036/3037 with exact change. You will need to provide your full name, e-mail, and student ID number. Please note that students who have already registered for the conference *should not* try to register through the CSC. For more details, visit the CSC website at <a href="http://csclub.uwaterloo.ca/">http://csclub.uwaterloo.ca/</a>.</p>
<p>This event is not restricted to CSC members&mdash;any student is free to attend. Tickets are very limited, so please sign up as soon as possible.</p>
<p>On the morning of November 12, attendees should meet in front of the Davis Center at 7:30 am. The bus will be leaving promptly at 8:00 am, so please arrive no later than 7:30 so we can process refunds and depart on time.</p>
<p>We hope that you will join us.
</p></abstract>
</eventitem>
<eventitem date="2011-10-24" time="4:30 PM" room="MC 3003" title="UNIX 102: Tools 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, text processing, navigating a multiuser Unix environment, standard tools, and more. 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-10-21" time="7 PM" room="Comfy Lounge" title="Code Party 2">
<short>
<p><i>by Calum T. Dalek</i>. The Computer Science Club is having our second code party of the term! Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</short>
<abstract>
<p>
The Computer Science Club is having our second code party of the term! Everyone is welcome; please bring your friends. There will be foodstuffs and sugary drinks available for your hacking pleasure.
</p>
<p>
There will be 3 more code parties this term.
</p>
</abstract>
</eventitem>
<eventitem date="2011-10-13" time="6:30 PM" room="MC 4020" title="How Browsers Work">
<short>
<p><i>by Ehsan Akhgari</i>. Veteran Mozilla engineer Ehsan Akhgari will present a talk on the internals of web browsers. The material will range from the fundamentals of content rendering to the latest innovations in browser design. Click on the talk title for a full abstract.</p>
</short>
<abstract>
<p>
Web browsers have evolved. From their humble beginnings as simple HTML
rendering engines they have grown and evolved into rich application
platforms. This talk will start with the fundamentals: how a browser
creates an on-screen representation of the resources downloaded from
the network. (Boring, right? But we have to start somewhere.) From
there we'll get into the really exciting stuff: the latest innovations
in Web browsers and how those innovations enable — even encourage —
developers to build more complex applications than ever before. You'll
see real-world examples of people building technologies on top of
these "simple rendering engines" that seemed impossible a short time
ago.
Bio of the speaker:
Ehsan Akhgari has contributed to the Mozilla project for more than 5
years. He has worked on various parts of Firefox, including the user
interface and the rendering engine. He originally implemented Private
Browsing in Firefox. Right now he's focusing on the editor component
in the Firefox engine.
</p>
<p>
There will be 4 more code parties this term.
</p>
</abstract>
</eventitem>
<eventitem date="2011-09-30" time="7 PM" room="Comfy Lounge" title="Code Party 1">
<short>
<p><i>by Calum T. Dalek</i>. The Computer Science Club is having our first code party of the term! The theme for this code party will be collaborative development. We'll present several ideas of small projects to work on for the unexperienced. Everyone is welcome; please bring your friends! There will be foodstuffs and sugary drinks available for your hacking pleasure.</p>
</short>
<abstract>
<p>
The Computer Science Club is having our first code party of the term! The theme for this code party will be collaborative development. We'll present several ideas of small projects to work on for the unexperienced. Everyone is welcome; please bring your friends! There will be foodstuffs and sugary drinks available for your hacking pleasure.
</p>
<p>
There will be 4 more code parties this term.
</p>
</abstract>
</eventitem>
<eventitem date="2011-09-29" edate="2011-09-29" time="4:00 PM" etime="5:30 PM" room="MC 3004" 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>Unix 101 is the first in a series of tutorials on using Unix. This tutorial will present 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 more advanced topics like scripting and job control, the filesystem and manipulating it, and secure shell. 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, 104, and 201 that get much more in depth with power tools and software authoring on Unix. </p>
</abstract>
</eventitem>
<eventitem date="2011-09-19" edate="2011-09-19" time="4:30 PM" etime="5:30 PM" room="Comfy Lounge" title="Elections">
<short>
<p>
Club elections. See related news items for details.
</p>
</short>
<abstract>
Club elections. See related news items for details.
</abstract>
</eventitem>
<!-- 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"