old-website/events.xml

11311 lines
492 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version='1.0'?>
<!DOCTYPE eventdefs SYSTEM "csc.dtd" [<!ENTITY mdash "&#x2014;">]>
<eventdefs>
<!-- Summer 2021 -->
<eventitem date="2021-05-17" time="8:00 pm" room="Online" title="CSC BOT & Game Night">
<short>
<p>
Learn about our plans for the term and play some games with us.
</p>
</short>
<abstract>
<p>Kick off your Spring term with CSC! Come join us on Discord to learn more about what we'll be up to this term and how you can participate!</p>
<p>Afterwards, stick around for a relaxing and fun game night. See you there!</p>
</abstract>
</eventitem>
<eventitem date="2021-05-16" time="7:00 pm" room="Online" title="Drop-in Resume Critiques (Day 2)">
<short>
<p>
Live Resume Critiques with Tech+, UW Data Science Club, and UW PM (registration required).
</p>
</short>
<abstract>
<p>Joining forces with Tech+, UW Data Science Club, and UW PM, we're hosting live resume critiques!</p>
<p>The session will be held on Discord; you must sign up at <a href="http://bit.ly/S21-resume-critique">http://bit.ly/S21-resume-critique</a> to gain access to the critiques. Deadline to signup is Friday, May 14th at 11:59pm EDT.</p>
</abstract>
</eventitem>
<eventitem date="2021-05-16" time="7:00 pm" room="Online" title="Drop-in Resume Critiques (Day 1)">
<short>
<p>
Live Resume Critiques with Tech+, UW Data Science Club, and UW PM (registration required).
</p>
</short>
<abstract>
<p>Joining forces with Tech+, UW Data Science Club, and UW PM, we're hosting live resume critiques!</p>
<p>The session will be held on Discord; you must sign up at <a href="http://bit.ly/S21-resume-critique">http://bit.ly/S21-resume-critique</a> to gain access to the critiques. Deadline to signup is Friday, May 14th at 11:59pm EDT.</p>
</p>
</abstract>
</eventitem>
<!-- Winter 2021-->
<eventitem date="2021-03-27" time="2:30 pm" room="Online" title="Alt-Tab">
<short>
<p>
Join us for lightning tech talk presented by students.
</p>
</short>
<abstract>
<p>CSC is proud to present to you Alt-Tab! Join us in a lightning tech talk series presented to you by our very own students. Alt-Tab consists of 10 to 15-minute talks about anything related to tech. Learn more about exciting topics that range from competitive programming to cryptography!</p>
<p>We will have four incredible presenters that are eager to share their insights with you. Stay tuned as we'll be introducing them and the topics that they will be discussing soon!.</p>
<p>Registration is not required to attend! We'll just be sending you an email reminder, as well as inviting you to our calendar event.</p>
<p>Event Date: March 27th EDT via Twitch (<a href="https://www.twitch.tv/uwcsclub">https://www.twitch.tv/uwcsclub</a>) at 2:30-4pm</p>
<p>You can also attend here: <a href="https://live.csclub.uwaterloo.ca/2021-03-27-alt-tab.html">https://live.csclub.uwaterloo.ca/2021-03-27-alt-tab.html</a>.</p>
<p>Register at <a href="http://bit.ly/uwcsclub-alt-tab-signup!">http://bit.ly/uwcsclub-alt-tab-signup!</a> Alternatively, you can also email us at exec@csclub.uwaterloo.ca to sign up as well.</p>
<p>See you all soon!</p>
</abstract>
</eventitem>
<eventitem date="2021-03-25" time="7 pm" room="Online" title="Out of The Box: React">
<short>
<p>
Learn how React works and make your own version!
</p>
</short>
<abstract>
<p>Modern web frameworks are a black-box. They're easy to use, but they have numerous minute details to master in order to apply them to truly scalable websites. Over the last few years, front-end frameworks have absorbed the responsibilities of the back-end, meaning it's become ever more important to dig their details out of the box. </p>
<p>Out of the Box is a series of code-along projects that explore what's under the hood of modern web frameworks. Nearly 5 million websites use React, including many of the internet's most popular websites. While its simple syntax attracts developers from all over, underneath lies a complex infrastructure of code to manage all elements from caching to hooks. Rishi will bring these ideas to light in our inaugural episode of Out of the Box. Come join him and code your own version of React!</p>
<p>Only basic web experience is needed. All JavaScript code will be written within a single HTML document for simplicity. Node.js will also be required to participate in the event! </p>
<p>Registration is not required to attend! We'll just be sending you an email reminder, as well as inviting you to our calendar event.</p>
<p> Event Date: Thurs. March 25 at 7-9 PM EST via Twitch (<a href="http://twitch.tv/uwcsclub">http://twitch.tv/uwcsclub</a>) </p>
<p> Register at <a href="http://bit.ly/uwcsc-ootb-diy-react-signup!">http://bit.ly/uwcsc-ootb-diy-react-signup!</a> Alternatively, you can also email us at exec@csclub.uwaterloo.ca to sign up as well.</p>
</abstract>
</eventitem>
<eventitem date="2021-03-16" time="7:30 pm" room="Online" title="Speed-Friending">
<short>
<p>
Join CSC to meet new people in a Speed-Friending event.
</p>
</short>
<abstract>
<p>
Meeting people in University can be challenging, especially when it's virtual.
We understand these struggles, and we want to give you a chance to meet other students! The CS community is huge, and we'd like to connect you all.
</p>
<p>
Have you heard of speed-dating? Well, CSC is now introducing our Speed-Friending event, where you will get the chance to meet people in fast rotating groups of 3 or 4, and talk to them for about 10 minutes We'll provide you with an optional prompt to start off your discussions, but the rest is up to you!. Feel free to leave at any time with a group you like.
</p>
<p>
You won't want to miss this event! Registration is optional; we'll just be sending you a reminder on the day of, as well as a calendar invite.
</p>
<p>
Event Date: Tuesday, March 16th from 7:30 - 8:30PM EST
</p>
<p>
Sign up at <a href="https://bit.ly/uwcsclub-speed-friending-signup">https://bit.ly/uwcsclub-speed-friending-signup</a>! Alternatively, you can also email us at exec@csclub.uwaterloo.ca.
</p>
<p>
Click this link to join the event once it starts! We'll be hosting it on Zoom: <a href="https://zoom.us/j/93667714038?pwd=aHIyOTAyOTNhd0VmREtONjl4QTNUUT09">https://zoom.us/j/93667714038?pwd=aHIyOTAyOTNhd0VmREtONjl4QTNUUT09</a>.
</p>
</abstract>
</eventitem>
<eventitem date="2021-03-06" time="7:00 pm" room="Online" title="Afterhours: Personal Relationships">
<short>
<p>
Join CSC as we talk about personal relationships.
</p>
</short>
<abstract>
<p>
The past year has been tough for all of us, having to deal with the pandemic while studying or working remotely. If you've felt that meeting new people and sustaining relationships with others has never been more challenging, we feel that too, and we want to talk about it.
</p>
<p>
CSC brings you the third chapter of Afterhours, and this time we're discussing Personal Relationships. Join us for a chat about how our relationships (platonic and romantic) have been affected, whether that be due to co-op, sequence changes, or COVID. We'll be sharing our own personal stories and we'd love for you all to join in on the discussion.
</p>
Registration is required for attendance, so don't miss out!
<ul>
<li>Event Date: Sat. March 6 at 7 PM EST via Zoom</li>
<li>Register at <a href="https://forms.gle/Gzeqvg9KpEghCH4H9">https://forms.gle/Gzeqvg9KpEghCH4H9</a>! Alternatively, you can also email us at exec@csclub.uwaterloo.ca to sign up as well.</li>
<li>Deadline to Register: Sat. March 6 at 12PM EST</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2021-02-19" time="8:00 pm" room="Online" title="Fun Friday">
<short>
<p>
Join CSC as we play games all night!
</p>
</short>
<abstract>
<p>
Join CSC as we play games all night! Come for an opportunity to play League (win some free skins :eyes:), Scribbl.io, Among Us, Jackbox, Tetris and more!
</p>
<p>
This event will be occurring on our Discord: <a href="https://discord.gg/pHfYBCg">https://discord.gg/pHfYBCg</a>
</p>
</abstract>
</eventitem>
<eventitem date="2021-02-18" time="8:00 pm" room="Online" title="Theatre Thursday">
<short>
<p>
Come watch a movie with CSC!
</p>
</short>
<abstract>
<p>
Come watch a movie with CSC! Bring your popcorn and your movie commentary, we'll be looking for your input on what we watch so keep an eye out for a poll on our Discord.
</p>
<p>
This event will be occurring on our Discord: <a href="https://discord.gg/pHfYBCg">https://discord.gg/pHfYBCg</a>
</p>
</abstract>
</eventitem>
<eventitem date="2021-02-16" time="8:00 pm" room="Online" title="Talk to CSC Tuesday">
<short>
<p>
Come meet and chill out with CSC execs.
</p>
</short>
<abstract>
<p>
Come meet and chill out with CSC execs. This is an opportunity for you to meet new people and socialize with us!
</p>
<p>
This event will be occurring on our Discord: <a href="https://discord.gg/pHfYBCg">https://discord.gg/pHfYBCg</a>
</p>
</abstract>
</eventitem>
<eventitem date="2021-01-28" time="7:00 pm" room="Online" title="Recovering From a Rough Term">
<short>
<p>
Join us to learn about other students have bounced back from a rough term, and how you can too.
</p>
</short>
<abstract>
<p>
The fall term has ended and the winter term is ramping up. Maybe you didn't meet all your expectations last term, you are feeling overwhelmed with your coop search, or you are feeling stuck with a bad mindset-we've been there before and you're not alone.
</p>
<p> Introducing the first session of our Afterhours series, join us for a chat with fellow UW CS students. Learn about how they bounced back from their rough times and how you can too! </p>
<ul>
<li> Where: Zoom</li>
<li> When: January 28th 7 - 8 pm EST</li>
<li> Sign up: <a href="https://forms.gle/MnKmGcXeazwKhTd7A">https://forms.gle/MnKmGcXeazwKhTd7A</a></li>
</ul>
</abstract>
</eventitem>
<eventitem date="2021-01-26" time="7:00 pm" room="Online" title="CTCI136">
<short>
<p>
Join us for tips and tricks on technical interviews.
</p>
</short>
<abstract>
<p> LeetCode? What is that?</p>
<p> Your favourite course is back and ready to help you cram for your upcoming WaterlooWorks interviews.</p>
<p> Join us on January 26 at 7PM EST on Twitch where we'll walk you through all the important concepts such as coding challenges, behavioural questions, and algorithms to help you crack the coding interview! Get your notebooks out and stay until the end to witness a CSC exec go through a sample problem and get some behind the scenes tips and tricks.</p>
<p>
The event will be streamed at <a href="https://twitch.tv/uwcsclub">twitch.tv/uwcsclub</a>
</p>
<p>
Register at <a href="https://forms.gle/pqG47mPh8cyf2sWB8">https://forms.gle/pqG47mPh8cyf2sWB8</a>
</p>
</abstract>
</eventitem>
<eventitem date="2021-01-14" time="7:00 pm" room="Online" title="RES 135">
<short>
<p>
Join us for resume and WaterlooWorks tips for the upcoming coop search.
</p>
</short>
<abstract>
<p>
Class is in session and the job search is starting! Want your resume reviewed before applying?
</p>
<p>
With WaterlooWorks applications opening next week, we want to help you prepare for the coop hunt! Come join us on January 14th at 7pm EST on Twitch to get some WaterlooWorks tips and tricks and watch upper-year/alum students critique your resumes live.
Take notes as we provide resume advice from the perspective of engineers currently working in the tech industry!
</p>
<p>
Drop your resume in the registration link for a chance to get your resume reviewed live!
</p>
<p>
Not interested in a public critique? You can also drop your resume in the registration link for emailed feedback! More details on the RES135 registration form
</p>
<p>
The event will be streamed at <a href="https://twitch.tv/uwcsclub">twitch.tv/uwcsclub</a>
</p>
<p>
Register at <a href="https://forms.gle/KFygHB6N6mmnwWpm7">https://forms.gle/KFygHB6N6mmnwWpm7</a>
</p>
</abstract>
</eventitem>
<eventitem date="2021-01-11" time="7:00 pm" room="Online" title="Get involved in CS Club!">
<short>
<p>
Learn about how you can involved with CS Club this term.
</p>
</short>
<abstract>
<p>Do you want to take part in CS Club's exciting upcoming events? Want to help out with our website redesign? Come join us on January 11th at 7pm EST on Twitch to learn about how you can become a member of CS Club, the roles that you can take on and how to participate in existing and brand-new community initiatives.
</p>
<p>
The event will be streamed at <a href="https://twitch.tv/uwcsclub">twitch.tv/uwcsclub</a>
</p>
<p>
Register at <a href="https://forms.gle/WBGPkvs5HzX1CEj98">https://forms.gle/WBGPkvs5HzX1CEj98</a>
</p>
</abstract>
</eventitem>
<!-- Fall 2020-->
<eventitem date="2020-11-25" time="7:00 pm" room="Online" title="Roasting Our First Year Resumes">
<short>
<p>
Upper years students will be critiquing their own resumes from first year.
</p>
<p>
&#128073; Streamed at <a href="https://twitch.tv/uwcsclub">twitch.tv/uwcsclub</a>
</p>
</short>
<abstract>
<p>
Looking to start your resume for next term but dont know where to start? CSC is hosting a Roasting Our First Year Resumes event.
</p>
<p>
Join us on November 25 from 7-8pm on Twitch to hear from some Waterloo upper years as they critique their resumes from first year.
</p>
<p>
Be sure to tune in to hear resume tips from a diverse group of upper years in varying tech domains and bring your questions for the Q&amp;A!
</p>
<p>
The event will be streamed at <a href="https://twitch.tv/uwcsclub">twitch.tv/uwcsclub</a>
</p>
</abstract>
</eventitem>
<eventitem date="2020-11-19" time="5:00 pm" room="Online" title="WiCS x CSC: Alt-Tab">
<short>
<p>
CSC and WiCS are hosting Alt-Tab on November 19th, 5-7 PM EST.
</p>
</short>
<abstract>
<p>
Come join the UW Computer Science Club (CSC) and Women in Computer Science (WiCS) on Thursday, November 19th from 5-7PM EST for Alt-Tab!
</p>
<p>
Alt-Tab is a lightning tech talk series presented by students and alumni. This term's Alt-Tab event will comprise of 4 different speakers who will be talking about topics including Ethereum NFT gaming, proof assistants and vanity Tor URLS. There will also be a raffle to win $20 gift cards!
</p>
</abstract>
</eventitem>
<!-- Winter 2020-->
<eventitem date="2020-03-12" time="6:00 pm" room="MC Comfy" title="WiCS x CSC Bondfire">
<short>
<p>
"Bonfire" with WiCS Thursday March 12th @ 6PM in MC Comfy
</p>
</short>
<abstract>
<p>
CSC and WiCS are hosting an indoor get together event Thursday March 12th @ 6PM in MC Comfy. Gather around the "bonfire" for a night of fun, food, and friends! Free hot chocolate, food and s'mores on us!
</p>
</abstract>
</eventitem>
<eventitem date="2020-02-11" time="6:00 pm" room="MC 4045" title="Physical Security Workshop">
<short>
<p>
Physical Security Workshop on Tuesday, Feb 11th, at 6:00 PM in MC 4045
</p>
</short>
<abstract>
<p>
In this physical security workshop, students will learn about the theoretical considerations of what makes a system secure. Then, we will break into teams for a hands-on exercise, and a screening of the legendary movie "Hackers".
</p>
<p>
Snacks and drinks will be provided.
</p>
</abstract>
</eventitem>
<eventitem date="2020-01-28" time="6:30 pm" room="STC 0010" title="Code Party 0">
<short>
<p>
Code Party 0 on January 28th, 2020, at 6:30 PM in STC 0010
</p>
</short>
<abstract>
<p>
Code Party 0 on January 28th, 2020, at 6:30 PM in STC 0010
</p>
<p>
The CS Club is hosting our first Code Party of the term from 6:30 pm until 9 pm in STC 0010, on Tuesday, January 28. Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework projects you need to finish? Or want some time to explore some new technology and chat about it? You can join us at Code Party 0 and do it, with great company and great food. Come any time after 6:30 pm.
</p>
</abstract>
</eventitem>
<!-- Spring 2019 -->
<eventitem date="2019-07-29" time="6:00 PM" room="MC Comfy" title="End of Term Event">
<short>
<p>
The Computer Science Club will be holding a end of term event on Monday, July 29th
at MC Comfy at 6:00 PM.
</p>
</short>
<abstract>
<p>
Come hang out and celebrate the end of the term with us. There will be pizza,
ice cream sandwiches, and juice boxes. :)
</p>
</abstract>
</eventitem>
<eventitem date="2019-07-18" time="6:00 PM" room="MC 5417" title="Alt-Tab">
<short>
<p>
The Computer Science Club will be holding a joint event with Women in Computer
Science on Thursday, July 18th at MC 5417 at 6:00 PM.
</p>
</short>
<abstract>
<p>
Alt-Tab is back, and this time being co-hosted with WiCS.
Come listen to lightning tech talks by fellow students that will knock your metaphorical socks off!
</p>
<p>The speaker lineup:</p>
<ul>
<li>Falah Shazib - How Not To Build A Virtual Escape Room</li>
<li>Anubhav Srivastava - The Fast Inverse Square Root Algorithm</li>
<li>Frieda Rong - Arrow's Impossibility Theorem</li>
<li>Charlie Wang - Gentle Introduction to Meltdown</li>
<li>Stacy Gaikovaia - Intro to Verilog: Hardware Simulation and Synthesis</li>
<li>William Gertler - Ethics in the Age of Lonely Qubits</li>
</ul>
<p>Food and Bubble Tea will be provided!</p>
</abstract>
</eventitem>
<eventitem date="2019-07-09" time="7:00 PM" room="MC Comfy" title="Movie Night">
<short>
<p>
The Computer Science Club will be holding a joint event with Women in Computer Science on
Tuesday, July 9th at MC Comfy at 7:00 PM.
</p>
</short>
<abstract>
<p>
Come hang out and watch The Lego Batman Movie with us! There will popcorn and pizza!
</p>
</abstract>
</eventitem>
<eventitem date="2019-06-18" time="6:00 PM" room="PHY 150" title="Code Party 0">
<short>
<p>
The Computer Science Club will be holding Code Party 0 on Tuesday, June 18th
at PHY 150 at 6:00 PM.
</p>
</short>
<abstract>
<p>
Come hang out with us! Study for midterms, do assignments, work on side projects, or
prep for interviews. We'll have free food - we aren't ordering pizza, so don't worry. :)
</p>
</abstract>
</eventitem>
<eventitem date="2019-06-05" time="7:00 PM" room="MOVED to MC Comfy" title="WiCS x CSC Bondfire Night">
<short>
<p>
The Computer Science Club will be holding a joint event with Women in
Computer Science on Wednesday, June 5th at MC Comfy at 7:00 PM. NOTE: the
event has been moved from the Laurel Creek Firepit due to rain.
</p>
</short>
<abstract>
<p>
Come and join us for a night of Campfire, friends, fun and yeah Free food 😁,
we'll be having Pitas, drinks, water(Gotta Keep my Fam hydrated eh! 😉) and
last but not the least we'll be having S'mores too, because any Campfire is
incomplete without them.
</p>
</abstract>
</eventitem>
<eventitem date="2019-05-16" time="7:00 pm" room="MC Comfy (MC 3001)" title="Spring 2019 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the Spring 2019
term on Thursday, May 16th in MC Comfy (MC 3001) at 7:00 PM.
</p>
</short>
<abstract>
<p>
During the meeting, the president, vice-president, treasurer and
assistant vice-president (formerly secretary) will be elected, the
sysadmin will be ratified, and the librarian and office manager will be
appointed.
</p>
<p>
If you'd like to run for any of these positions or nominate someone,
you can write your name on the whiteboard in the CSC office (MC
3036/3037) or send an email to cro@csclub.uwaterloo.ca. You can also
deposit nominations in the CSC mailbox in MathSoc or present them to
the CRO, Charlie Wang, in-person. Nominations will close at 6:00 PM on
Wednesday, May 15th.
</p>
</abstract>
</eventitem>
<!-- Winter 2019 -->
<eventitem date="2019-04-05" time="3:30 pm" room="STC 0020" title="Prof talk: Making the Switch: Going from 2D to S3D">
<short>
<p>
We will be having our second prof talk of the term with Lesley Istead, on April 5, 3:30 pm in STC 0020. She will be talking about the problems and algorithms used in the film industry to go from 2D to S3D. Come listen to the talk and enjoy some free food!
</p>
</short>
<abstract>
<p>
We will be having our second prof talk of the term with Lesley Istead, on April 5, 3:30 pm in STC 0020. She will be talking about the problems faced, and algorithms used in the film industry to go from 2D to S3D. Come listen to the talk and enjoy some free food!
</p>
<p>
For the last 10 years, most blockbusters have been released in both 2D and stereoscopic 3D. The move from 2D to S3D is non-trivial and involves many new algorithms and technologies.
But there are still many problems to be solved and many improvements that can still be made. In this talk, we'll explore artifacts of traditional 2D photography, methods to represent them comfortably in S3D, and their meaning in a 3D world.
</p>
</abstract>
</eventitem>
<eventitem date="2019-03-21" time="6 pm" room="MC Comfy" title="CSC + WiCS Movie Night">
<short>
<p>
CSC + WiCS Movie Night on March 21th, 2019, at 6 PM in MC Comfy
</p>
</short>
<abstract>
<p>
CSC + WiCS Movie Night on March 21th, 2019, at 6 PM in MC Comfy
</p>
<p>
Join us and bring all your friends to CSC and WiCS' movie night! We will be showing your fave tech-related movies and serving some delicious snacks.
</p>
</abstract>
</eventitem>
<eventitem date="2019-03-20" time="4 pm" room="PHY 150" title="Prof talk: Animated Tilings">
<short>
<p>
Professor Craig Kaplan will be talking about tiling arrangements on March 20th, 2019, at 4 PM in PHY 150
</p>
</short>
<abstract>
<p>
By slowly varying the shapes of tiles in a tiling, it's possible to create fun and interesting abstract animations. Many of these animations are a good fit for the genre of looping mathematical GIFs that proliferate in social media. In this talk, I'll introduce a few core concepts from tiling theory and then discuss techniques for constructing tilings that evolve in space or in time.
</p>
</abstract>
</eventitem>
<eventitem date="2019-03-13" time="6 pm" room="QNC 1502" title="Code Party 0">
<short>
<p>
Code Party 0 on March 13th, 2019, at 6 PM in QNC 1502
</p>
</short>
<abstract>
<p>
Code Party 0 on March 13th, 2019, at 6 PM in QNC 1502
</p>
<p>
The CS Club is hosting our first Code Party of the term from 6 pm until 9 pm in QNC-1502, on Wednesday, March 13. Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework projects you need to finish? Or want some time to explore some new technology and chat about it? You can join us at Code Party 0 and do it, with great company and great food. Come any time after 6 pm.
</p>
</abstract>
</eventitem>
<eventitem date="2019-03-02" time="12 pm" room="QNC 1502" title="Git 101">
<short>
<p>
Git 101 workshop on March 2nd, 2019, at 12 PM in QNC 1502
</p>
</short>
<abstract>
<p>
Git 101 workshop on March 2nd, 2019, at 12 PM in QNC 1502
</p>
<p>
Git and source code management is an essential tool in software development. Knowing how to make the best out of it will help you get out of tricky situations, and allow you to be a better engineer.
</p>
<p>
Come learn some basic topics with us including the motivation for using git, interaction with git using the command line, pull requests, feature branch workflow, etc. This event targets first years with minimal git experience.
</p>
<p>
We are also searching for mentors for the workshop. Instructions for signing up are <a href="https://github.com/uwcsc/git-101-mentor-signup">here</a>
</p>
<p>Pizza will be provided.</p>
</abstract>
</eventitem>
<eventitem date="2019-01-24" time="6:30 pm" room="STC 0060" title="Algorithms practice workshop">
<short>
<p>
Algorithms practice workshop on January 24th, 2019, at 6:30 PM in STC 0060
</p>
</short>
<abstract>
<p>
Algorithms practice workshop on January 24th, 2019, at 6:30 PM in STC 0060
</p>
<p>
Worried about your upcoming WaterlooWorks technical interviews? Want to nail your dream internship this term? Come to the Algorithms Practice Workshop at 6:30 PM, January 24th at STC 0060!
</p>
<p>
During the workshop, you will learn tons of useful technical interview tips collected from experienced upper-year students, as well as gain hands-on experience by practicing efficiently!
</p>
<p>
Writing a good solution to the problem is only the beginning — technical interviewers are evaluating more than just your code. Let's learn how to impress them in multiple ways!
</p>
<p>
Please register <a href="https://goo.gl/forms/WnUOd5VWwUfwA3Ru2">here</a>
<br />
<a href="https://www.facebook.com/events/554508501696081">Facebook event page</a>
</p>
</abstract>
</eventitem>
<!-- Fall 2018 -->
<eventitem date="2018-12-03" time="7:00 - 9:00 pm" room="MC Comfy"
title="CSC EOT">
<short>
<p>
CSC End of term celebrations on December 3rd, at 7 PM in MC Comfy.
</p>
</short>
<abstract>
<p>
CSC End of term celebrations on December 3rd, at 7 PM in MC Comfy.
</p>
<p>
The term is coming to an end, and we will be celebrating as such on Monday December 3rd 7-9pm in the MC Comfy.
</p>
<p>
Come hang out with fellow CSC members, and enjoy food and cake!
</p>
</abstract>
</eventitem>
<eventitem date="2018-11-29" time="6:00 pm - 8:00 pm" room="MC 5479"
title="Alt-Tab">
<short>
<p>
Alt-Tab is coming up next week on Thursday Nov. 29th 6-8pm at MC 5417. We have an amazing group of members giving short talks on topics of their choice.
</p>
</short>
<abstract>
<p>
Alt-Tab is coming up next week on Thursday Nov. 29th 6-8pm at MC 5417. We have an amazing group of members giving short talks on topics of their choice.
</p>
<h3>Talk List:</h3>
<h4>Anna Lorimer - &lt;redacted&gt;</h4>
<p>
All about Slitheen (no, not the dr who alien)
</p>
<h4>Will Gertler - Quantum Information: a Primer</h4>
<p>
An introduction to elementary topics in quantum information theory as an analogous extension of classical information, including simple applications.
</p>
<h4>Fatema Boxwala - GANs, Generative Art and Edward Bellamy</h4>
<p>On October 25th of this year, the first AI-generated work of art sold on the high-end art market at Christie's - for half a million dollars. A Portrait of Edward Bellamy is an image generated by a GAN, a Generative Adversarial Network. Fatema is going to wax poetic about GANs, generative art, and what it really means for something to be art.</p>
<h4>Alex Zvorygin - Designing Large Scale Systems for the Web</h4>
<p>
Learn to build systems that scale! Handle millions of users, keep latencies low, and your systems stable!
</p>
<h4>Patrick Melanson - ᴜɴɪᴄᴏᴅᴇ</h4>
<p>
ᴜɴɪᴄᴏᴅᴇ! It will let you talk to all your friends in Egyptian hieroglyphs, pictures of rocketships, Urdu, or even just Latin characters!
</p>
<p>
ᴜɴɪᴄᴏᴅᴇ: BUT WHAT SECRETIVE CABAL CONTROLS THIS UNIMAGINABLE POWER? Find out at this talk!
</p>
<p>
ᴜɴɪᴄᴏᴅᴇ; not just a blessing, but a curse! Reset Spotify forum passwords, make fradulent PayPal sites, send misunderstood texts to your girlfriends' parents, and prevent all of these real-world examples!!
</p>
<p>
ᴜɴɪᴄᴏᴅᴇ. ؟؟Can you really afford to not tap into this power??
</p>
<h4>Zichuan Wei - Quantum Computers: what they are and what they can do</h4>
<p>
Recently, quantum computing is getting a lot attention and companies like Google, IBM and Microsoft are investing millions of dollars into the field. What is it? and Why people are willing to spend so much money on it? This talk aims to partially answer these questions.
</p>
</abstract>
</eventitem>
<eventitem date="2018-11-12" time="5:30 pm" room="MC-4063"
title="Netplay in emulators">
<short>
<p>
Professor Gregor Richards will be talking about netplay in emulators, which allows for playing video games over the internet.
</p>
</short>
<abstract>
<h3>Abstract:</h3>
<p>
You've got a game, but you didn't write it. You're running it by emulating the machine it was meant to run on, and the machine it was meant to run on never had support for networking. Now, you want to play with your friend, over the Internet. Oh, and it's not acceptable to incur any latency between your controller and the game while we're at it. Surely that can't be possible, right? Wrong. This talk will discuss the re-emulation technique for netplay used commercially by a system called GGPO and freely in an emulator frontend called RetroArch, and how similar techniques can be applied to make networking work in other scenarios it was never meant for. This will be an unprepared, impromptu talk with no slides, so it should either be a fascinating dive into a little-heard-of technique, or an impenetrable mess of jargon and algorithms. Either way, it should be fun.
</p>
<p>
Prof. Richards is the maintainer of the netplay infrastructure for RetroArch, a popular emulator frontend for multiple platforms.
</p>
</abstract>
</eventitem>
<eventitem date="2018-11-05" time="5:30 pm" room="MC-4063"
title="[Cancelled] BBC micro:bit computer: What is it good for?">
<short>
<p>
Professor Richard Mann will be talking about the BBC micro:bit, an embedded computer that is popular with hobbyists and comes with a variety of peripherals.
</p>
</short>
<abstract>
<p>This talk was cancelled. The material for the talk can be found <a href="http://www.cs.uwaterloo.ca/~mannr">here.</a></p>
<h3>Abstract:</h3>
<p>
BBC micro:bit (microbit.org) was introduced in 2015 and has since become popular with educators and hobbyists.
</p><p>
Micro:bit uses an ARM Cortex M0 processor running the "mbed" OS/runtime (mbed.arm.com). It has a built in LED 7x7 array, two buttons, compass, accelerometer, infra red transceivers, and low power wireless communication. Most importantly, it has multiple analog and digital pins to connect to the external world.
</p><p>
Web based tools compile gui/blocks, javascript, or python to executable (HEX) files that run on the device. The device appears as a USB drive. It is programmed by copying (dragging) the HEX image to the device. Once programmed, the device runs standalone and communicates with the the host computer via a serial port API.
</p><p>
All of this is great fun and a gateway into electronics and real time programming.
</p><p>
In this talk I will present a brief introduction to micro:bit, electronics, and electronic signal measurement (voltmeter, function generator, oscilloscope).
</p><p>
We will measure the run time performance of the micro:bit, in particular the operation of the analog inputs and outputs and the response time/latency of the device and consider its suitability for user interface, music and audio projects.
</p>
<h3>Bio:</h3>
<p>
Richard Mann is Associate Professor in Computer Science. His research is in AI, Sound/Audio, Acoustics, and Electro/acoustic measurement. Details at www.cs.uwaterloo.ca/~mannr
</p><p>
In W19 I will teach: CS489 -- Advanced topics, Computational Sound and Audio. This is a project-based course (no final).
</p><p>
I am also looking for URA students in the Sound/Audio area.
</p>
</abstract>
</eventitem>
<eventitem date="2018-10-29" time="5:30 pm" room="QNC-1506"
title="Gloves 101">
<short>
<p>
Make touchscreen gloves with the CS Club on October 29, 5:30 PM in QNC 1506.
</p>
</short>
<abstract>
<p>
Do you have a pair of favorite gloves that you wish you could use with your phone? Do you not have that but have always wondered how touchscreen gloves work? Join us on Monday Oct 29th 5:30-6:30pm at QNC1506 to learn how you can make your own pair of touchscreen gloves! Fatema Boxwala will be teaching a hands-on workshop with all materials provided (but you can also totally bring your own). Come and learn a super easy introduction to wearable electronics and sewing!
</p>
</abstract>
</eventitem>
<eventitem date="2018-10-22" time="5:30 pm" room="MC-3003"
title="Unix 101">
<short>
<p>
Learn the basics of UNIX with the CS Club on October 22, 5:30 PM in MC 3003.
</p>
</short>
<abstract>
<p>
Interested in Unix, but dont know where to start? Then come learn some
basic topics with us including interaction with the command line, motivation
for using it, some simple commands, and more. This event targets first years
with minimal Unix experience.
</p>
<p>
Light refreshments and snacks will be provided.
</p>
</abstract>
</eventitem>
<eventitem date="2018-10-18" time="6:30 pm" room="EV3-1408"
title="Code Party 0">
<short>
<p>
The CS Club is hosting our first Code Party of the term from 6:30pm until ~9:30pm in EV3-1408, on Thursday October 18.
</p>
</short>
<abstract>
<p>
The CS Club is hosting our first Code Party of the term from 6:30pm until ~9:30pm in EV3-1408, on Thursday October 18.
</p>
<p>
Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework projects you need to finish? Or want some time to explore some new technology and chat about it? You can join us at Code Party 0 and do it, with great company and great food.
</p>
<p>
Come any time after 6:30pm.
</p>
</abstract>
</eventitem>
<eventitem date="2018-10-15" time="5:30 pm" room="DC 1302"
title="Data Driven UIs, Incrementally">
<short>
<p>
Jane Street's Yaron Minsky is coming to Waterloo to give a talk aimed at undergraduate students.
</p>
</short>
<abstract>
<p>
Jane Street's Yaron Minsky is coming to Waterloo to give a talk aimed at
undergraduate students. The talk titled Data Driven UIs, Incrementally
will be held in DC 1302 on Oct. 15th 5:30-6:30pm. Yaron Minsky got his
BA in Mathematics from Princeton and his PhD in Computer Science from
Cornell, where he studied distributed systems. He joined Jane Street in
2003, where he started out developing quantitative trading strategies,
going on to found the firm's quantitative research group. Here's a brief
description of the talk:
</p>
<p>
Trading in financial markets is a data-driven affair, and as such, it
requires applications that can efficiently filter, transform and
present data to users in real time.
</p>
<p>
But there's a difficult problem at the heart of building such
applications: finding a way of expressing the necessary
transformations of the data in a way that is simultaneously easy to
understand and efficient to execute over large streams of data.
</p>
<p>
This talk will show how we've approached this problem using
Incremental, an OCaml library for constructing dynamic computations
that update efficiently in response to changing data. We'll show how
Incremental can be used throughout the application, from the servers
providing the data to be visualized, to the JavaScript code that
generates DOM nodes in the browser. We'll also discuss how these
applications have driven us to develop ways of using efficiently
diffable data structures to bridge the worlds of functional and
incremental computing.
</p>
</abstract>
</eventitem>
<eventitem date="2018-10-03" time="7:00 pm" room="Columbia Lake Firepit 2"
title="CSC &amp; WiCS &amp; MathSoc go outside!">
<short>
<p>
We will be having a bonfire this Wednesday, Oct 3rd 7-10pm, at Columbia Lake Firepit 2 (NW of CIF), co-hosted with WiCS and MathSoc. Smores and snacks will be provided!
</p>
</short>
<abstract>
<p>
We will be having a bonfire this Wednesday, Oct 3rd 7-10pm, at Columbia Lake Firepit 2 (NW of CIF), co-hosted with WiCS and MathSoc. Smores and snacks will be provided!
</p>
<p>
Here's a map that shows the firepit location: <a href="https://uwaterloo.ca/economics/sites/ca.economics/files/uploads/files/firepit_map_oct_2012.pdf">https://uwaterloo.ca/economics/sites/ca.economics/files/uploads/files/firepit_map_oct_2012.pdf</a>
</p>
</abstract>
</eventitem>
<!-- Spring 2018 -->
<eventitem date="2018-07-17" time="6:00 pm" room="MC 4041"
title="Sound: From microphones to speakers and everything inbetween">
<short>
<p>
The CSC will be hosting a Prof Talk by Richard Mann.
</p>
</short>
<abstract>
<p>
The CSC will be hosting a Prof Talk by Richard Mann.
</p>
<p>
When you hit record on your phone how is the sound recorded? Air pressure changes come to a microphone, which converts electricity to voltage. The analog signal is digitized by an analog to digital converter (ADC), and finally stored as a digital file in memory. For playback, the process is reversed, and output to head phones or a (tiny) speaker.</p>
<p>
In a loud room does your phone distort? Can you hear the sound clearly? Phones are getting better. But what is needed to achieve professional quality sound recording?</p>
</abstract>
</eventitem>
<eventitem date="2018-07-11" time="6:00 pm" room="STC 0010"
title="Capture the Flag">
<short>
<p>
Test your programming, web, networking, and trivia skills in this computer security themed contest. Learn how to reverse engineer, crack codes, find flaws in websites, and use security tools.
</p>
</short>
<abstract>
<p>
Test your programming, web, networking, and trivia skills in this computer security themed contest. Learn how to reverse engineer, crack codes, find flaws in websites, and use security tools.
</p>
<p>Play as an individual, a team of up to three, or join a team at the event.</p>
<p> Bring your laptops, have fun, win prizes!</p>
<p>Run by Capture The Flag Club in partnership with CACR and the CS Club.</p>
<p>See http://ctf.uwaterloo.ca/ for more info!</p>
</abstract>
</eventitem>
<eventitem date="2018-07-04" time="6:00 pm" room="MC 4058"
title="Alt-Tab">
<short>
<p>
Come hear 10-15 minutes talks from CSC members on a variety of topics.
</p>
</short>
<abstract>
<p>
Come hear 10-15 minutes talks from CSC members on a variety of topics. Currently planned talks include:
</p>
<ul>
<li>Abstract Machines, what a PL person thinks a computer looks like!</li>
<li>Rendering with Signed Distance Fields</li>
<li>Strength, weaknesses, and applications of genetic algorithms</li>
</ul>
<p>
Interested in talking? Email djauhar@edu.uwaterloo.ca with your title and
a short abstract.
</p>
</abstract>
</eventitem>
<eventitem date="2018-06-04" time="6:00 pm" room="Laurel Creek Firepit"
title="CSC and WiCS Go Outside">
<short>
<p>
Come join us for a bonfire outside at the Laurel Creek firepit (across Ring. Rd. from EV3) with fellow CSC and WiCS members. Smores and snacks will be provided.
</p>
</short>
<abstract>
<p>
Come join us for a bonfire outside at the Laurel Creek firepit (across Ring. Rd. from EV3) with fellow CSC and WiCS members. Smores and snacks will be provided.
</p>
<p>
The firepit we will be using is in the bottom right of <a href="https://uwaterloo.ca/economics/sites/ca.economics/files/uploads/files/firepit_map_oct_2012.pdf">this map.</a>
</p>
</abstract>
</eventitem>
<eventitem date="2018-05-28" time="6:30pm" room="STC 0020"
title="Code Party 0">
<short>
<p>
The CS Club is hosting our first Code Party of the term from 6:30pm until ~9:30pm in STC 0020!
</p>
<p>
Come code with us, eat some food, do some things.
</p>
</short>
<abstract>
<p>
The CS Club is hosting our first Code Party of the term from 6:30pm until ~9:30pm in STC 0020!
</p>
<p>
Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework projects you need to finish? Or want some time to explore some new technology and chat about it? You can join us at Code Party 0 and do it, with great company and great food.
</p>
<p>
Come any time after 6:30pm.
</p>
</abstract>
</eventitem>
<!-- Winter 2018 -->
<eventitem date="2018-03-28" time="6:00pm" room="MC 4020"
title="Alt-Tab: W18">
<short>
CSC will be hosting our termly Alt-Tab event, the Computer Science
version of Short Attention Span Math Seminars (SASMS) hosted by that
math club down the hall. It will be a night full of friendly talks.
</short>
<abstract>
Our current lineup includes:
<ul>
<li>Ifaz Kabir: Efficient Type Inference with Union Find</li>
<li>Jordan Garside: GraphQL and APIs</li>
<li>Ansley Peduru: Lessons Learned from Cross-Compiling Rust</li>
<li>Sean Harrap: Implementing Structs Almost From Scratch</li>
<li>Ashish Gaurav: Teaching Programs to play Simple Games</li>
<li>Jennifer Zhou: Garbage Collection Concepts</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2018-03-26" time="7:00pm" room="QNC 2502"
title="Uncode Party with WiCS">
<short>
We are having a joint Code Party with Women in Computer Science (WiCS).
This time, it's an Uncode Party, where you try to find the worst solutions
possible to programming problems that we will provide.
</short>
<abstract>
<p>An example of a good "bad" solution is
<a href="http://wiki.c2.com/?SlowSort">SlowSort</a>.
Come and write shoddy code with us and eat free food. You can work on
your assignments too. No general meeting will be bundled with this event.
</p>
</abstract>
</eventitem>
<eventitem date="2018-03-22" time="6:00pm" room="MC 4059"
title="Prof Talk with Richard Mann">
<short>
<p>Professor Richard Mann will be giving a talk on black-box testing
of audio gear. Come out to see fancy audio gear, learn more about his
Advanced Topics course in Computational Sound, and eat free food! Click
through for his abstract.</p>
</short>
<abstract>
<p>
Black box testing usually refers to computer testing, either software
or hardware.
</p>
<p>
In this talk I apply similar ideas to testing analog and digital audio
gear. For example, given an audio device, such as a guitar effects pedal,
can we stimulate the system with test signals and determine what processing
is done inside?
</p>
<p>
I will present our open source testing software to test the frequency
response, time delay and distortion in audio systems. We will show several
real world testing situations, including microphones, loud speakers,
digital keyboards, digital audio mixing boards, and guitar effects pedals.
</p>
<p>
Students are encouraged to bring their own musical instruments and/or
sound processors for testing.
</p>
<p>
Finally, I will present information about my current audio course,
CS489/689 -- Advanced Topics in Computer Science -- Computational
Sound. This is a project based course, normally offered in the Winter term.
</p>
</abstract>
</eventitem>
<eventitem date="2018-03-13" time="6:00pm" room="MC Comfy"
title="Discussion with maddog">
<short>
<p>
We'll be having a discussion session with maddog, an out-of-town speaker
from the LPI. Food will be provided, as well as good company. Come out!
</p>
</short>
<abstract>
<p>
Jon "maddog" Hall is the Executive Director of Linux International, an
association of computer users who wish to support and promote the Linux
Operating System. During his career in commercial computing which
started in 1969 (almost a half-century ago), Mr. Hall has been a
programmer, systems designer, systems administrator, product manager,
technical marketing manager, educator, and consultant.
<br/>
He has worked for such companies as Western Electric Corporation, Aetna
Life and Casualty, Bell Laboratories, Digital Equipment Corporation, VA
Linux Systems, SGI and Futura Networks (Campus Party).
<br/>
Mr. Hall is currently the CEO of OptDyn, Inc (www.optdyn.com) which
creates the Subutai(tm) suite of Open Source Peer-to-Peer Cloud
computing tools. He also works as an independent consultant, and is
involved with bringing environmentally friendly computing to emerging
marketplaces, as well as working on performance and educational issues
with Free and Open Source Software via the Linaro Association. He is
the Chairman Emeritus of wit.com
<br/>
Mr Hall has worked on many systems, both proprietary and open, having
concentrated on Unix systems since 1980 and Linux systems since 1994
(almost a quarter century ago), when he first met Linus Torvalds and
correctly recognized the commercial importance of Linux and Free and
Open Source Software.
<br/>
He has taught at Hartford State Technical College, Merrimack College
and Daniel Webster College. He still likes talking to students over
pizza and beer (the pizza can be optional).
<br/>
Mr. Hall is the author of numerous magazine and newspaper articles,
many presentations and one book, "Linux for Dummies". He currently
writes a monthly article for Linux Pro Magazine and occasionally blogs
for them on their web site.
<br/>
Mr. Hall has consulted with the governments of China, Malaysia and
Brazil as well as the United Nations and many local and state
governments on the use of Free and Open Source Software.
<br/>
Mr. Hall has served and serves on the boards of several companies,
universities and several non-profit organizations. He is currently
very active with the University of Sao Paulo's Centro Interdisciplinar
Em Tecnologias Interativas (CITI), acting as a member of their advisory
board. Mr. Hall is also the Board Chair of the Linux Professional
Institute, the world's premier Open Source Certification organization,
and is the senior advisor and co-founder of Caninos Loucos, bringing
inexpensive, locally designed and manufactured single board computers
to Brazil. He is also the President of Project Caua.
<br/>
Mr. Hall has traveled the world (over 100 countries) speaking on the
benefits of Free and Open Source Software, and received his BS in
Commerce and Engineering from Drexel University (1973), and his MSCS
from RPI in Troy, New York (1977).
</p>
</abstract>
</eventitem>
<eventitem date="2018-03-12" time="6:00pm" room="MC Comfy"
title="Programming for the 22nd Century">
<short>
<p>
We are bringing an out-of-town speaker, John "maddog" Hall, to come speak!
Come to this event, where he will be talking about changes in programming
paradigms since the invention of C, and the discussion event tomorrow.
</p>
</short>
<abstract>
<p>
Abstract: Many things have changed since the early days of programming,
but many programs are written as if they were for the machines of the 20th
century which had small memories, no cache, single core CPUs, small
address spaces. Even the definition of "performance" has changed. This
talk will investigate some of these issues and hopefully lead people to
better programming.
</p>
</abstract>
</eventitem>
<eventitem date="2018-02-07" time="5:30pm" room="QNC 1502"
title="Technical Interview Prep">
<short>
<p>
Our first workshop of the term! Fatema and Arshia will be heading a
workshop on how to prepare for technical interviews.
</p>
<p>
Got technical interviews? Come out!
</p>
</short>
<abstract>
<p>
Details and abstract TBA. So far, we're going to be meeting and going
over how to get really good at technical interviews.
</p>
<p>We will:</p>
<ul>
<li>Talk about the different kinds of programming jobs you can apply and interview for</li>
<li>Present some general advice for tech interviews</li>
<li>have sessions in parallel for software engineering, frontend engineering, security, and devops interviews</li>
</ul>
<p>
If you're in 2B or below, you'll probably find this event helpful! Anyone is welcome to attend, however.
</p>
</abstract>
</eventitem>
<eventitem date="2018-01-25" time="6:00pm" room="STC 0040"
title="Code Party 0">
<short>
<p>
Our first code party of the term! Food is sandwiches, constitution
amendments are a go, and Dr. Morton will be talking there! It'll be fun.
</p>
</short>
<abstract>
<p>
The food is sandwiches, fruit platter, and coffee! You can consume this
sustenance while:
</p>
<ul>
<li>Dr. Andrew Morton talks about an upcoming CS final year project
course!</li>
<li>We take up Constitution and Code of Conduct amendments</li>
<li>We elect someone to the position of Secretary</li>
<li>Show off any cool things we're working on, and</li>
<li>Just, like, hang out for a while (that's what code parties are
for)</li>
</ul>
<p>
Come out! There will be cool people there we promise. Like our VP Charlie
Wang.
</p>
</abstract>
</eventitem>
<eventitem date="2018-01-15" time="5:00pm" room="MC Comfy"
title="Winter 2018 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the
Winter 2018 President, Vice-President, Secretary and Treasurer.
Additionally, the Systems Administrator, Office Manager and
Librarian, CTF Club Liaison and IMAPd (fridge and snack runs)
will be appointed.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the Winter 2018
term on Monday, January 15th at 5:00pm in the MC Comfy Lounge (MC 3001).
There will be snacks at the elections, probably Timbits.
</p>
<p>
The following positions will be elected: President, Vice-President,
Treasurer and Secretary. The following positions will be appointed:
Systems Administrator (to be ratified at the meeting), Office Manager,
Librarian and IMAPd (fridge and snack runs).
</p>
<p>
If you would like to run or nominate someone for any of the elected
positions, you can put your/their name and Quest ID as well as a list
of positions on a piece of paper into the nominations box in the CSC
office (MC 3036/3037) or send an email to the Chief Returning Officer
at <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
</p>
<p>
I will periodically empty the nominations box and notify the people
nominated via their @csclub.uwaterloo.ca (or failing that,
@edu.uwaterloo.ca) email address. Please note that club officer
positions (elected positions, plus Systems Administrator) are
restricted to MathSoc social members.
</p>
<p>
Nominations will close at 5:00pm on Sunday, January 14th (24 hours
prior to the start of elections). At this time, I will publish the list
of nominations via the CSC mailing list as well as at
<a href="https://csclub.uwaterloo.ca/elections">
https://csclub.uwaterloo.ca/elections
</a>.
</p>
<p>
Voting will be done in a heads-down, hands-up manner and is restricted
to MathSoc social members. A full description of the roles and the
election procedure are listed in our Constitution, available at
<a href="https://csclub.uwaterloo.ca/about/constitution">
https://csclub.uwaterloo.ca/about/constitution.
</a>
</p>
<p>
Any questions related to the election can be directed to
<a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
</p>
</abstract>
</eventitem>
<!-- Fall 2017 -->
<eventitem date="2017-12-01" time="6:00pm" room="MC Comfy"
title="End of Term Event">
<short>
<p>
Join fellow CSC members for our end of term social. There will be food and
good company. We can grab board games from Mathsoc.
</p>
</short>
<abstract>
<p>
Join fellow CSC members for our end of term social. There will be food and
good company. We can grab board games from Mathsoc.
</p>
</abstract>
</eventitem>
<eventitem date="2017-11-23" time="6:00pm" room="STC 0010"
title="CTF Computer Networking Workshop">
<short>
<p>
Hosted in collaboration with the <a href="http://ctf.uwaterloo.ca">Univerisy of Waterloo CTF Club</a>
</p>
</short>
<abstract>
<p>
Hosted in collaboration with the <a href="http://ctf.uwaterloo.ca">Univerisy of Waterloo CTF Club</a>
</p>
</abstract>
</eventitem>
<eventitem date="2017-11-15" time="5:30 pm" room="STC 0050"
title="Code Party 1">
<short>
<p>
The CS Club is hosting our second Code Party of the term from 6:00pm until late in the evening in STC 0050!
</p>
<p>
Come code with us, eat some food, do some things.
</p>
</short>
<abstract>
<p>
The CS Club is hosting our second Code Party of the term from 5:30pm until late in the evening in STC 0050!
</p>
<p>
Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework projects you need to finish? Or want some time to explore some new technology and chat about it? You can join us at Code Party 1 and do it, with great company and great food.
</p>
<p>
Come any time after 5:30pm.
</p>
</abstract>
</eventitem>
<eventitem date="2017-11-14" time="6:00pm" room="STC 0020"
title="Capture the Flag Computing Competition">
<short>
<p>
Test your programming, web, networking, and trivial skills</p>
<p>
Learn how to reverse engineer, crack codes, and use various tools.
</p>
<p>
Win prizes!
</p>
</short>
<abstract>
<p>
Test your programming, web, networking, and trivial skills</p>
<p>
Learn how to reverse engineer, crack codes, and use various tools.
</p>
<p>
Win prizes!
</p>
</abstract>
</eventitem>
<eventitem date="2017-11-09" time="6:00 pm" room="MC 4059"
title="Alt+Tab Talks">
<short>
<p>
Come watch (or give!) interesting short talks by CS Club members.
Talks include "Dynamic programming as path finding", "What is a landing page", "Subsurface scattering" and "How to compute on a GPU", but more are welcome (email <a href="mailto:tghume@csclub.uwaterloo.ca">tghume@csclub.uwaterloo.ca</a>)! Click the link to the event detail page for more info.
</p>
</short>
<abstract>
<p>
Come watch (or give!) interesting short talks by CS Club members.
Talks include "Dynamic programming as path finding", "What is a landing page", "How to compute on a GPU" and "Subsurface scattering", but more are welcome (email <a href="mailto:tghume@csclub.uwaterloo.ca">tghume@csclub.uwaterloo.ca</a>)! There will be food.
</p>
<p>
Each talk can be 5-15 minutes long on any computer-related topic of interest.
If you're interested in giving a talk (please do!) email <a href="mailto:tghume@csclub.uwaterloo.ca">tghume@csclub.uwaterloo.ca</a>.
</p>
</abstract>
</eventitem>
<eventitem date="2017-11-02" time="7pm" room="MC 4059 and MC 4061"
title="CSC+WiCS Fall Social and Movie Night">
<short>
<p>
Join other CSC and WiCS members for a social event featuring free food, board games and a showing of Wonder Woman.
</p>
</short>
<abstract>
<p>
Join other CSC and WiCS members for a social event featuring free food, board games and a showing of Wonder Woman.
</p>
</abstract>
</eventitem>
<eventitem date="2017-10-12" time="5:30 pm" room="MC 3003"
title="Unix 101">
<short>
<p>
Interested in Linux, but don't know where to start? Come learn some
basic topics with us including interaction with the shell, motivation
for using it, some simple commands, and more! (Snacks after)
</p>
</short>
<abstract>
<p>
New to the Linux computing environment? If you seek an introduction,
look no further (you can if you want we're not the police). 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.
</p>
</abstract>
</eventitem>
<eventitem date="2017-10-05" time="6:00 pm" room="Laurel Creek Firepit"
title="CSC Goes Outside">
<short>
<p>
Come join us for a bonfire outside at the Laurel Creek firepit (across Ring. Rd. from EV3) with fellow CSC members. Smores and snacks will be provided.
</p>
</short>
<abstract>
<p>
Come join us for a bonfire outside at the Laurel Creek firepit (across Ring. Rd. from EV3) with fellow CSC members. Smores and snacks will be provided.
</p>
<p>
The firepit we will be using is in the bottom right of <a href="https://uwaterloo.ca/economics/sites/ca.economics/files/uploads/files/firepit_map_oct_2012.pdf">this map.</a>
</p>
</abstract>
</eventitem>
<eventitem date="2017-09-29" time="6:30 pm" room="M3 1006"
title="Code Party 0">
<short>
<p>
The CS Club is hosting our first Code Party of the term (Friday September 29th) from 6:30pm until late in the evening in M3 1006!
</p>
<p>
Come code with us, eat some food, do some things.
</p>
</short>
<abstract>
<p>
The CS Club is hosting our first Code Party of the term (Friday September 29th) from 6:30pm until late in the evening in M3 1006!
</p>
<p>
Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework projects you need to finish? Or want some time to explore some new technology and chat about it? You can join us at Code Party 0 and do it, with great company and great food.
</p>
<p>
Come any time after 6:30pm, there will be snacks and we'll be ordering pizza at around 7:00pm!
</p>
</abstract>
</eventitem>
<eventitem date="2017-09-22" time="6:00 pm" room="MC Comfy Lounge"
title="Fall 2017 Special Elections">
<short>
<p>
The Computer Science Club will be holding special elections
for the Spring 2017 Vice-President and Secretary.
Additionally, the Systems Administrator, Office Manager and
Librarian, CTF Club Liaison and IMPAD will be appointed.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding special elections
for the Fall 2017 term on Friday, September 22th at 6:00pm
in the MC Comfy Lounge (MC 3001).
</p>
<p>
The following positions will be elected: Vice-President and Secretary.
The following positions will be appointed:
Systems Administrator (to be ratified at the meeting),
Office Manager and Librarian, CTF Club Liaison and IMPAD.
Additionally, we will be looking for members to join the
Programme Committee.
</p>
<p>
The results of the previous election are as follows:
</p>
<ul>
<li>President: matedesc (Melissa Tedesco)</li>
<li>Treasurer: tghume (Tristan Hume)</li>
</ul>
<p>
If you would like to run or nominate someone for any of the elected positions,
you can put your name in a special box in the CSC office (MC 3036/3037)
or by sending an email to the Chief Returning Officer (Melissa)
at <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
Please note that executive positions are restricted
to MathSoc social members. We welcome the participation of first years.
</p>
<p>
Nominations will close at 6:00pm on Thursday, September 21st
(24 hours prior to the start of elections).
After that time, a list of current nominations will be sent out by email. It will also be available on the whiteboard
in the office and at
<a href="https://csclub.uwaterloo.ca/elections">https://csclub.uwaterloo.ca/elections</a>.
Voting will be done in a heads-down, hands-up manner and is restricted
to MathSoc social members. A full description of the roles and
the election procedure are listed in our Constitution,
available at
<a href="https://csclub.uwaterloo.ca/about/constitution">
https://csclub.uwaterloo.ca/about/constitution
</a>.
Any questions related to the election can be directed to
<a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
</p>
</abstract>
</eventitem>
<eventitem date="2017-09-15" time="6:00 pm" room="MC Comfy Lounge"
title="Fall 2017 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the
Spring 2017 President, Vice-President, Secretary and Treasurer.
Additionally, the Systems Administrator, Office Manager and
Librarian, CTF Club Liaison and Fridge Person will be appointed.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the
Fall 2017 term on Friday, September 15th at 6:00pm
in the MC Comfy Lounge (MC 3001).
</p>
<p>
The following positions will be elected: President, Vice-President,
Treasurer and Secretary. The following positions will be appointed:
Systems Administrator (to be ratified at the meeting),
Office Manager and Librarian, CTF Club Liaison and Fridge Person (the exact name of this position is still to be determined). Additionally, we will be looking
for members to join the Programme Committee.
</p>
<p>
If you would like to run or nominate someone for any of the elected positions,
you can put your name in a special box in the CSC office (MC 3036/3037)
or by sending an email to the Chief Returning Officer (Felix)
at <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
Please note that executive positions are restricted
to MathSoc social members. We welcome the participation of first years.
</p>
<p>
Nominations will close at 6:00pm on Thursday, September 14th
(24 hours prior to the start of elections).
After that time, a list of current nominations will be sent out by email. It will also be available on the whiteboard
in the office and at
<a href="https://csclub.uwaterloo.ca/elections">https://csclub.uwaterloo.ca/elections</a>.
Voting will be done in a heads-down, hands-up manner and is restricted
to MathSoc social members. A full description of the roles and
the election procedure are listed in our Constitution,
available at
<a href="https://csclub.uwaterloo.ca/about/constitution">
https://csclub.uwaterloo.ca/about/constitution
</a>.
Any questions related to the election can be directed to
<a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
</p>
</abstract>
</eventitem>
<!-- Spring 2017 -->
<eventitem date="2017-07-24" time="6:00 pm" room="MC Comfy"
title="End of Term Party">
<short>
<p>
Come celebrate the end of the term with us in MC Comfy!
</p>
</short>
<abstract>
<p>
Come celebrate the end of the term with us in MC Comfy! We will be serving Urban Bricks!
</p>
</abstract>
</eventitem>
<eventitem date="2017-07-18" time="5:00 pm" room="MC4040"
title="Alt-Tab: S17">
<short>
<p>
Join us for food and interesting member talks!
</p>
</short>
<abstract>
<p>
CSC's Alt-Tab is back! Join us for food and interesting member talks. The current lineup includes:
</p>
<ul>
<li>Ifaz Kabir: "The comment that took Stack Exchange down and the algorithm that could have saved them"</li>
<li>Fatema Boxwala: "Manic PXE Dream Servers"</li>
<li>Charlie Wang: TBA (Something About Typed Racket)</li>
<li>Sean Harrap: "Register Allocation With Graphs"</li>
<li>Bryan Coutts: "Vehicle Routing"</li>
<li>Reila Lee: TBA</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2017-07-15" time="10:00 am" room="CSC Office"
title="Spring Cleaning">
<short>
<p>
Join us for Spring Cleaning!
</p>
</short>
<abstract>
<p>
We will be conducting our Spring Cleaning on Saturday, July the 15th @
10:00am. We'll be clearing out some junk, mopping the floors, dusting
off the tables/shelves, and generally tidying up the place. The more
help we can get the better! If you would like to lend a hand, just come
over to the office this weekend.
</p>
</abstract>
</eventitem>
<eventitem date="2017-07-05" time="7:00 pm" room="Laurel Creek Firepit"
title="CSC and WiCS Goes Outside">
<short>
<p>
Come join Women in Computer Science and the Computer Science Club outdoors!
</p>
</short>
<abstract>
<p>
Come hang out with the Women in Computer Science and the Computer Science Club! We have Marshmallows and other
treats. Also fire. And a creek. Let's enjoy the outdoors!
</p>
</abstract>
</eventitem>
<eventitem date="2017-06-22" time="6:00 pm" room="STC 0020"
title="Code Party 0">
<short>
<p>
Join us for Code Party 0!
</p>
</short>
<abstract>
<p>
Come code with us, eat some food, do some things. Personal projects you want to work on? Homework projects
you need to finish? Or want some time to explore some new technology and chat about it? You can join us at
Code Party 0 and do it, with great company and great food.
</p>
</abstract>
</eventitem>
<eventitem date="2017-06-15" time="6:00 pm" room="MC4060"
title="Understanding machine learning - a theory perspective">
<short>
<p>
Professor Shai Ben-David will discuss the basic principles behind machine learning and how they relate to some of
the headline-making practical tools, in addition to the major research challenges and directions that address
the fast expanding scope of potential machine learning applications.
</p>
</short>
<abstract>
<p>
We are all aware that we live in the era of ("big") data. In contrast to classical scientists
that devoted much of their resources to collecting data, nowadays researchers are flooded with
data and the focus has switched to trying to make sense of and utilize the big and complex available data.
Machine learning is aimed to use computer power to do just that.
</p>
<p>
It is therefore no wonder that machine learning is currently a hot topic. Evidence is all over the map, from
NYTimes articles to being a top priority for research investments by Google, Amazon, Microsoft and Facebook.
Throughout its (short) history, machine learning has enjoyed fruitful interactions between theory and practice.
The growing awareness to its power keeps stimulating research towards new applications to the field, which in turn
spur the development of algorithms and inspire new frontiers for our theoretical pursuit.
</p>
<p>
In this talk Professor Shai Ben-David will explain the basic principles behind machine learning and how these principles relate to some
of headline-making practical tools. Ben-David will also describe some of the major research challenges and research
directions that address the fast expanding scope of potential machine learning applications.
</p>
</abstract>
</eventitem>
<eventitem date="2017-06-01" time="6:00 pm" room="MC 3003"
title="Unix 102">
<short>
<p>
Come gain some more in-depth knowledge or some less well-known tips and tricks for using the command line.
</p>
</short>
<abstract>
<p>
Finished the bash unit in CS246 and still don't see what's great about Unix?
Want to gain some more in-depth knowledge, or some less well-known tips and
tricks for using the command line? Unix 102 is the event for you! Fatema is
"kind of successful" and "knows things about Unix" and you can be too! Topics
covered will be: users, groups and permissions, ez string manipulation, additional skills, tips and tricks.
</p>
</abstract>
</eventitem>
<eventitem date="2017-05-17" time="6:00 pm" room="MC Comfy Lounge"
title="Spring 2017 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the
Spring 2017 President, Vice-President, Secretary and Treasurer.
Additionally, the Systems Administrator, Office Manager and
Librarian will be appointed.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the
Spring 2017 term on Wednesday, May 17th at 6:00pm
in the MC Comfy Lounge (MC 3001).
</p>
<p>
The following positions will be elected: President, Vice-President,
Treasurer and Secretary. The following positions will be appointed:
Systems Administrator (to be ratified at the meeting),
Office Manager and Librarian. Additionally, we will be looking
for members to join the Programme Committee.
</p>
<p>
If you would like to run or nominate someone for any of the elected positions,
you can put your name in a special box in the CSC office (MC 3036/3037)
or by sending an email to the Chief Returning Officer (Zachary)
at <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
Please note that executive positions are restricted
to MathSoc social members. We welcome the participation of first years.
A list of current nominations will be available on the whiteboard
in the office and at
<a href="https://csclub.uwaterloo.ca/elections">https://csclub.uwaterloo.ca/elections</a>.
</p>
<p>
Nominations will close at 6:00pm on Tuesday, May 16th
(24 hours prior to the start of elections).
Voting will be done in a heads-down, hands-up manner and is restricted
to MathSoc social members. A full description of the roles and
the election procedure are listed in our Constitution,
available at
<a href="https://csclub.uwaterloo.ca/about/constitution">
https://csclub.uwaterloo.ca/about/constitution
</a>.
Any questions related to the election can be directed to
<a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
</p>
</abstract>
</eventitem>
<!-- Winter 2017 -->
<eventitem date="2017-04-05" time="5:00 pm" room="STC 0060"
title="Code Party 1">
<short>
<p>
Come code with us, eat some food, do some things.
Personal projects you want to work on? Homework
projects you need to finish? Or want some time to explore
some new technology and chat about it? You can join us at Code Party 1
and do it, with great company and great food.
Come any time after 5pm, but if you come earlier your food preferences are more likely to be accounted for, and there's more time for coding!
</p>
</short>
<abstract>
<p>
Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework
projects you need to finish? Or want some time to explore
some new technology and chat about it? You can join us at Code Party 1
and do it, with great company and great food.
</p>
<p>
Come any time after 5pm, but if you come earlier your food preferences are more likely to be accounted for, and there's more time for coding!
</p>
</abstract>
</eventitem>
<eventitem date="2017-03-22" time="6:00 pm" room="MC 4045"
title="Unix 201">
<short>
<p>
A talk and demo about more advanced Unix tricks and tools than are taught in our regular Unix 101 events. Topics may include customizing your prompt, the ranger console file manager, fancy shells, htop, rsync and using terminal escape sequences in your programs.
</p>
</short>
<abstract>
<p>
A talk and demo about more advanced Unix tricks and tools than are taught in our regular Unix 101 events. Topics may include customizing your prompt, the ranger console file manager, fancy shells, htop, rsync and using terminal escape sequences in your programs.
</p>
<p>
List of things talked about can be found <a href="https://gist.github.com/trishume/fb1c80f61c9a62426a6565a9f661e449">here</a>.
</p>
</abstract>
</eventitem>
<eventitem date="2017-03-09" time="6:00 pm" room="MC 4042"
title="Alt+Tab Talks">
<short>
<p>
Come watch (or give!) interesting short talks by CS Club members.
Talks include "Stepping into math: building a step-by-step algebra solver" and "Online database migrations at scale", but more are welcome (email <a href="mailto:tghume@csclub.uwaterloo.ca">tghume@csclub.uwaterloo.ca</a>)! Click the link to the event detail page for more info. (Note: date was moved to Thursday)
</p>
</short>
<abstract>
<p>
Come watch (and/or give!) interesting short talks by CS Club members.
Talks include "How your text editor does syntax highlighting", "Online database migrations at scale", "Stitching Spaces in Subdivision Surfaces", "Theory of Computation" and "Stepping into math: building a step-by-step algebra solver", but more are welcome!
</p>
<p>
Each talk can be 5-15 minutes long on any computer-related topic of interest.
If you're interested in giving a talk (please do!) email <a href="mailto:tghume@csclub.uwaterloo.ca">tghume@csclub.uwaterloo.ca</a>.
</p>
<p>
The event was previously scheduled for Wednesday but was moved to Thursday the 9th due to a conflict with a WICS event.
</p>
</abstract>
</eventitem>
<eventitem date="2017-02-08" time="5:00 pm" room="STC 0020"
title="Code Party 0">
<short>
<p>
Come code with us, eat some food, do some things.
Personal projects you want to work on? Homework
projects you need to finish? Or want some time to explore
some new technology and chat about it? You can join us at Code Party 0
and do it, with great company and great food.
Come any time after 5pm, but if you come earlier your food preferences are more likely to be accounted for, and there's more time for coding!
</p>
</short>
<abstract>
<p>
Come code with us, eat some food, do some things.
</p>
<p>
Personal projects you want to work on? Homework
projects you need to finish? Or want some time to explore
some new technology and chat about it? You can join us at Code Party 0
and do it, with great company and great food.
</p>
<p>
Come any time after 5pm, but if you come earlier your food preferences are more likely to be accounted for, and there's more time for coding!
</p>
</abstract>
</eventitem>
<eventitem date="2017-01-12" time="6:00 pm" room="MC Comfy Lounge"
title="Winter 2017 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the
Winter 2017 President, Vice-President, Secretary and Treasurer.
Additionally, the Systems Administrator, Office Manager and
Librarian will be appointed.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the
Winter 2017 President, Vice-President, Secretary and Treasurer.
Additionally, the Systems Administrator, Office Manager and
Librarian will be appointed.
</p>
<p>
The following positions will be elected: President, Vice-President,
Treasurer and Secretary. The following positions will be appointed:
Systems Administrator (to be ratified at the meeting),
Office Manager and Librarian. Additionally, we will be looking
for members to join the Programme Committee. The nominees for the four
elected positions are:
</p>
<ul>
<li>President</li>
<tt>
<ul>
<li>matedesc</li>
<li>wyschean</li>
</ul>
</tt>
<li>Vice President</li>
<tt>
<ul>
<li>tghume</li>
<li>wyschean</li>
</ul>
</tt>
<li>Treasurer</li>
<tt>
<ul>
<li>jj2baile</li>
<li>jxpryde</li>
<li>tghume</li>
</ul>
</tt>
<li>Secretary</li>
<tt>
<ul>
<li>aafata</li>
<li>tghume</li>
</ul>
</tt>
</ul>
<p>
Voting will be done in a heads-down, hands-up manner and is restricted
to MathSoc social members. We use approval voting; for each position,
you may vote for any subset of the candidates. If you wish to vote but
will not be attending the election, you may send an absentee ballot
indicating which candidate(s) you wish to vote for, for each position.
This ballot must be sent to cro@csclub.uwaterloo.ca from your
@uwaterloo.ca or @csclub.uwaterloo.ca email address. A full
description of the roles and the election procedure are listed in our
Constitution, available at
https://csclub.uwaterloo.ca/about/constitution.
</p>
</abstract>
</eventitem>
<!-- Fall 2016 -->
<eventitem date="2016-12-05" time="6:00 PM" room="MC Comfy" title="CSC/PMC EOT Party">
<short>
<p>
The CSC and the PMAMC&amp;OC (aka pure math club) are hosting our end
of term events together! We'll be taking over MC Comfy to hang out,
eat lots of food (from Kismet!), and play board games.
</p>
</short>
<abstract>
<p>
The CSC and the PMAMC&amp;OC (aka pure math club) are hosting our end
of term events together! We'll be taking over MC Comfy to hang out,
eat lots of food (from Kismet!), and play board games.
</p>
</abstract>
</eventitem>
<eventitem date="2016-11-30" time="6:00 PM" room="MC 4063" title="ALT+TAB Talks">
<short>
<p>
Various members of the CSC will be giving brief, 25 minute talks on
CS-related topics. An list of the talks being delivered can be found
if you follow the event page link in this description. There will be
food provided.
</p>
</short>
<abstract>
<p>
The CSC is hosting ALT+TAB this Wednesday. ALT+TAB is similar to the
PMC's SASMS events; several members of the CSC will give brief, 25
minute talks on various interesting topics in CS. There will be food
provided at the event. The talks being delivered are:
<table border="1">
<tr>
<td><b>Member</b></td>
<td><b>Talk Title</b></td>
</tr>
<tr>
<td>Felix Bauckholt</td>
<td>A Short Idris Tutorial</td>
</tr>
<tr>
<td>Bryan Coutts</td>
<td>Linear and Integer Programming</td>
</tr>
<tr>
<td>Sean Harrap</td>
<td>Communication Complexity</td>
</tr>
<tr>
<td>Christopher Hawthorne</td>
<td>Gödel's Incompleteness Theorem</td>
</tr>
<tr>
<td>Charlie Wang</td>
<td>Typed Racket</td>
</tr>
<tr>
<td>Ifaz Kabir</td>
<td>How Modern SAT Solvers Work</td>
</tr>
</table>
</p>
</abstract>
</eventitem>
<eventitem date="2016-11-25" time="6:00 PM" room="MC 4063" title="Edmund Noble Member Talk">
<short>
<p>
CSC member Edmund Noble will be giving a talk, titled "Purely
Functional Programming with Freely-Generated Domain Specific
Languages". The talk will focus on embedded DSLs that exist within
other languages, and how they can easily be constructed.
</p>
</short>
<abstract>
<p>
CSC member Edmund Noble will be giving a talk, titled "Purely
Functional Programming with Freely-Generated Domain Specific
Languages". The talk will focus on embedded DSLs that exist within
other languages, and how they can easily be constructed. The abstract
for this talk is below. <br/><br/>
</p>
<p>
Dependency injection is an often-used technique in object-oriented
programming to easily modify the behaviours of an object by providing
it with objects it would have otherwise generated on its own, to
increase modularity. Aspect-oriented programming is a related
technique which adds additional behaviour ("advice") to existing code,
aiming to address cross-cutting concerns which affect wide areas of an
application without sacrificing modularity. Dependency injection
might not seem a common topic in functional programming, but
application modularity is essential to functional programming in a
practical setting. A natural analogue to dependency injection and
aspect-oriented programming in functional programming comes from a
surprising place, and offers superior modularity to both. The free
monad (F f) for a type constructor (and domain-specific language
instruction set) f provides a syntax tree with internal nodes as
domain-specific language instructions, which in combination with
coproduct functors, allow domain-specific languages to be composed and
combined easily.
<ul>
<li><a href="http://slides.com/edmundnoble/freely-generated-domain-specific-languages/fullscreen#">Slides</a></li>
<li><a href="https://github.com/edmundnoble/free-dsl">Sources</a></li>
</ul>
</p>
</abstract>
</eventitem>
<eventitem date="2016-11-21" time="6:15 PM" room="MC 4063" title="Richard Mann Prof Talk">
<short>
<p>
Professor Richard Mann will be giving a talk, titled "Open Source
Software for Sound Measurement and Analysis". He will be presenting
information about his new course, CS 489, Computational Sound, which
will be running in Winter 2017.
</p>
</short>
<abstract>
<p>
Professor Richard Mann will be giving a talk, titled "Open Source
Software for Sound Measurement and Analysis". He will be presenting
information about his new course, CS 489, Computational Sound, which
will be running in Winter 2017. The abstract for this talk is below.
<br/><br/>
</p>
<p>
The most common problem in acoustics is to measure the frequency
response of an (expensive!) listening room. While specifications
exist for the amplifiers, speakers, etc, each system must be still
evaluated individually, since the frequency response depends on the
direct sound from the speaker(s), the listener position and the
reverberation of the room. The user may spend considerable time
adjusting the speaker placement, the system equalization, and
possibly treating the room to get the best response.
</p>
<p>
There are several commercial and freeware applications for this task,
some of which are very good. However, to learn the methods the user
must understand the processing involved.
</p>
<p>
The purpose of this talk is to present an open source solution. Our
system is based on a very few lines of code, written in GNU Octave, a
Matlab(r) workalike that runs under Linux, Windows and Mac.
</p>
<p>
The program works by playing a known test signal, such a tone, or
some kind of noise source out of the sound card into the system. The
system is measured by comparing driving signal to that measured by a
microphone in the room. The frequency response is computed using the
Discrete Fourier Transform (DFT).
</p>
<p>
This is joint work with Prof. John Vanderkooy, Physics, University of
Waterloo.
</p>
</abstract>
</eventitem>
<eventitem date="2016-11-16" time="8:30 PM" room="M3 1006" title="General Meeting">
<short>
<p>
This general meeting will be held to discuss changes to our Code of
Conduct.
</p>
</short>
<abstract>
<p> The Code of Conduct and the amended version can be found below: </p>
<ul>
<li><a href="https://www.csclub.uwaterloo.ca/~exec/proposed-amendment/about/code-of-conduct">Proposed CoC</a></li>
<li><a href="https://www.csclub.uwaterloo.ca/~exec/proposed-amendment.patch">Diff between current and proposed CoC</a></li>
</ul>
</abstract>
</eventitem>
<eventitem date="2016-11-16" time="6:30 pm" room="M3 1006" title="Code Party">
<short>
<p>
Come code with us, eat some food, do some things.
Personal projects you want to work on? Homework
projects you need to finish? Or want some time to explore
some new technology and chat about it? You can join us at Code Party
and do it, with great company and great food.
</p>
</short>
</eventitem>
<eventitem date="2016-11-09" time="6:00 pm" room="MC 3003"
title="UNIX 101">
<short>
<p>
The CSC is having its next event, UNIX 101, on Wednesday November 9th
at 6 PM in MC 3003 (the mac lab across from the CSC). UNIX 101 is a
tutorial where we teach the basics of using a command-line (terminal)
environment in UNIX. Knowing how to use the command-line and UNIX is
an invaluable skill in CS, and helps prepare you for future projects
and co-ops.
</p>
</short>
<abstract>
<p>
The CSC is having its next event, UNIX 101, on Wednesday November 9th
at 6 PM in MC 3003 (the mac lab across from the CSC). UNIX 101 is a
tutorial where we teach the basics of using a command-line (terminal)
environment in UNIX. Knowing how to use the command-line and UNIX is
an invaluable skill in CS, and helps prepare you for future projects
and co-ops.
</p>
</abstract>
</eventitem>
<eventitem date="2016-10-18" time="5:30 pm" room="QNC 1507"
title="Feminism in STEM - a 101 Panel">
<short>
<p>An introductory feminism in STEM panel, free food.</p>
</short>
<abstract>
<p>
The CS Club is hosting an introductory panel for applications and benefits of feminism in STEM.
Example topics will include the differences between general feminism and feminism applied to STEM.
Dr. Prabhakar Ragde from SCS, Swetha Kulandaivelan, and Filzah Nasir will be speaking on the panel. Fatema Boxwala will be moderating.
Free food will be there and we're in a fancy room. Come on out!
</p>
</abstract>
</eventitem>
<eventitem date="2016-10-13" time="6:00 pm" room="Columbia Lake 2 Fire Pit"
title="CSC and WiCS Go Outside">
<short>
<p>
The CSC and WiCS (Women in Computer Science) are co-hosting a social
event on Thursday, October 13th (the day after reading week). We will
be Going Outside to the Columbia Lake 2 Fire Pit; there will be a
campfire, s'mores, lots of food, frisbees, grass, etc. Bring your
friends!
</p>
</short>
<abstract>
<p>
The CSC and WiCS (Women in Computer Science) are co-hosting a social
event on Thursday, October 13th (the day after reading week). We will
be Going Outside to the Columbia Lake 2 Fire Pit (see
<a href='https://uwaterloo.ca/economics/sites/ca.economics/files/uploads/files/firepit_map_oct_2012.pdf'>map</a>).
There will be a campfire, s'mores, lots of food, frisbees, grass, etc. Bring your friends!
</p>
</abstract>
</eventitem>
<eventitem date="2016-10-06" time="6:00 pm" room="MC 4021"
title="Bringing OOP Best Practices to the World of Functional Programming">
<short>
<p>
The CSC will have its first talk of the term this Thursday, October
6th. UW alumna and CSC member Elana Hashman will be giving a talk on
using functional programming languages (like Racket!) in industry, and
how some concepts from the more common object-oriented paradigm are
translated to the functional paradigm. The abstract for the talk is below.
</p>
</short>
<abstract>
<p>
I transitioned from writing software in imperative, object-oriented
(OO) programming languages to doing functional programming (FP)
full-time, and you can do it, too! In this talk, I'll make a case for
using FP for real-world development, cover some cases where common FP
language features substitute for design patterns and OOP structure,
and provide some examples of translating traditional OO design
patterns into functional code.
</p>
</abstract>
</eventitem>
<eventitem date="2016-09-19" time="6:30 pm" room="MC Comfy Lounge"
title="Fall 2016 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the
Fall 2016 President, Vice-President, Secretary and Treasurer.
Additionally, the Systems Administrator, Office Manager and
Librarian will be appointed.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the
Fall 2016 term on Monday, September 19th at 6:30pm
in the MC Comfy Lounge (MC 3001).
</p>
<p>
The following positions will be elected: President, Vice-President,
Treasurer and Secretary. The following positions will be appointed:
Systems Administrator (to be ratified at the meeting),
Office Manager and Librarian. Additionally, we will be looking
for members to join the Programme Committee.
</p>
<p>
If you would like to run or nominate someone for any of the elected positions,
you can put your name in a special box in the CSC office (MC 3036/3037)
or by sending an email to the Chief Returning Officer (Zachary)
at <a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
Please note that executive positions are restricted
to MathSoc social members. We welcome the participation of first years.
A list of current nominations will be available on the whiteboard
in the office and at
<a href="https://csclub.uwaterloo.ca/elections">https://csclub.uwaterloo.ca/elections</a>.
</p>
<p>
Nominations will close at 6:30pm on Sunday, September 18th
(24 hours prior to the start of elections).
Voting will be done in a heads-down, hands-up manner and is restricted
to MathSoc social members. A full description of the roles and
the election procedure are listed in our Constitution,
available at
<a href="https://csclub.uwaterloo.ca/about/constitution">
https://csclub.uwaterloo.ca/about/constitution
</a>.
Any questions related to the election can be directed to
<a href="mailto:cro@csclub.uwaterloo.ca">cro@csclub.uwaterloo.ca</a>.
</p>
</abstract>
</eventitem>
<!-- Spring 2016 -->
<eventitem date="2016-07-25" time="6:00 pm" room="MC Comfy Lounge"
title="Richard Mann Prof Talk and EOT">
<short>
<p>
Join us on Monday, July 25th at 6pm in the MC Comfy Lounge for an
exciting prof talk by Richard Mann on Open Source Computer Sound
Measurement. The abstract for the talk is below. We will follow
this up by an EOT event with dinner and board games!
Last event of the term, get hype.
</p>
</short>
<abstract>
<p>
An ideal computer audio system should faithfully reproduce signals of
all frequencies in the audible range (20 to 20,000 cycles per second).
Real systems, particularly mobile devices and laptops, may still
produce acceptable quality, but often have a limited response,
particularly at the low (bass) frequencies.
Sound/acousic energy refers to time varying pressure waves in air.
When recording sound, the acoustic signal will be picked up by
microphone, which converts it to electrical signals (voltages). The
signal is then digitized (analog to digital conversion) and stored as
a stream of numbers in a data file. On playback the digital signal is
converted to an electrical signal (digital to analog conversion) and
finally returned as an acoustic signal by a speaker and/or headphones.
In this talk I will present open source software (Octave/Linux) to
measure the end-to-end frequency response of an audio system using the
Discrete Fourier Transform. I will demonstrate the software using a
standard USB audio interface and a consumer grade omnidirectional
microphone.
This is joint work with John Vanderkooy, Distinguished Professor
Emeritus, Department of Physics and Astronomy.
</p>
</abstract>
</eventitem>
<eventitem date="2016-07-21" time="6:00 pm" room="MC 4045"
title="Notorious CS452">
<short>
<p>
Bill Cowan is the Director of the Computer Graphics Lab, and
teaches the notorious CS452, lovingly known as the trains course
by CS students. He will be giving a talk on that very course.
</p>
</short>
<abstract>
<p>
CS452, aka the trains course, has for some time enjoyed notoriety
as a playground for over-achieving masochists. To maintain its
reputation it receives a periodic upgrade, which is now due. This
talk discusses possible directions for the upgrade in the context
of the philosophy that has guided its evolution over the decades
of its existence.
</p>
</abstract>
</eventitem>
<eventitem date="2016-07-14" time="6:30 pm" room="MC 2034"
title="Computer Science: Beyond Bits and Bytes">
<short>
<p>
Gladimir Baranoski is an Associate Professor at the School of Computer Science, in the
Natural Phenomena Simulation Group. He will be giving a talk on underappreciated
facets of computer science and its connections to other disciplines.
</p>
</short>
<abstract>
<p>
Talk Abstract: Computer science is often perceived to be confined to
traditional areas such as operating systems, programming languages,
compilers and so on. Viewed in this context, ones professional future
in this field seems to be directly linked to the accumulation of knowledge
and practical experience in these areas. Although their importance is
undeniable, it is also possible, and highly recommended, to expand ones
horizons. In this talk, we are going to informally look at ubiquitous,
albeit sometimes underappreciated, facets of computer science and its
synergistic connections to other disciplines. We are also going to discuss
how creativity and serendipity can impact ones career and lead to tangible
contributions in physical and life sciences.
</p>
</abstract>
</eventitem>
<eventitem date="2016-07-11" time="7:00 pm" room="BMH Green"
title="WiCS and CSC Go Outside!">
<short>
<p>
Join us at BMH Green for a night outdoors with fellow people in Computer Science!
There will be ice cream and board games and frisbees and maybe some water guns.
Bring your friends!
</p>
</short>
</eventitem>
<eventitem date="2016-06-08" time="6:00 pm" room="MC 5479"
title="scp talks">
<short>
<p>
Listen to cool 15-20 lightning talks by CSC members on a variety of
computer science and related topics.
</p>
</short>
<abstract>
<p>
Come on out to the CSC Short Contemplation Period Talk night on Wednesday,
featuring many short (20 minute) talks from our members. From Automata to
Zip files, any topic is welcome. Come on out and give a talk, or just
learn things. Talks start at 6:00PM and runs till 9, with a break for
dinner, which will be provided.
</p>
</abstract>
</eventitem>
<eventitem date="2016-06-02" time="6:30 pm" room="STC 0010"
title="Code Party 0">
<short>
<p>
Come code with us, eat some food, do some things.
Personal projects you want to work on? Homework
projects you need to finish? Or want some time to explore
some new technology and chat about it? You can join us at Code Party 0
and do it, with great company and great food.
</p>
</short>
</eventitem>
<eventitem date="2016-05-25" time="6:00 pm" room="MC 3036 (CSC Office)"
title="CSC Does Spring Cleaning">
<short>
<p>
Come out and help make the office slightly less messy! We will bribe...
uh, provide you with food for helping. :)
</p>
</short>
<abstract>
<p>
It's that time of the year - spring cleaning. And if you haven't noticed,
our office needs it. Help us clean it and we will give you food to eat.
Pretty good deal if you ask me.
</p>
<p>
Our office manager will also be providing office training to interested
members before the event.
</p>
</abstract>
</eventitem>
<eventitem date="2016-05-12" time="7:00 pm" room="MC 3001 (Comfy)"
title="Spring 2016 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the Spring 2016
for President, Vice-President, Secretary, and Treasurer. Additionally,
librarian, office manager, sysadmin, and fridge regent will be appointed
and ratified.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the Spring 2016
term on Thursday, May 12th at 19:00 in the MC Comfy (MC 3001). During
the meeting, the president, vice-president, treasurer and secretary will
be elected, the sysadmin will be appointed and ratified, and the
librarian and office manager will be appointed. There may be timbits.
</p>
<p>
If you'd like to run for any of these positions or nominate someone, you
can put your name in a special box on top of the fridge in the CSC
office (MC 3036/3037) or send me (Patrick) an email at cro@csclub
uwaterloo.ca. It is highly recommended to send me an email in addition
to nominating yourself by paper in the office. You can also deposit
nominations in the CSC mailbox in MathSoc or present them to me in person.
Nominations will close at 19:00 on Wednesday, May 11th (24 hours
before the start of elections).
</p>
<p>
Voting is done heads-down hands-up, and is restricted to Mathsoc social
members.
</p>
<p>
For the part of the constitution pertaining to elections,
see http://csclub.uwaterloo.ca/about/constitution#officers
</p>
<p>
All members are welcome to run! Especially new members and anyone
interested in being a new exec! Most of the roles have a small guide on
the wiki at https://wiki.csclub.uwaterloo.ca/Exec_Manual and I will
print out a hard copy of a more comprehensive exec manual and bind it myself, I swear.
</p>
</abstract>
</eventitem>
<!-- Winter 2016 -->
<eventitem date="2016-04-04" time="5:00 pm" room="MC Comfy"
title="On Surrounding a Polygon">
<short>
<p>Come out to a talk on surrounding a polygon by Dr. Craig Kaplan! Also stay afterwards for our EOT and socialize :) food will be provided!
</p>
</short>
<abstract>
<p>
Come out to a talk on surrounding a polygon by Dr. Craig Kaplan! Also stay afterwards for our EOT and socialize :) food will be provided!
The prof talk will be on Surrounding a Polygon:
Dr. Craig Kaplan will explore the problem of surrounding a polygon with copies of itself. This problem raises a number of fascinating mathematical questions, and we can use software as an experimental tool to probe the answers to those questions.
<p></p>
He'll also present known mathematical and computational results related to surrounds of polygons, and discuss what they say about larger open questions in tiling theory. Finally, he will also show how the task of surrounding individual polygons can make for fun and challenging puzzles, and say a bit about his experience creating an app based on those puzzles.
</p>
</abstract>
</eventitem>
<eventitem date="2016-03-29" time="6:00 pm" room="MC 4021"
title="SASMS Style Talk Night">
<short>
<p>The CSC is hosting the first annual member talk series! This is a chance for anyone to come and give a short talk on any relevant topic.
Some talks already arranged are on topics ranging from modern Javascript, to the Linux Kernel.</p>
</short>
<abstract>
<p>
The CSC is hosting the first annual member talk series. This is a chance for anyone to come and give a short talk on any relevant topic.
We already have some talks arranged, on topics ranging from modern JavaScript, and the Linux Kernel. More speakers are welcome. If you are interested, please email tbelaire@uwaterloo.ca or signup here:http://goo.gl/forms/zNYbDEQSFU
There will be a break for food halfway through.
</p>
</abstract>
</eventitem>
<eventitem date="2016-03-23" time="6:00 pm" room="QNC 1502"
title="SAT and SMT Solvers for Software Engineering and Security">
<short>
<p>A talk about SAT and SMT Solvers for Software Engineering and Security by Dr. Vijay Ganesh</p>
</short>
<abstract>
<p>
Boolean SAT and SMT solvers increasingly play a central role in the construction of reliable and secure software, regardless of whether such reliability/security is ensured through formal methods, program analysis or testing. This dramatic influence of solvers on software engineering as a discipline is a recent phenomenon, largely attributable to impressive gains in solver efficiency and expressive power. Dr. Vijay Ganesh will motivate the need for SAT and SMT solvers, sketch out their research story thus far, and then describe his contributions to solver research. Specifically, he will talk about a SAT solver called MapleCMS, and a string SMT solver, called Z3str2, developed in his lab. He will also talk about real-world applications enabled by his solvers, and the techniques he developed that helped make them efficient.
</p>
</abstract>
</eventitem>
<eventitem date="2016-03-16" time="6:00 pm" room="MC3003"
title="Git 102">
<short>
<p>Git 102 : Why you learned git in the first place. </p>
</short>
<abstract>
<p>
Learn how to manage multiple remotes, for those times when GitHub goes down. Then learn what to do when you accidentally overwrite your source code! Only basic git knowledge is assumed.
</p>
</abstract>
</eventitem>
<eventitem date="2016-03-09" time="6:30 pm" room="MC4058"
title="Steve Bourque and Mike Patterson Network Infrastructure talk">
<short>
<p>
Steve Bourque and Mike Patterson of IST will give a brief overview of campus network connectivity and interconnectivity.</p>
</short>
<abstract>
<p>
Steve Bourque and Mike Patterson of IST will give a brief overview of campus network connectivity and interconnectivity. Steve will describe the general connections, and Mike will talk about specific security measures in place. We'll have refreshments!
</p>
</abstract>
</eventitem>
<eventitem date="2016-03-03" time="6:00 pm" room="MC Comfy"
title="Tea and Study">
<short>
<p>
It's midterms season, and everyone has to study. So why not come study with the CS Club? Everyone welcome, especially new members!
There will be tea and delicious snacks and outlets. Plus our delightful company.
See you there!
</p>
</short>
<abstract>
<p>
Come join CSC at our Tea and Study event! Everyone welcome, especially new members!
There will be tea and delicious snacks and outlets. Plus our delightful company.
</p>
</abstract>
</eventitem>
<eventitem date="2016-02-10" time="6:30 pm" room="MC Comfy"
title="Movie Night: Big Hero 6">
<short>
<p>
Movie Night! Come watch "Big Hero 6" with the CSC!
</p>
</short>
<abstract>
<p>
Come watch "Big Hero 6" with the Computer Science Club this wednesday the 10th at 6:30 PM in the MC Comfy Lounge.
Why "Big Hero 6"? It's an award-winning animated Disney movie involving an inflatable robot fighting evil in "San Frasokyo". Enough said.
</p>
</abstract>
</eventitem>
<eventitem date="2016-02-04" time="6:00 pm" room="STC 0010"
title="Code Party">
<short>
<p>
The CS Club is having its termly code party! Come out and work on projects, assignments, and more. Food is provided!
</p>
</short>
<abstract>
<p>
Want help installing Linux? Bring a USB, we'll help you.
Want to work on a project, CS homework, or an IRC bot? Come over, we'll have food.
Want to see what it's like to be in the new STC? Plugs at every desk, I'm telling you.
(This term it's going to be in the new STC not in the comfy. We're going for some adventure this term.)
</p>
<p>
Be there, we'll have dinner!
</p>
</abstract>
</eventitem>
<eventitem date="2016-01-28" time="6:00 pm" room="MC 3003"
title="Unix 101">
<short>
<p>
Interested in Linux, but don't know where to start? Come learn some
basic topics with us including interaction with the shell, motivation
for using it, some simple commands, and more! (Cookies after)
</p>
</short>
<abstract>
<p>
New to the Linux computing environment? If you seek an introduction,
look no further (you can if you want we're not the police). 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="2016-01-23" time="11:00 AM" room="TBA"
title="Eth1: Jane Street Competition">
<short>
<p>
eth1: a day-long programming contest. Form teams and hack
together a trading bot to compete against others and the markets.
</p>
</short>
<abstract>
<p>
eth1: a day-long programming contest. Form teams and hack together a trading bot to compete against others and the markets.
</p>
<p>
Brought to you by: CSC and Jane Street.
</p>
<p>
Each member of the winning team will receive $1000 USD.
</p>
<p>
There'll be lots of (free) food and drink available.
</p>
<p>
Absolutely no special math, OCaml, or finance knowledge is required; you can use any language you like. The contest is entirely technical in nature and you won't need any visual design skills.
</p>
<p>
The exact details of the hackathon aren't released until the competition begins. The one thing you can do ahead of time to prepare is familiarize yourself with the libraries for writing TCP clients in your programming language of choice.
</p>
<p>
<a href="https://docs.google.com/a/janestreet.com/forms/d/1I7UukJDH9ZAVWpLl-2vwmvPWzbWBFjj8g973hidn8eE/viewform">Sign up!</a>
</p>
<p>
The contest will be on Saturday, January 23rd, from 11:00AM - 11:00PM. Signups will close on Monday, January 18th at 11:59PM, and we'll send out confirmations to participants on the 20th.
</p>
<p>
For any other queries, email: eth1-waterloo@janestreet.com
</p>
<p>
Further details will be announced closer to the event. Teams of up to three will be accepted, but you don't have to have a team to sign up — feel free to turn up as a singleton and we'll form teams on the fly.
</p>
</abstract>
</eventitem>
<eventitem date="2016-01-14" time="19:00" room="MC 3001 (Comfy)"
title="Winter 2016 Elections">
<short>
<p>
Interested in Linux, but don't know where to start? Come learn some
basic topics with us including interaction with the shell, motivation
for using it, some simple commands, and more! (Cookies after)
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the Winter 2016
term on Thursday, January 14th in MC Comfy (MC 3001) at 19:00. During
the meeting, 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>
If you'd like to run for any of these positions or nominate someone, you
can write your name on the whiteboard in the CSC office (MC 3036/3037) or
send me (Charlie) an email at cro@csclub.uwaterloo.ca. Every effort will
be made to note down whiteboard nominations, but it is highly recommended
to send me an email in addition to writing on the whiteboard. You can
also deposit nominations in the CSC mailbox in MathSoc or present them to
me in person. Nominations will close at 18:00 on Wednesday, January 13th.
All members are welcome to run!
</p>
</abstract>
</eventitem>
<!-- Fall 2015 -->
<eventitem date="2015-11-27" time="7:30 PM" room="MC Comfy"
title="WiCS and CSC watch War Games!">
<short>
<p>
WiCS and CSC are watching War Games in the Comfy lounge.
</p>
</short>
<abstract>
<p>
WiCS and CSC are watching War Games in the Comfy lounge.
</p>
<p>
War Games is this movie where these kids phone a computer and then the computer wants to nuke things.
Cold war stuff. Nowadays computers won't let you do that, you have to SSH in instead.
</p>
<p>
We're bringing food. Gluten-free, vegetarian options available. Sandwiches, drinks, and popcorn!
</p>
<p>
Everyone welcome! Stop by!
</p>
</abstract>
</eventitem>
<eventitem date="2015-11-26" time="5:00-7:00 PM" room="MC 4063"
title="An Introduction to Google's FOAM Framework">
<short>
<p>
An introduction to Google's FOAM framework, an open-source modeling
framework written in Javascript, by Google's Kevin Greer.
</p>
</short>
<abstract>
<p>
FOAM is an open-source modeling framework written in Javascript. With FOAM,
you can create Domain Specific Languages (DSLs), which are high-level
models that can be interpreted or compiled to different languages or
environments (Java/Android, Swift/iOS, and JS/Web). Currently, it supports
DSLs for entities/classes, parsers, animations, database queries,
interactive documents, and, most importantly, new DSLs.
</p>
<p>
FOAM supports building text, HTML, and graphical views for DSLs using a
small Model View Controller (MVC) library, which is itself modeled with
FOAM. This library can also be used by modeled Javascript applications.
</p>
<p>
FOAM increases developer productivity by allowing them to express
solutions at a higher, more succinct level. The MVC library also
increases application performance through its efficient data-binding,
caching, and query-optimization mechanisms.
</p>
<p>
Learn more at http://foamdev.com
</p>
<p>
You can get in contact with Kevin Greer on twitter,
<a href="https://twitter.com/kgrgreer">@kgrgreer</a>.
</p>
</abstract>
</eventitem>
<eventitem date="2015-11-23" time="6:00 PM" room="MC 4041"
title="'Static Analysis and Program Optimization Using Dataflow Analysis'">
<short>
<p>
An introduction to some basic issues with optimization of imperative
programs, by Sean Harrap
</p>
</short>
<abstract>
<p>
An introduction to some basic issues with optimization of imperative
programs by Sean Harrap, beginning with traditional methods such as tree
traversals.
</p>
<p>
This will be followed by a more powerful solution to these problems,
providing an overview of its mathematical foundations, and then
describing how it can be used to express optimizations simply and elegantly.
</p>
<p>
Some familiarity with the second year CS core (CS245, CS241, MATH239)
will be assumed.
</p>
</abstract>
</eventitem>
<eventitem date="2015-11-19" time="7:00-8:00 PM" room="MC 4020"
title="'Git 101'">
<short>
<p>
Learn how to use Git properly in an exciting talk by Charlie Wang!
</p>
</short>
<abstract>
<p>
git init, git add, git commit, git 'er done!
</p>
<p>
In Git 101, Charlie Wang will convince you to use Git for your projects and
show you a high level overview of how to use it properly.
</p>
<p>
This talk is recommended for CS 246 students.
</p>
<p>
Come for the tutorial, stay for the bad jokes.
</p>
</abstract>
</eventitem>
<eventitem date="2015-10-16" time="7:00 PM" room="ML Theatre of the Arts"
title="Cory Doctorow - The War on General Purpose Computing">
<short>
Between walled gardens, surveillance agencies, and political opponents,
no matter who's winning the war on general purpose computing you're
losing. The Computer Science Club will be hosting Cory Doctorow's talk
in the Theatre of the Arts on October 16.
</short>
<abstract>
<p>
No Matter Who's Winning the War on General Purpose Computing, You're Losing
</p>
<p>
If cyberwar were a hockey game, it'd be the end of the first period and
the score would be tied 500-500. All offense, no defense.
</p>
<p>
Meanwhile, a horrible convergence has occurred as everyone from car
manufacturers to insulin pump makers have adopted the inkjet printer
business model, insisting that only their authorized partners can make
consumables, software and replacement parts -- with the side-effect of
making it a felony to report showstopper, potentially fatal bugs in
technology that we live and die by.
</p>
<p>
And then there's the FBI and the UK's David Cameron, who've joined in
with the NSA and GCHQ in insisting that everyone must be vulnerable to
Chinese spies and identity thieves and pervert voyeurs so that the spy
agencies will always be able to spy on everyone and everything, everywhere.
</p>
<p>
It's been fifteen years since the copyright wars kicked off, and we're
still treating the Internet as a glorified video-on-demand service --
when we're not treating it as a more perfect pornography distribution
system, or a jihadi recruitment tool.
</p>
<p>
It's all of those -- and more. Because it's the nervous system of the
21st century. We've got to stop treating it like a political football.
</p>
<p>
Cory Doctorow will be talking on Friday October 16, 7pm in
the Theatre of the Arts. Admission is free, and
the talk will be open to the public. Doors open
at 6:30pm. Headsets will be provided for the hard of hearing,
email Patrick at pj2melan@uwaterloo.ca . The theatre is wheelchair accessible.
</p>
<p>
The following books written by Cory will be sold at the event:
<ul>
<li>Little Brother</li>
<li>Homeland</li>
<li>For the Win</li>
<li>Makers</li>
<li>Pirate Cinema</li>
<li>Information Doesn't want to be free</li>
<li>In Real Life</li>
</ul>
</p>
</abstract>
</eventitem>
<eventitem date="2015-10-07" time="5:30 PM" room="MC 4061"
title="Starting an VN Indie Game Company as a UW Student">
<short>
<p>Come out to a talk by Alfe Clemencio!</p>
<p> Many people want to make games as signified by all the game development
schools that are appearing everywhere. But how would you do it as a UW
student? This talk shares the experiences of how making Sakura River
Interactive was founded without any Angel/VC investment.
</p>
</short>
<abstract>
<p>Come out to a talk by Alfe Clemencio!</p>
<p> Many people want to make games as signified by all the game development
schools that are appearing everywhere. But how would you do it as a UW
student? This talk shares the experiences of how making Sakura River
Interactive was founded without any Angel/VC investment.
</p>
<p> The talk will start off with inspiration drawn of Co-op Japan, to it's
beginnings at Velocity. Then a reflection of how various game
development and business skills was obtained in the unexpected ways at
UW will follow. How the application of probabilities, theory of
computation, physical/psychological attraction theories was used in the
development of the company's first game. Finally how various Computer
Science theories helped evaluate feasibility of several potential
incoming business deals.
</p>
<a href="http://www.sakurariver.ca/">From Sakura River interactive</a>
</abstract>
</eventitem>
<eventitem date="2015-10-02" time="7:30 PM" room="MC 4040"
title="'Why Am I Studying This?'">
<short>
<p>
Big-O, the Halting Problem, Finite State Machines, and more are concepts that get
even more interesting in the real world. Come and hear Tom Rathborne talk about how theory
hits reality (often with a bang!) at Booking.com.
</p>
</short>
<abstract>
<ul>
<li>Data Structures</li>
<li>Finite State Machines</li>
<li>big-O</li>
<li>Queuing theory</li>
<li>Race conditions</li>
<li>Compilers</li>
<li>The Halting Problem</li>
<li>etc.</li>
</ul>
<p>
These things get even more interesting in the real world.
Come and hear Tom Rathborne talk about how theory hits reality (often with a bang!) at
Booking.com, the biggest not-a-technology-company on the Internet.
</p>
<p>
Food and drinks will be provided!
</p>
</abstract>
</eventitem>
<eventitem date="2015-09-30" time="5:00 PM" room="DC 1304"
title="Back to Back Talks: Culture Turnaround and Software Defined Networks">
<short>
<p>
Back to back talks from John Stix and Francisco Dominguez on turning
a company's culture around and on Software Defined Networks!
</p>
</short>
<abstract>
<p>
Back to back talks from John Stix and Francisco Dominguez on turning
a company's culture around and on Software Defined Networks!
</p>
<p>
John Stix will be talking about how he turned around the corporate culture at Fibernetics Corporation.
</p>
<p>
Francisco Dominguez will be talking about Software Defined Networks, which
for example can turn multiple flakey internet connections into one reliable
one.
</p>
<p>
The speakers are:
<ul>
<li>John Stix - President, Fibernetics</li>
<li>Francisco Dominguez - CTO, Fibernetics</li>
</ul>
</p>
<p>
Food and drinks will be provided!
</p>
</abstract>
</eventitem>
<eventitem date="2015-09-24" time="4:30 PM" room="EIT 3142"
title="CSC and WiCS Career Panel">
<short>
<p>
The CSC is joining WiCS to host a career panel! Come hear from Waterloo
alumni as they speak about their time at Waterloo, experience with coop,
and life beyond the university. Please register at http://bit.ly/1OyJP6D
</p>
</short>
<abstract>
<p>
The CSC is joining WiCS to host a career panel! Come hear from Waterloo
alumni as they speak about their time at Waterloo, experience with coop,
and life beyond the university. A great chance to network and seek
advice!
</p>
<p>
The panelists are:
<ul>
<li>Joanne Mckinley - Software Engineer, Google</li>
<li>Carol Kilner - COO, BanaLogic Corporation</li>
<li>Harshal Jethwa - Consultant, Infusion</li>
<li>Dan Collens - CTO, Big Roads</li>
</ul>
</p>
<p>
Food and drinks will be provided! Please register
<a href="https://docs.google.com/forms/d/1G-8LFLgxQUkahXvODpS2cVSvceNibTt18Uc8TnhlKI8/viewform?usp=send_form">here</a>
</p>
</abstract>
</eventitem>
<eventitem date="2015-09-22" time="9 PM" room="MC 3001"
title="Results of Fall 2015 Elections">
<short>
<p>
The Computer Science Club has elected its executive for the term, and a new Office Manager and System Administrator have been appointed.
</p>
<p>
See inside for results.
</p>
</short>
<abstract>
<p>
The Computer Science Club has elected its executive for the term, and a new Office Manager and System Administrator have been appointed.
The quorum for elections had been reached, and voting members of the CSC voted for their President, Vice President, Treasurer, and Secretary from among many qualified candidates.
The new elected executive then proceeded to appoint a System Administrator (who became part of the executive <i>ex officio</i>) and an Office Manager.
The appointment of a Librarian was delayed because no suitable and willing candidate was found.
</p>
<p>
The results of the elections are:
<ul>
<li>Simone Hu - President</li>
<li>Theo Belaire - Vice President</li>
<li>Jordan Upiter - Treasurer</li>
<li>Daniel Marin - Secretary</li>
<li>Jordan Pryde - System Administrator</li>
<li>Office Manager - Ilia Chtcherbakov</li>
</ul>
</p>
</abstract>
</eventitem>
<eventitem date="2015-09-22" time="7 PM" room="MC 3001"
title="Fall 2015 Elections">
<short>
<p>
The Computer Science Club will be holding elections for the Fall 2015
term on Tuesday, September 22nd in MC Comfy (MC 3001) at 19:00. During
the meeting, 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>
See inside for nominations.
</p>
</short>
<abstract>
<p>
The Computer Science Club will be holding elections for the Fall 2015
term on Tuesday, September 22nd in MC Comfy (MC 3001) at 19:00. During
the meeting, 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>
If you'd like to run for any of these positions or nominate someone, you
can write your name on the board in the CSC office (MC 3036/3037) or
send me (Charlie) an email at cro@csclub.uwaterloo.ca. You can also
deposit nominations in the CSC mailbox in MathSoc or present them to me
in person. Nominations will close at 18:00 on Monday, September 21st.
All members are welcome to run! First-years are especially encouraged to
run for secretary, office manager, and librarian, but they are not
limited to those positions.
</p>
</abstract>
</eventitem>
<eventitem date="2015-09-17" time="6 PM" room="MC 2065"
title="Google Cardboard">
<short>
<p>
Come for a talk from Rob Suderman on Cardboard, Google's recent
exploration in affordable, cereal box based Virtual Reality.
</p>
</short>
<abstract>
<p>
Come for a talk from Rob Suderman on Cardboard, Google's recent
exploration in affordable, cereal box based Virtual Reality.
</p>
<p>
Learn about the tools available to make your own application, some of
the pitfalls to avoid, and an overview of rendering virtual reality
content with some tips and tricks on high performance rendering. The
talk will contain content for everyone interested!
</p>
</abstract>
</eventitem>
<!-- Spring 2015 -->
<eventitem date="2015-07-16" time="6 PM" room="MC 4064"
title="Algorithms for Shortest Paths">
<short>
<p>
Come to this exciting talk about path-finding algorithms which
is being presented by Professor Anna Lubiw.
</p>
</short>
<abstract>
<p>
Finding shortest paths is a problem that comes up in many applications:
Google maps, network routing, motion planning, connectivity in social
networks, and etc.
The domain may be a graph, either explicitly or implicitly represented,
or a geometric space.
</p>
<p>
Professor Lubiw will survey the field, from Dijkstra's foundational algorithm to
current results and open problems.
There will be lots of pictures and lots of ideas.
</p>
<p>
<a href="http://mirror.csclub.uwaterloo.ca/csclub/shortest-paths-CSclub.pdf">Click here to see the slides from the talk.</a>
</p>
<p>
<a href="/media/Algorithms%20for%20Shortest%20Paths">Click here for the recorded talk.</a>
</p>
</abstract>
</eventitem>
<eventitem date="2015-07-08" time="6 PM" room="MC 4060"
title="Infrasound is all around us">
<short>
<p>
Ambient infra sound surrounds us. Richard Mann presents his current
research and equipment on measuring infra sound, and samples of recorded
infra sound.
</p>
</short>
<abstract>
<p>
Infra sound refers to sound waves below the range of human hearing.
Infra sound comes from a number of natural phenomena including weather
changes, thunder, and ocean waves. Common man made sources include
heating and ventilation systems, industrial machinery, moving vehicle
cabins (air, trains, cars), and energy generation (wind turbines, gas
plants).
<br></br>
In this talk Richard Mann will present equipment he has built to measure infra sound, and
analyse some of the infra sound he has recorded.
<br></br>
Note: In Winter 2016 Richard Mann will be offering a new course, in Computer Sound. The
course will appear as CS489/CS689 ("Topics in Computer Science"). This
is a project-based course (60% assignments, 40% project, no final).
Details at his web page,
<a href="http://www.cs.uwaterloo.ca/~mannr">~mannr</a>.
</p>
</abstract>
</eventitem>
<eventitem date="2015-06-26" time="7:00 PM" room="Laurel Creek Firepit"
title="WiCS and CSC Go Outside">
<short>
<p>Come hang out with the Women in Computer Science and the Computer Science Club! There will be s'mores and frozen yogurt. Also fire. And a creek. Let's enjoy the outdoors!</p>
</short>
<abstract>
<p>Come hang out with the Women in Computer Science and the Computer Science Club! There will be s'mores and frozen yogurt. Also fire. And a creek. Let's enjoy the outdoors!</p>
</abstract>
</eventitem>
<eventitem date="2015-06-19" time="6:00 PM" room="MC 3003"
title="UNIX 102">
<short>
<p>n things SCS hasn't told you about the shell</p>
</short>
<abstract>
<p>
This is a continuation of the Unix10X series of seminars that cover the use
of *nix environments, largely through interacting with a command line shell. In
this instalment we will be covering some of what the School of Computer
Science has left out of their introduction to the Command Line / Bash (from
cs246), as well as a brief introduction to having a useful prompt.
<br></br>
Topics to be discussed include:
<ul>
<li>Lost Bash: fancy expansion, arrays, and shopt</li>
<li>The File System is scary: your file names contain white space and newlines</li>
<li>Where Am I: A brief introduction to prompt customization</li>
</ul>
</p>
</abstract>
</eventitem>
<eventitem date="2015-05-22" time="4:00 PM" room="MC 3001 (Coomfy)"
title="By-Elections">
<short>
<p>
As there are vacancies in the executive council, there will be
by-election on May 22nd. The following positions are open for election:
<ul>
<li>Treasurer</li>
<li>Secretary</li>
</ul>
</p>
<p>
The executive are also looking for people who may be interested in the
following positions:
<ul>
<li>Systems Administrator</li>
<li>Office Manager</li>
<li>Librarian</li>
</ul>
</p>
</short>
</eventitem>
<!-- Winter 2015 -->
<eventitem date="2015-04-02" time="5:30 PM" room="MC 4020"
title="Describing and Synthesizing Microfluidics">
<short>
<p>
Derek Rayside presents current research on the field of microfluidics.
Microfluidics are currently developed mainly by trial and error. How can
this be improved?
</p>
</short>
<abstract>
<p>
Microfluidics is an exciting new area concerned with designing devices
that perform some medical diagnoses and chemical synthesis tasks orders
of magnitude faster and less expensively than traditional techniques.
However, microfluidic device design is currently a black art, akin to
how digital circuits were designed before 1980.
<br></br>
We have developed a
hardware description language that is appropriate for the description
and synthesis of both single-phase and multi-phase microfluidic devices.
These are new results that have not yet been published. This is
collaborative work with other research groups in Mechanical Engineering,
Chemical Engineering, and Electrical Engineering.
</p>
</abstract>
</eventitem>
<eventitem date="2015-03-27" time="6:00 PM" room="EIT 1015"
title="Constitutional GM and Code Party 1">
<short>
<p>
GM for the W2015 term, two main amendments to be discussed: Requiring
elections to be held within two weeks of the beginning of term and
adopting a club-wide code of conduct.
<br></br>
Code Party 1 follows, we're doing timed code golf problems, T-shirts might
find themselves on people who do well on code golf.
</p>
</short>
<abstract>
<p>
GM for the W2015 term, two main amendments to be discussed: Requiring
elections to be held within two weeks of the beginning of term and
adopting a club-wide code of conduct.
<br></br>
Code Party 1 follows, we're doing timed code golf problems, T-shirts might
find themselves on people who do well on code golf.
</p>
</abstract>
</eventitem>
<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 Ive had five years and three
startups to reflect on the most valuable things I have (and havent) 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.
Hes 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 years Going Native,
Herb Sutter predicted that Scott would produce a new version of Effective C++
in the 2013-14 time frame, and Scotts 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—were 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 its quite difficult because
todays 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 applications 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, well 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, Ill 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! Ill 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 1970s 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 Weisers analogy of Personal Computers 20 years ago). Natural User
Interfaces (NUIs) are going to revolutionize the way we interact with computers, cellular phones, household
appliances, automated systems in our daily lives. Just like the GUI made personal computing a reality,
I believe natural user interfaces will do the same for robotics.
</p><p>During the presentation I will be presenting my ongoing software project on natural user interfaces as well
as sharing my goals for the future, one of which is to provide an NUI SDK and the other to provide a common
Robotics OS for every hardware vendor that will enable people to make applications without worrying about
underlying functionality. If time permits I would like to present a demo of my software prototype.
</p></abstract>
</eventitem>
<eventitem date="2010-03-26" time="7:00 PM" room="MC7001" title="A Final Party of Code">
<short><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on open source projects, doing some computational math, and other general classiness. There will be free energy drinks for everyone's enjoyment. This is the last of the term so don't miss out.
</p></short>
<abstract><p>There is a CSC/CMC Code Party Friday starting at 7:00PM (1900) until we
get bored (likely in the early in morning). Come out for fun hacking
times, spreading Intertube memes (optional), hacking on open source projects,
doing some computational math, and other
general classiness. There will be free energy drinks for everyone's
enjoyment. This is the last of the term so don't miss out.
</p></abstract>
</eventitem>
<eventitem date="2010-03-23" time="4:30 PM" room="MC5158" title="Memory-Corruption Security Holes: How to exploit, patch and prevent them.">
<short><p>Despite it being 2010, code is still being exploited due to stack overflows, a 40+ year old class of security vulnerabilities. In this talk, I will go over several common methods of program exploitation, both on the stack and on the heap, as well as going over some of the current mitigation techniques (i.e. stack canaries, ASLR, etc.) for these holes, and similarly, how some of these can be bypassed as well.
</p></short>
<abstract><p>Despite it being 2010, code is still being exploited due to
stack overflows, a 40+ year old class of security vulnerabilities. In
this talk, I will go over several common methods of program
exploitation, both on the stack and on the heap, as well as going over
some of the current mitigation techniques (i.e. stack canaries, ASLR,
etc.) for these holes, and similarly, how some of these can be
bypassed as well.
</p></abstract>
</eventitem>
<eventitem date="2010-03-19" time="7:00 PM" room="Comfy Lounge" title="Another Party of Code">
<short><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we get bored (likely in the early in morning). Come out for fun hacking times, spreading Intertube memes (optional), hacking on the OpenMoko, creating music mixes, and other general classiness. There will be free energy drinks for everyone's enjoyment.
</p></short>
<abstract><p>There is a CSC Code Party Friday starting at 7:00PM (1900) until we
get bored (likely in the early in morning). Come out for fun hacking
times, spreading Intertube memes (optional), hacking on the OpenMoko,
creating music mixes, and other
general classiness. There will be free energy drinks for everyone's
enjoyment.
</p></abstract>
</eventitem>
<eventitem date="2010-03-16" time="4:30 PM" room="MC5158" title="Approximation Hardness and the Unique Games Conjecture">
<short><p>The fifth installment in CS10: Undergraduate Seminars in CS, features CSC member Elyot Grant introducing the theory of approximation algorithms. Fun times and a lack of gruesome math are promised.
</p></short>
<abstract><p>The theory of NP-completeness suggests that some problems in CS are inherently hard—that is,
there is likely no possible algorithm that can efficiently solve them. Unfortunately, many of
these problems are ones that people in the real world genuinely want to solve! How depressing!
What can one do when faced with a real-life industrial optimization problem whose solution may
save millions of dollars but is probably impossible to determine without trillions of
years of computation time?
</p><p>One strategy is to be content with an approximate (but provably "almost ideal") solution, and from
here arises the theory of approximation algorithms. However, this theory also has a depressing side,
as many well-known optimization problems have been shown to be provably hard to approximate well.
</p><p>This talk shall focus on the depressing. We will prove that various optimization problems (such as
traveling salesman and max directed disjoint paths) are impossible to approximate well unless P=NP.
These proofs are easy to understand and are REALLY COOL thanks to their use of very slick reductions.
</p><p>We shall explore many NP-hard optimization problems and state the performance of the best known
approximation algorithms and best known hardness results. Tons of open problems will be mentioned,
including the unique games conjecture, which, if proven true, implies the optimality of many of the
best known approximation algorithms for NP-complete problems like MAX-CUT and INDEPENDENT SET.
</p><p>I promise fun times and no gruesome math. Basic knowledge of graph theory and computational
complexity might help but is not required.
</p></abstract>
</eventitem>
<eventitem date="2010-03-12" time="7:00 PM" room="Comfy Lounge" title="A Party of Code">
<short><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
</p></short>
<abstract><p>A fevered night of code, friends, fun, energy drinks, and the CSC.
</p><p>Come join us for a night of coding. Get in touch with more experianced coders,
advertize for/bug squash on your favourite open source project, write that personal
project you were planning to do for a while but haven't found the time. Don't
have any ideas but want to sit and hack? We can find something for you to do.
</p></abstract>
</eventitem>
<eventitem date="2010-03-09" time="4:30 PM" room="DC1304" title="Software Transactional Memory and Using STM in Haskell">
<short><p>The fourth Undergraduate Seminar in Computer Science will be presented by Brennan Taylor, a club member. He will be discussing various concurrent computing problems, and introducing Software Transactional Memory as a solution to them.
</p></short>
<abstract><p>Concurrency is hard. Well maybe not hard, but it sure is annoying to get right. Even the
simplest of synchronization tasks are hard to implement correctly when using synchronization
primitives such as locks and semaphores.
</p><p>In this talk we explore what Software Transactional Memory (STM) is, what problems STM solves,
and how to use STM in Haskell. We explore a number of examples that show how easy STM is to use
and how expressive Haskell can be. The goal of this talk is to convince attendees that STM is
not only a viable synchronization solution, but superior to how synchronization is typically
done today.
</p></abstract>
</eventitem>
<eventitem date="2010-03-06" time="5:00 PM" room="Waterloo Bowling Lanes" title="Bowling">
<short><p>The CSC is going bowling. $9.75 for shoes and two games. The bowling alley serves fried food and beer. Join us for
some or all of the above</p></short>
</eventitem>
<eventitem date="2010-03-02" time="4:30 PM" room="DC1304" title="QIP=PSPACE">
<short><p>Dr. John Watrous of the <a href="http://www.iqc.ca">IQC</a> will present his recent result "QIP=PSPACE". The talk will not assume any familiarity with quantum computing or complexity theory, and light refreshments will be provided.
</p></short>
<abstract><p>The interactive proof system model of computation is a cornerstone of
complexity theory, and its quantum computational variant has been
studied in quantum complexity theory for the past decade. In this
talk I will discuss an exact characterization of the power of quantum
interactive proof systems that I recently proved in collaboration with
Rahul Jain, Zhengfeng Ji, and Sarvagya Upadhyay. The characterization
states that the collection of computational problems having quantum
interactive proof systems consists precisely of those problems
solvable with an ordinary classical computer using a polynomial amount
of memory (or QIP = PSPACE in complexity-theoretic terminology). This
characterization implies the striking fact that quantum computing does
not provide any increase in computational power over classical
computing in the context of interactive proof systems.
</p><p>I will not assume that the audience for this talk has any familiarity
with either quantum computing or complexity theory; and to be true to
the spirit of the interactive proof system model, I hope to make this
talk as interactive as possible -- I will be happy to explain anything
related to the talk that I can that people are interested in learning
about.
</p></abstract>
</eventitem>
<eventitem date="2010-02-26" time="7:00 PM" room="CnD Lounge" title="Contest Closing">
<short><p>The <a href="http://contest.csclub.uwaterloo.ca">contest</a> is coming to a close tomorrow, so to finish it in style we will be having ice cream and code friday night.
It would be a shame if Waterloo lost (we're not on top of the <a href="http://csclub.uwaterloo.ca/contest/rankings.php">leaderboard</a> right now) so come out and hack for the home team.</p></short>
</eventitem>
<eventitem date="2010-02-25" time="4:30 PM" room="DC1302" title="CSCF Town Hall">
<short><p>Come to a town hall style meeting with the managers of CSCF to discuss how to improve the undergraduate (student.cs) computing environment. Have gripes? Suggestions? Requests? Now is the time to voice them.
</p></short>
<abstract><p>Come to a town hall style meeting with the managers of CSCF to discuss how
to improve the undergraduate (student.cs) computing environment. Have gripes?
Suggestions? Requests? Now is the time to voice them.
</p><p>CSCF management (Bill Ince, Associate Director; Dave Gawley, Infrastructure Support;
Dawn Keenan, User Support; Lawrence Folland, Research Support) will be at the
meeting to listen to student concerns and suggestions. Information gathered from
the meeting will be summarized and taken to the CSCF advisory committee for
discussion and planning.
</p></abstract>
</eventitem>
<eventitem date="2010-02-23" time="04:30 PM" room="MC5136B" title="The Best Algorithms are Randomized Algorithms">
<short><p>In this talk Nicholas Harvey discusses the prevalence of randomized algorithms and their application to solving optimization problems on graphs; with startling results compared to deterministic algorithms.
</p></short>
<abstract><p>For many problems, randomized algorithms are either the fastest algorithm or the simplest algorithm;
sometimes they even provide the only known algorithm. Randomized algorithms have become so prevalent
that deterministic algorithms could be viewed as a curious special case. In this talk I will describe
some startling examples of randomized algorithms for solving some optimization problems on graphs.
</p></abstract>
</eventitem>
<eventitem date="2010-02-09" time="4:30 PM" room="DC1304" title="An Introduction to Vector Graphics Libraries with Cairo">
<short><p>Cairo is an open source, cross platform, vector graphics library with the ability to output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids of pixels, but rather by a collection of drawing operations. These operations detail how to draw lines, fill shapes, and even set text to create the desired image. This has the advantages of being infinitely scalable, smaller in file size, and simpler to express within a computer programme. This talk will be an introduction to the concepts and metaphors used by vector graphics libraries in general and Cairo in particular.
</p></short>
<abstract><p>Cairo is an open source, cross platform, vector graphics library with the ability to
output to many kinds of surfaces, including PDF, SVG and PNG surfaces, as well as
X-Window, Win32 and Quartz 2D backends. Unlike the raster graphics used with programmes
and libraries such as The Gimp and ImageMagick, vector graphics are not defined by grids
of pixels, but rather by a collection of drawing operations. These operations detail how to
draw lines, fill shapes, and even set text to create the desired image. This has the
advantages of being infinitely scalable, smaller in file size, and simpler to express within
a computer programme. This talk will be an introduction to the concepts and metaphors used
by vector graphics libraries in general and Cairo in particular.
</p></abstract>
</eventitem>
<eventitem date="2010-02-11" time="4:30 PM" room="MC3005" title="UNIX 101 Encore">
<short><p>New to Unix? No problem, we'll teach you to power use circles around your friends! The popular tutorial returns for a second session, in case you missed the first one.
</p></short>
<abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
The popular tutorial returns for a second session, in case you missed the first one.
</p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2010-02-10" time="4:30 PM" room="MC3003" title="UNIX 101">
<short><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>New to Unix? No problem, we'll teach you to power use circles around your friends!
</p><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2010-01-18" time="15:30 PM" room="MC2066" title="Wilderness Programming">
<short><p>Paul Lutus describes his early Apple II software development days, conducted from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul describes how he wrote a best-seller (Apple Writer) in assembly language, while dealing with power outages, lightning storms and the occasional curious bear.
</p></short>
<abstract><p>Paul Lutus describes his early Apple II software development days, conducted
from the far end of a 1200-foot power cord, in a tiny Oregon cabin. Paul
describes how he wrote a best-seller (Apple Writer) in assembly language,
while dealing with power outages, lightning storms and the occasional
curious bear.
</p><p>Paul also describes his subsequent four-year solo around-the-world sail in a
31-foot boat. And be ready with your inquiries -- Paul will answer your
questions.
</p><p>Paul Lutus has a wide background in science and technology. He designed spacecraft
components for the NASA Space Shuttle and created a mathematical model of the solar
system used during the Viking Mars lander program. Then, at the beginning of the
personal computer revolution, Lutus switched career paths and took up computer
science. His best-known program is "Apple Writer," an internationally successful
word processing program for the early Apple computers.
</p></abstract>
</eventitem>
<eventitem date="2010-01-26" time="05:00 PM" room="DC1302" title="Deep learning with multiplicative interactions">
<short><p>Geoffrey Hinton, from the University of Toronto and the Canadian Institute for Advanced Research, will discuss some of his latest work in learning networks and artificial intelligence. The talk will be accessable, so don't hesitate to come out. More information about Dr. Hinton's research can be found on <a href="http://www.cs.toronto.edu/~hinton/">his website</a>.
</p></short>
<abstract><p>Deep networks can be learned efficiently from unlabeled data. The layers
of representation are learned one at a time using a simple learning
module, called a "Restricted Boltzmann Machine" that has only one layer
of latent variables. The values of the latent variables of one
module form the data for training the next module. Although deep
networks have been quite successful for tasks such as object
recognition, information retrieval, and modeling motion capture data,
the simple learning modules do not have multiplicative interactions which
are very useful for some types of data.
</p><p>The talk will show how a third-order energy function can be factorized to
yield a simple learning module that retains advantageous properties of a
Restricted Boltzmann Machine such as very simple exact inference and a
very simple learning rule based on pair-wise statistics. The new module
contains multiplicative interactions that are useful for a variety of
unsupervised learning tasks. Researchers at the University of Toronto
have been using this type of module to extract oriented energy from image
patches and dense flow fields from image sequences. The new module can
also be used to allow motions of a particular style to be achieved by
blending autoregressive models of motion capture data.
</p></abstract>
</eventitem>
<!-- Fall 2009 -->
<eventitem date="2009-12-05" time="6:30 PM" room="MC3036" edate="2009-12-05" etime="11:55 PM" title="The Club That Really Likes Dinner">
<short><p>Come on out to the club's termly end of term dinner, details in the abstract</p></short>
<abstract><p>The dinner will be potluck style at the Vice President's house, please RSVP (respond swiftly to the vice president)
<a href="https://csclub.uwaterloo.ca/rsvp">here</a> if you plan on attending. If you don't know how to get there meet at the club
office at 6:30 PM, a group will be leaving to lead you there.</p></abstract>
</eventitem>
<eventitem date="2009-11-27" time="7:00 PM" room="Comfy Lounge" edate="2009-11-28" etime="7:00 AM" title="Code Party!!11!!">
<short><p>A fevered night of code, friends, fun, energy drinks, and the CSC. Facebook will be around to bring some food and hang out.
</p></short>
<abstract><p>Come join us for a night of coding. Get in touch with more experianced coders,
advertize for/bug squash on your favourite open source project, write that personal
project you were planning to do for a while but haven't found the time. Don't
have any ideas but want to sit and hack? Try your hand at the Facebook puzzles,
write a new app, or just chill and watch scifi.
</p></abstract>
</eventitem>
<eventitem date="2009-11-05" time="4:30 PM" room="MC2065" title="In the Beginning">
<short><p>To most CS students an OS kernel is pretty low level. But there is something even lower, the instructions that must be executed to get the CPU ready to accept a kernel. That is, if you look at any processor's reference manual there is a page or two describing the state of the CPU when it powered on. This talk describes what needs to happen next, up to the point where the first kernel instruction executes.
</p></short>
<abstract><p>To most CS students an OS kernel is pretty low level. But there is
something even lower, the instructions that must be executed to get the
CPU ready to accept a kernel. That is, if you look at any processor's
reference manual there is a page or two describing the state of the CPU
when it powered on. This talk describes what needs to happen next,
up to the point where the first kernel instruction executes.
</p><p>This part of execution is extremely architecture-dependent. Those of
you who have any experience with this aspect of CS probably know the x86
architecture, and think it's horrible, which it is. I am going to talk
about the ARM architecture, which is inside almost all mobile phones,
and which allows us to look at a simple implementation that includes
all the essentials.
</p></abstract>
</eventitem>
<eventitem date="2009-10-20" time="04:30 PM" room="MC3036" title="CSC Goes To Dooly's">
<short><p>We're going to Dooly's to play pool. What more do you want from us? Come to the Club office and we'll all bus there together. We've got discount tables for club members so be sure to be there.
</p></short>
<abstract><p>We're going to Dooly's to play pool. What more do you want from us?
Come to the Club office and we'll all bus there together. We've got
discount tables for club members so be sure to be there.
</p></abstract>
</eventitem>
<eventitem date="2009-10-16" time="7:00 PM" room="Comfy Lounge" title="Code Party and Contest Finale">
<short><p>Come on out for a night of code, contests, and energy drinks. Join the Computer Scinece Club for the finale of the Google AI Challenge and an all night code party. Finish up your entry, or start it (its not too late). Not interested in the contest? Come out anyway for a night of coding and comradarie with us.
</p></short>
<abstract><p>Come on out for a night of code, contests, and energy drinks. Join the Computer
Scinece Club for the finale of the Google AI Challenge and an all night code party.
Finish up your entry, or start it (its not too late). Not interested in the contest?
Come out anyway for a night of coding and comradarie with us.
</p><p>Included in the party will be the contest finale and awards cerimony, so if you've
entered be sure to stick arround to collect the spoils of victory, or see just who
that person you couldn't edge off is.
</p></abstract>
</eventitem>
<eventitem date="2009-10-08" time="4:30 PM" room="MC3003" title="UNIX 103">
<short><p>In this long-awaited third installment of the popular Unix Tutorials the friendly experts of the CSC will teach you the simple art of version control. You will learn the purpose and use of two different Version Control Systems (git and subversion). This tutorial will advise you in the discipline of managing the source code of your projects and enable you to quickly learn new Version Control Systems in the work place -- a skill that is much sought after by employers.
</p></short>
<abstract><p>In this long-awaited third installment of the popular Unix Tutorials the
friendly experts of the CSC will teach you the simple art of version control.
You will learn the purpose and use of two different Version Control Systems
(git and subversion). This tutorial will advise you in the discipline of
managing the source code of your projects and enable you to quickly learn new
Version Control Systems in the work place -- a skill that is much sought after
by employers.
</p></abstract>
</eventitem>
<eventitem date="2009-10-14" time="2:30 PM" room="DC1304" title="UofT Graduate School Information Session">
<short><p> "Is Graduate School for You?" Get the answers to your grad school questions - and have a bite to eat, our treat</p>
</short>
<abstract><p> Join Prof. Greg Wilson, faculty member in the Software Engineering research group in the UofT's Department of Computer Science,
as he gives insight into studying at the graduate level-what can be expected, what does UofT offer, is it right for you? Pizza and pop will
be served. <b>Come see what grad school is all about!</b>. All undergraduate students are welcome; registration is not required.</p>
<p>For any questions about the program, visit <a href="http://www.cs.toronto.edu/dcs/prospective-grad.html">UofT's website</a>. This
event is not run by the CS Club, and is announced here for the benefit of our members.</p></abstract>
</eventitem>
<eventitem date="2009-10-03" time="10:00 AM" edate="2009-10-03" etime="3:30 PM" room="DC1301 FishBowl" title="Linux Install Fest">
<short><p>Interested in trying Linux but don't know where to start?
Come to the Linux install fest to demo Linux, get help installing it
on your computer, either stand alone or a dual boot, and help setting
up your fresh install. Have lunch and hang around if you like, or just come in for a CD.
</p></short>
<abstract><p>Interested in trying Linux but don't know where to start?
Come to the Linux install fest to demo Linux, get help installing it on
your computer, either stand alone or a dual boot, and help setting
up your fresh install. Have lunch and hang around if you like, or just
come in for a qick install.
</p></abstract>
</eventitem>
<eventitem date="2009-10-01" time="4:30 PM" room="MC3003" title="UNIX 102">
<short><p>The next installment in the CS Club's popular Unix tutorials UNIX 102 introduces powerful text editing tools for programming and document formatting.
</p></short>
<abstract><p>Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
If you missed Unix101 but still know your way around you should be fine.
Topics covered include: "real" editors, document typesetting with LaTeX
(great for assignments!), bulk editing, spellchecking, and printing in the
student environment and elsewhere.
</p><p>If you aren't interested or feel comfortable with these taskes, watch out for
Unix 103 and 104 to get more depth in power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2009-09-28" time="4:30 PM" edate="2009-10-09" etime="11:59 OM" room="MC3003" title="AI Programming Contest sponsored by Google">
<short><p>Come learn how to write an intelligent game-playing program.
No past experience necessary. Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online web interface</a>
to watch it battle against other people's programs. Beginners and experts welcome! Prizes provided by google,
including the delivery of your resume to google recruiters.
</p></short>
<abstract><p>Come learn how to write an intelligent game-playing program.
No past experience necessary. Submit your program using the <a href="http://csclub.uwaterloo.ca/contest/">online
web interface</a> to watch it battle against other people's programs.
Beginners and experts welcome!
</p><p>The contest is sponsored by Google, so be sure to compete for a chance
to get noticed by them.
</p><p>Prizes for the top programs:
<ul><li>$100 in Cash Prizes</li>
<li> Google t-shirts</li>
<li>Fame and recognition</li>
<li>Your resume directly to a Google recruiter</li>
</ul>
</p></abstract>
</eventitem>
<eventitem date="2009-09-24" time="4:30 PM" room="MC3003" title="UNIX 101">
<short><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p><p>
This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2009-09-15" time="5:00PM" edate="2009-09-15" etime="6:00 PM"
room="Comfy Lounge" title="Elections">
<short><p>
Nominations are open now, either place your name on the nominees board or
e-mail <a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a>
to nominate someone for a position.
Come to the Comfy Lounge to elect your fall term executive. Contact
<a href="mailto:cro@csclub.uwaterloo.ca">the CRO</a> if you have questions.
</p></short>
</eventitem>
<!-- Spring 2009 -->
<eventitem date="2009-07-23" time="4:30 PM" edate="2009-07-23" etime="6:00 PM"
room="MC 3003" title="Unix 103">
<short><p>
In this long-awaited third installment of the popular Unix Tutorials the dark
mages of the CSC will train you in the not-so-arcane magick of version control.
You will learn the purpose and use of two different Version Control Systems
(git and subversion). This tutorial will advise you in the discipline of
managing the source code of your projects and enable you to quickly learn new
Version Control Systems in the work place -- a skill that is much sought after
by employers.
</p></short>
</eventitem>
<eventitem date="2009-07-17" time="7:00 PM" edate="2009-07-18" etime="4:00 AM"
room="MC 3001" title="Code Party">
<short><p>
Have an assignment or project you need to work on? We
will be coding from 7:00pm until 4:00am starting on Friday, July 17th
in the Comfy lounge. Join us!
</p></short>
</eventitem>
<eventitem date="2009-07-07" time="3:00 PM" etime="5:00 PM" room="DC 1302"
title="History of CS Curriculum at UW">
<short><p>
This talk provides a personal overview of the evolution of the
undergraduate computer science curriculum at UW over the past forty
years, concluding with an audience discussion of possible future
developments.
</p></short>
</eventitem>
<eventitem date="2009-06-22" time="4:30 PM" etime="6:30 PM" room="MC 4041"
title="Paper Club">
<short><p> Come and drink tea and read an academic CS paper with
the Paper Club. We will be meeting from 4:30pm until 6:30pm on
Monday, June 22th on the 4th floor of the MC (exact room number
TBA). See http://csclub.uwaterloo.ca/~paper
</p></short>
</eventitem>
<eventitem date="2009-06-19" time="5:30 PM" room="Dooly's" title="Dooly's Night">
<short><p>
The CSC will be playing pool at Dooly's. Join us for only a few dollars.
</p></short>
</eventitem>
<eventitem date="2009-06-05" time="7:00 PM" edate="2009-06-06" etime="4:00 AM"
room="MC 3001" title="Code Party">
<short><p>
Have an assignment or project you need to work on? We
will be coding from 7:00pm until 7:00am starting on Friday, June 5th
in the Comfy lounge. Join us!
</p></short>
</eventitem>
<eventitem date="2009-06-02" time="4:30 PM" room="MC 2037" title="Unix 101">
<short><p>
Need to use the UNIX environment for a course, want to overcome your fears of
the command line, or just curious? Come and learn the arcane secrets of the
UNIX command line interface from CSC mages. After this tutorial you will be
comfortable with the essentials of navigating, manipulating and viewing files,
and processing data at the UNIX shell prompt.
</p></short>
</eventitem>
<eventitem date="2009-05-12" time="12:00 PM" room="MC 2034" title="PHP on Windows">
<short><p>PHP Programming Contest Info Session</p></short>
<abstract><p>
Port or create a new PHP web application and you could win a prize
of up to $10k. Microsoft is running a programming contest for PHP
developers willing to support the Windows platform. The contest is
ongoing; this will be a short introduction to it by
representatives of Microsoft and an opportunity to ask questions.
Pizza and pop will be provided.
</p></abstract>
</eventitem>
<!-- Winter 2009 -->
<eventitem date="2009-04-02" time="4:30 PM" room="DC1302" title="Rapid prototyping and mathematical art">
<short><p>A talk by Craig S. Kaplan.</p></short>
<abstract><p>The combination of computer graphics, geometry, and rapid
prototyping technology has created a wide range of exciting
opportunities for using the computer as a medium for creative
expression. In this talk, I will describe the most popular
technologies for computer-aided manufacturing, discuss
applications of these devices in art and design, and survey
the work of contemporary artists working in the area (with a
focus on mathematical art). The talk will be primarily
non-technical, but I will mention some of the mathematical
and computational techniques that come into play.
</p></abstract>
</eventitem>
<eventitem date="2009-04-03" time="6:00 PM" edate="2009-04-04"
etime="6:00 AM" room="TBA" title="CTRL-D">
<short>
<p>
Join the Club That Really Likes Dinner for the End Of Term
party! Inquire closer to the date for details.
</p>
</short>
<abstract>
<p>
This is not an official club event and receives no funding.
Bring food, drinks, deserts, etc.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-27" time="6:00 PM" edate="2009-03-28"
etime="12:00 PM" room="Comfy Lounge (MC)"
title="Code Party">
<short>
<p>
CSC Code Party! Same as always - no sleep, lots of caffeine,
and really nerdy entertainment. Bonus: Free Cake!
</p>
</short>
<abstract>
<p>
This code party will have the usual, plus it will double as the
closing of the programming contest. Our experts will be
available to help you polish off your submission.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-19" time="4:30 PM" edate="2009-03-28"
etime="12:00 PM" room="MC2061"
title="Artificial Intelligence Contest">
<short>
<p>
Come out and try your hand at writing a computer program that
plays Minesweeper Flags, a two-player variant of the classic
computer game, Minesweeper. Once you're done, your program
will compete head-to-head against the other entries in a
fierce Minesweeper Flags tournament. There will be a contest
kick-off session on Thursday March 19 at 4:30 PM in room
MC3036. Submissions will be accepted until Saturday March 28.
</p>
</short>
<abstract>
<p>
Come out and try your hand at writing a computer program that
plays Minesweeper Flags, a two-player variant of the classic
computer game, Minesweeper. Once you're done, your program
will compete head-to-head against the other entries in a
fierce Minesweeper Flags tournament. There will be a contest
kick-off session on Thursday March 19 at 4:30 PM in room
MC3036. Submissions will be accepted until Saturday March 28.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-05" time="4:30 PM" edate="2009-03-05"
etime="6:30 PM" room="Comfy Lounge"
title="SIGGRAPH Night">
<short>
<p>
Come out and watch the SIGGRAPH (Special Interest Group on
Graphics) conference video review. A video of insane, amazing,
and mind blowing computer graphics. .
</p>
</short>
<abstract>
<p>
The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a
conference yearly in which the latest and greatest in computer
graphics premier. They record video and as a result produce a
very nice Video Review of the conference. Come join us watching
these videos, as well as a few professors from the UW Computer
Graphics Lab. There will be some kind of food and drink, and its
guranteed to be dazzling.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-12" time="8:00 AM" edate="2009-03-13"
etime="9:00 PM" room="Toronto Hilton"
title="Canadian Undergraduate Technology Conference">
<short>
<p>
See <a href="http://www.cutc.ca">cutc.ca</a> for more details.
</p>
</short>
<abstract>
<p>
The Canadian Undergraduate Technology Conference is Canada's
largest student-run conference. From humble roots it has emerged
as a venue that offers an environment for students to grow
socially, academically, and professionally. We target to exceed
our past record of 600 students from 47 respected institutions
nationwide. The event mingles ambitious as well as talented
students with leaders from academia and industry to offer
memorable experiences and valuable opportunities.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-09" time="3:00 PM" room="DC1302"
title="Prabhakar Ragde">
<short><p>
Functional Lexing and Parsing</p></short>
<abstract>
<p>
This talk will describe a non-traditional functional approach
to the classical problems of lexing (breaking a stream of
characters into "words" or tokens) and parsing (identifying
tree structure in a stream of tokens based on a grammar,
e.g. for a programming language that needs to be compiled or
interpreted). The functional approach can clarify and organize
a number of algorithms that tend to be opaque in their
conventional imperative presentation. No prior background in
functional programming, lexing, or parsing is assumed.
</p>
</abstract>
</eventitem>
<eventitem date="2009-03-12" time="5:00 PM" etime="7:00 PM" room="RAC2009"
title="IQC - Programming Quantum Computers">
<short>
<p>
A brief intro to Quantum Computing and why it matters,
followed by a talk on programming quantum computers. Meet at
the CSC at 4:00PM for a guided walk to the RAC.
</p>
</short>
<abstract>
<p>
Raymond Laflamme is the director of the Institute for Quantum
Computing at the University of Waterloo and holds the Canada
Research Chair in Quantum Information. He will give a brief
introduction to quantum computing and why it matters, followed
by a talk on programming quantum computers. There will be
tours of the IQC labs at the end, and pizza will be provided
back at the CSC for all attendees.
</p>
</abstract>
</eventitem>
<eventitem date="2009-02-27" time="5:00 PM" etime="7:00 PM" room="CSC Office: MC3036" title="Dooly's Night">
<short><p>
Come join the CSC as we head to Dooly's.</p></short>
<abstract><p>
Meet us at the Club office as we head to Dooly's for cheap tables and good times.</p></abstract>
</eventitem>
<eventitem date="2009-02-05" time="5:30 PM" room="MC2062 and MC2063" title="UNIX 101 and 102">
<short><p>
Continuing the popular Unix Tutorials with a rerun of 101 and the debut of 102.</p></short>
<abstract><p>
Unix 101 is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. </p><p>
Unix 102 is a follow up to Unix 101, requiring basic knowledge of the shell.
If you missed Unix101 but still know your way around you should be fine.
Topics covered include: "real" editors, document typesetting with LaTeX
(great for assignments!), bulk editing, spellchecking, and printing in the
student environment and elsewhere. </p><p>
If you aren't interested or feel comfortable with these taskes, watch out for
Unix 103 and 104 to get more depth in power programming tools on Unix. </p></abstract>
</eventitem>
<eventitem date="2009-02-03" time="5:30 PM" room="MC3003" title="UNIX 101">
<short><p> New to Unix? No problem, we'll teach you to power use circles around your friends!</p></short>
<abstract><p>This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.</p></abstract>
</eventitem>
<eventitem date="2009-02-06" time="7:00 PM" room="Comfy Lounge" title="Code Party!">
<short>
<p>
There is a CSC Code Party starting at 7:00PM (19:00). Come out
and enjoy some good old programming and meet others interested
in writing code! Free energy drinks and snacks for all. Plus,
we have lots of things that need to be done if you're looking
for a project to work on!
</p>
</short>
<abstract>
<p>
Code Party. Awesome. Need we say more?
</p>
</abstract>
</eventitem>
<eventitem date="2009-01-16" time="7:30 PM" room="Comfy Lounge" title="Code party !!11!!1!!">
<short><p>There is a CSC Code Party Tonight starting at 7:30PM
(1930) until we get bored (likely in the early in morning). Come
out for fun hacking times, spreading Intertube memes (optional),
hacking on the OpenMoko, creating music mixes, and other general
classyness. If we manage to swing it, there will be delicious
energy drinks for your consumption! Alternatively, if we don't we
will have each other as well as some delicious tea and
coffee. Perhaps a crumpet
</p></short>
<abstract><p>There is a CSC Code Party Tonight starting at 7:30PM
(1930) until we get bored (likely in the early in
morning). Come out for fun hacking times, spreading Intertube
memes (optional), hacking on the OpenMoko, creating music
mixes, and other general classyness. If we manage to swing it,
there will be delicious energy drinks for your consumption!
Alternatively, if we don't we will have each other as well as
some delicious tea and coffee. Perhaps a crumpet
</p></abstract>
</eventitem>
<eventitem date="2009-01-29" time="6:30 PM" room="Modern Languages Theatre" title="Richard M. Stallman">
<short><p> The Free Software Movement and the GNU/Linux Operating System </p>
</short>
<abstract>
<p>
Richard Stallman will speak about the Free Software Movement, which
campaigns for freedom so that computer users can cooperate to
control their own computing activities. The Free Software Movement
developed the GNU operating system, often erroneously referred to as
Linux, specifically to establish these freedoms.</p>
<p><b>About Richard Stallman:</b>
Richard Stallman launched the development of the GNU operating system (see
<a href="http://www.gnu.org">www.gnu.org</a>) in 1984. GNU is free
software: everyone has the freedom to copy it and redistribute it,
as well as to make changes either large or small. The GNU/Linux
system, basically the GNU operating system with Linux added, is used
on tens of millions of computers today. Stallman has received the
ACM Grace Hopper Award, a MacArthur Foundation fellowship, the
Electronic Frontier Foundation's Pioneer award, and the the Takeda
Award for Social/Economic Betterment, as well as several honorary
doctorates.</p>
</abstract>
</eventitem>
<eventitem date="2009-01-22" time="12:00 PM" room="MC5136" title="Joel Spolsky">
<short><p> Joel Spolsky, of <a href="http://www.joelonsoftware.com">Joel on Software</a> will be giving a talk entitled "Computer Science Education and the Software Industry".</p>
</short>
<abstract><p><b>About Joel Spolsky:</b> Joel Spolsky is a
globally-recognized expert on the software development process. His
website <em>Joel on Software</em>
(<a href="http://www.joelonsoftware.com/">www.joelonsoftware.com</a>)
is popular with software developers around the world and has been
translated into over thirty languages. As the founder
of <a href="http://www.fogcreek.com/">Fog Creek Software</a> in New
York City, he
created <a href="http://www.fogcreek.com/FogBugz">FogBugz</a>, a
popular project management system for software teams. He is the
co-creator of <a href="http://stackoverflow.com/">Stack
Overflow</a>, a programmer Q&amp;A site. Joel has worked at
Microsoft, where he designed VBA as a member of the Excel team, and
at Juno Online Services, developing an Internet client used by
millions. He has
written <a href="http://www.joelonsoftware.com/BuytheBooks.html">four
books</a>: <em>User Interface Design for Programmers</em> (Apress,
2001), <em>Joel on Software</em> (Apress, 2004), <em>More Joel on
Software </em>(Apress, 2008), and <em>Smart and Gets Things Done:
Joel Spolsky's Concise Guide to Finding the Best Technical
Talent </em>(Apress, 2007). He also writes a monthly column
for<strong> </strong><em><a href="http://www.inc.com/">Inc
Magazine</a>. </em>Joel holds a BS from Yale in Computer
Science. Before college he served in the Israeli Defense Forces as a
paratrooper, and he was one of the founders of Kibbutz Hanaton.</p>
</abstract>
</eventitem>
<eventitem date="2009-01-13" time="4:20 PM" room="Comfy Lounge" title="Term Elections">
<short><p>Winter Elections</p>
</short>
</eventitem>
<!-- Fall 2008 -->
<eventitem date="2008-11-15" time="6:30 AM" room="Toronto" title="Changing the World Conference">
<short><p>Organized by Queen's students, Changing the World aims to bring together the world's greatest visionaries to inspire people to innovate and better our world. Among these speakers include Nobel Peace Prize winner, Eric Chivian. He was a recipient for his work on stopping nuclear war.
</p></short>
<abstract><p>Organized by Queen's students, Changing the World
aims to bring together the world's greatest visionaries to
inspire people to innovate and better our world. Among these
speakers include Nobel Peace Prize winner, Eric Chivian. He
was a recipient for his work on stopping nuclear war.
</p><p>The conference is modeled after TED (Technology,
Entertainment, Design), an annual conference uniting the
world's most fascinating thinkers and doers, and like TED,
each speaker is given 18 minutes to give the talk of their
lives.
</p><p>Specifically for students in CS/Math, 50 tickets have
been reserved (non-students: $500). For those who would like
to attend, please pick up your ticket in the Computer Science
Club office. The tickets are limited and they are first come
first serve.
</p></abstract>
</eventitem>
<eventitem date="2008-11-06" time="10:00 AM" room="SLC Multipurpose Room" title="Linux Install Fest">
<short><p>Come join the CSC in celebrating the new releases of
Ubuntu Linux, Free BSD and Open BSD, and get a hand installing one
of them on your own system.
</p></short>
<abstract><p>Come join the CSC in celebrating the new releases of
Ubuntu Linux, Free BSD and Open BSD, and get a hand installing
one of them on your own system.
</p><p>This is an event to celebrate the releases of new
versions of Ubuntu Linux, OpenBSD, and FreeBSD. CDs will be
available and everyone is invited to bring their PC or laptop
to get help installing any of these Free operating
systems. Knowledgeable CSC members will be available to help
with any installation troubles, or to troubleshooting any
existing problems that users may have.
</p><p>This event will also promote gaming on Linux, as well as
FLOSS (Free/Libre and Open Source Software) in general. We may
also have a special guest (Ian Darwin, of OpenBSD and OpenMoko
fame).
</p></abstract>
</eventitem>
<eventitem date="2008-11-10" time="4:30 PM" room="MC4061" title="Functional Programming">
<short><p>This talk will survey concepts, techniques, and
languages for functional programming from both historical and
contemporary perspectives, with reference to Lisp, Scheme, ML,
Haskell, and Erlang. No prior background is assumed.
</p></short>
<abstract><p>This talk will survey concepts, techniques, and
languages for functional programming from both historical and
contemporary perspectives, with reference to Lisp, Scheme, ML,
Haskell, and Erlang. No prior background is assumed.
</p></abstract>
</eventitem>
<eventitem date="2008-10-24" time="6:00 PM" room="Comfy Lounge" title="Code Party">
<abstract><p>
Come join us for a night of coding. Get in touch with more experianced coders,
advertize for/bug squash on your favourite open source project, write that personal
project you were planning to do for a while but haven't found the time. Don't
have any ideas but want to sit and hack? We can find something for you to do.
</p></abstract>
<short><p>
A fevered night of code, friends, fun, free energy drinks, and the CSC.
</p></short>
</eventitem>
<eventitem date="2008-10-16" time="4:30 PM" room="Comfy Lounge" title="SIGGRAPH Night">
<short><p>
Come out and watch the SIGGRAPH (Special Interest Group on Graphics) conference video
review. A video of insane, amazing, and mind blowing computer graphics.
</p></short>
<abstract><p>
The ACM SIGGRAPH (Special Interest Group on Graphics) hosts a conference yearly
in which the latest and greatest in computer graphics premier. They record video
and as a result produce a very nice Video Review of the conference. Come join us
watching these videos, as well as a few professors from the UW Computer Graphics
Lab. There will be some kind of food and drink, and its guranteed to be dazzling.
</p></abstract>
</eventitem>
<eventitem date="2008-09-12" time="4:30 PM" room="Comfy Lounge" title="Meet the CSC">
<short><p>
Come out and meet other CSC members, find out about the CSC, meet the executive
nominees, and join if you like what you see. Nominees should plan on attending.
</p></short>
</eventitem>
<eventitem date="2008-09-16" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
<short><p>
Elections are scheduled for Tues, Sep 16 @ 4:30 pm in the comfy lounge.
The nomination period closes on Mon, Sep 15 @ 4:30 pm. Nominations may be
sent to cro@csclub.uwaterloo.ca. Candidates should not engage in
campaigning after the nomination period has closed.
</p></short>
</eventitem>
<eventitem date="2008-09-25" time="4:30 PM" room="MC2037" title="Unix 101">
<short><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>
This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2008-10-07" time="4:30 PM" room="MC2037" title="Unix 101">
<short><p>
New to Unix? No problem, we'll teach you to power use circles around your friends!
</p></short>
<abstract><p>
This first tutorial is an introduction to the Unix shell environment, both on the student
servers and on other Unix environments. Topics covered include: using the shell, both basic
interaction and advanced topics like scripting and job control, the filesystem and manipulating
it, and ssh. If you feel you're already familiar with these topics don't hesitate to come
to Unix 102 to learn about documents, editing, and other related tasks, or watch out
for Unix 103 and 104 that get much more in depth into power programming tools on Unix.
</p></abstract>
</eventitem>
<eventitem date="2008-10-09" time="4:30 PM" room="MC2037" title="Unix 102">
<short><p>
Want more from Unix? No problem, we'll teach you to create and quickly edit high quality documents.
</p></short>
<abstract><p>
This is a follow up to Unix 101, requiring basic knowledge of the shell. If you missed
Unix101 but still know your way around you should be fine. Topics covered include: "real" editors,
document typesetting with LaTeX (great for assignments!), bulk editing, spellchecking, and printing
in the student environment and elsewhere. If you aren't interested or feel comfortable with these
taskes, watch out for Unix 103 and 104 to get more depth in power programming tools on Unix. If you
don't think you're ready go to Unix 101 on Tuesday to get familiarized with the shell environment.
</p></abstract>
</eventitem>
<eventitem date="2008-10-03" time="4:30 PM" room="MC2065" title="Game Sketching">
<short><p>Juancho Buchanan, CTO Relic Entertainment</p></short>
<abstract><p>
In this talk I will give an overview of the history of Relic and our
development philosophy. The Talk will then proceed to talk about work
that is being pursued in the area of early game prototyping with the
introduction of game sketching methodology.
</p>
<p>
Bio:
Fired from his first job for playing Video Games Juancho Buchanan is
currently the director of Technology for Relic Entertainment. Juancho
Buchanan Wrote his first game in 1984 but then pursued other interests
which included a master's in Program Visualization, A Doctorate in
Computer Graphics, a stint as a professor at the University of Alberta
where he pioneered early work in Non photo realistic rendering, A stint
at Electronic Arts as Director, Advanced Technology, A stint at EA as
the University Liaison Dude, A stint at Carnegie Mellon University where
he researched the Game Sketching idea. His current role at Relic has
him working with the soon to be released Dawn of War II.
</p></abstract>
</eventitem>
<eventitem date="2008-10-02" time="4:30 PM" room="MC4021" title="General Meeting 2">
<short><p>
The second official general meeting of the term. Items on the adgenda are CSC Merch,
upcoming talks, and other possible planned events, as well as the announcement of
a librarian and planning of an office cleanout and a library organization day.
</p></short>
</eventitem>
<!-- Spring 2008 -->
<!-- Winter 2008 -->
<eventitem date="2008-02-08" time="4:30 PM" room="MC4042" title="A Brief History of Blackberry and the Wireless Data Telecom Industry">
<short>Tyler Lessard</short>
<abstract><p>
Tyler Lessard from RIM will present a brief history of BlackBerry
technology and will discuss how the evolution of BlackBerry as an
end-to-end hardware, software and services platform has been
instrumental to its success and growth in the market. Find out how the
BlackBerry service components integrate with wireless carrier networks
and get a sneak peek at where the wireless data market is going.
</p></abstract>
</eventitem>
<eventitem date="2008-02-29" time="5:00 PM" room="BFG2125" title="Quantum Information Processing">
<short>Raymond Laflamme</short>
<abstract><p>
Information processing devices are pervasive in our society; from the 5
dollar watches to multi-billions satellite network. These devices have
allowed the information revolution which is developing around us. It has
transformed not only the way we communicate or entertain ourselves but
also the way we do science and even the way we think. All this
information is manipulated using the classical approximation to the laws
of physics, but we know that there is a better approximation: the
quantum mechanical laws. Would using quantum mechanics for information
processing be an impediment or could it be an advantage? This is the
fundamental question at the heart of quantum information processing
(QIP). QIP is a young field with an incredible potential impact reaching
from the way we understand fundamental physics to technological
applications. I will give an overview of the Institute for Quantum
Computing, comment on the effort in this field at Waterloo and in
Canada and, time permitted visit some of the IQC labs.
</p></abstract>
</eventitem>
<eventitem date="2008-02-14" time="4:00PM" room="MC2061" title="CSC Programming Contest 1">
<short>Yes, we know this is Valentine's Day.</short>
<abstract><p>
Contestants will be writing an artificial intelligence to play Risk. The
prize will be awarded to the intelligence which wins the most
head-to-head matches against competing entries. We're providing easy
APIs for several languages, as well as full documentation of the game
protocol so contestants can write wrappers for any additional language
they wish to work in.
</p>
<p>
We officially support entries in Scheme, Perl, Java, C, and C++. If you
would like help developing an API for some other language contact us
through the systems committee mailing list (we will require that your API
is made available to all entrants).
</p>
<p>
To kick off the contest we're hosting an in-house coding session starting
at 4:00PM on Thursday, February 14th in MC2061. Members of our contest
administration team will be available to help you work out the details of
our APIs, answer questions, and provide the necessities of life (ie,
pizza). Submissions will open no later than 5:00PM on February 14th
and will close no earlier than 12:00PM on February 17th.
</p>
<p>
Visit our contest site <a href="http://csclub.uwaterloo.ca/contest/"> here!</a>
</p></abstract>
</eventitem>
<eventitem date="2008-01-23" time="5:00 PM" room="MC 4020" title="Creating Distributed Applications with TIPC">
<short>Elmer Horvath</short>
<abstract><p>
The problem: coordinating and communicating between multiple processors
in a distributed system (possibly containing heterogeneous elements)
</p><p>
The open source TIPC (transparent interprocess communication) protocol
has been incorporated into the Linux kernel and is available in VxWorks
and, soon, other OSes. This emerging protocol has a number of
advantages in a clustered environment to simplify application
development while maintaining a familiar socket programming interface.
The service oriented capabilities of TIPC help in applications easily
finding required services in a system. The location transparent aspect
of TIPC allows services to be located anywhere in the system as well as
allowing redundant services for both load reduction and backup.
Learn about the emerging cluster protocol.
</p></abstract>
</eventitem>
<eventitem date="2008-01-15" time="4:30 PM" room="Comfy Lounge" title="CSClub Elections">
<short><p>
Elections are scheduled for Tues, Jan 15 @ 4:30 pm in the comfy lounge.
The nomination period closes on Mon, Jan 14 @ 4:30 pm. Candidates should
not engage in campaigning after the nomination period has closed.
</p></short>
</eventitem>
<!-- fall 2007 -->
<eventitem date="2007-10-19" time="5:00 PM" room="MC4058" title="General Meeting">
<short>
<p>
There is a general meeting scheduled for Friday, October 19, 2007 at 17:00.
</p>
<p>
This is a chance to bring out any ideas and concerns about CSC happenings into the open, as well as a chance to make sure all CSC staff is up to speed on current CSC doings. The current agenda can be found at <a href="http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007">http://wiki.csclub.uwaterloo.ca/wiki/Friday_19_October_2007.</a>
</p>
</short>
</eventitem>
<eventitem date="2007-09-25" time="1:30 PM" room="DC 1302" title="Virtual Reality, Real Law: The regulation of Property in Video Games">
<short>Susan Abramovitch</short>
<abstract>
<p>
This talk is run by the School of Computer Science
</p>
<p>
How should virtual property created in games, such as weapons used in
games like Mir 3 and real estate or clothing created or acquired in
games like Second Life, be treated in law. Although the videogaming
industry continues to multiply in value, virtual property created in
virtual worlds has not been formally recognized by any North American
court or legislature. A bridge has been taking shape from gaming's
virtual economies to real world economies, for example, through
unauthorized copying of designer clothes sold on Second Life for in-game
cash, or real court damages awarded against deletion of player-earned
swords in Mir 3. The trading of virtual property is important to a
large number of people and property rights in virtual property are
currently being recognized by some foreign legal bodies.
</p>
<p>
Susan Abramovitch will explain the legal considerations in determining
how virtual property can or should be governed, and ways it can be
legally similar to tangible property. Virtual property can carry both
physical and intellectual property rights. Typically video game
developers retain these rights via online agreements, but Ms.
Abramovitch questions whether these rights are ultimately enforceable
and will describe policy issues that may impact law makers in deciding
how to treat virtual property under such agreements.
</p>
</abstract>
</eventitem>
<eventitem date="2007-10-02" time="4:30 PM" room="MC4061" title="Putting the fun into Functional Languages and Useful Programming with OCaml/F#">
<short>Brennan Taylor</short>
<abstract>
<p>A lecture on why functional languages are important, practical applications, and some neat examples. Starting with an introduction to
basic functional programming with ML syntax, continuing with the strengths of OCaml and F#, followed by some exciting examples. Examples include GUI
programming with F#, Web Crawlers with F#, and OpenGL/GTK programming with OCaml. This lecture aims to display how powerful functional languages can
be.</p>
</abstract>
</eventitem>
<eventitem date="2007-10-09" time="4:45 PM" room="MC 4060" title="Join-Calculus with JoCaml. Concurrent programming that doesn't fry your brain">
<short>Brennan Taylor</short>
<abstract>
<p>
A lecture on the fundamentals of Pi-Calculus followed by an introduction
to Join-Calculus in JoCaml with some great examples. Various concurrent
control structures are explored, as well as the current limitations of
JoCaml. The examples section will mostly be concurrent programming,
however some basic distributed examples will be explored. This lecture
focuses on how easy concurrent programming can be.
</p>
</abstract>
</eventitem>
<eventitem date="2007-10-15" time="4:30 PM" room="MC4041" title="Off-the-Record Messaging: Useful Security and Privacy for IM">
<short>Ian Goldberg</short>
<abstract>
<p>
Instant messaging (IM) is an increasingly popular mode of communication
on the Internet. Although it is used for personal and private
conversations, it is not at all a private medium. Not only are all of
the messages unencrypted and unauthenticated, but they are all
routedthrough a central server, forming a convenient interception point
for an attacker. Users would benefit from being able to have truly
private conversations over IM, combining the features of encryption,
authentication, deniability, and forward secrecy, while working within
their existing IM infrastructure.
</p>
<p>
In this talk, I will discuss "Off-the-Record Messaging" (OTR), a widely
used software tool for secure and private instant messaging. I will
outline the properties of Useful Security and Privacy Technologies that
motivated OTR's design, compare it to other IM security mechanisms, and
talk about its ongoing development directions.
</p>
<p>
Ian Goldberg is an Assistant Professor of Computer Science at the
University of Waterloo, where he is a founding member of the
Cryptography, Security, and Privacy (CrySP) research group. He holds a
Ph.D. from the University of California, Berkeley, where he discovered
serious weaknesses in a number of widely deployed security systems,
including those used by cellular phones and wireless networks. He also
studied systems for protecting the personal privacy of Internet users,
which led to his role as Chief Scientist at Zero-Knowledge Systems (now
known as Radialpoint), where he commercialized his research as the
Freedom Network.
</p>
</abstract>
</eventitem>
<eventitem date="2007-11-20" time="4:30 PM" room="MC 4041" title="Why you should care about functional programming with Haskell *New-er Date*">
<short>Andrei Barbu</short>
<abstract>
</abstract>
</eventitem>
<eventitem date="2007-11-22" time="4:30 PM" room="MC 4041" title="More Haskell functional programming fun!">
<short>Andrei Barbu</short>
<abstract>
Haskell is a modern lazy, strongly typed functional language with type inferrence. This talk will focus on multiple monads, existential types,
lambda expressions, infix operators and more. Along the way we'll see a parser and interpreter for lambda calculus using monadic parsers. STM,
software transactional memory, a new approach to concurrency, will also be discussed. Before the end we'll also see the solution to an ACM problem
to get a hands on feeling for the language. Don't worry if you haven't seen the first talk, you should be fine for this one anyway!
</abstract>
</eventitem>
<eventitem date="2007-11-29" time="4:30 PM" room="MC 4061" title="Concurrent / Distributed programming with JoCaml">
<short>Brennan Taylor</short>
<abstract>
<p>
A lecture on the fundamentals of Pi-Calculus followed by an introduction to Join-Calculus in JoCaml with some great examples.
Various concurrent control structures are explored, as well as the current limitations of JoCaml. The examples section will
mostly be concurrent programming, however some basic distributed examples will be explored. This lecture focuses on how easy
concurrent programming can be.
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-04" time="4:30 PM" room="TBA" title="PE Executable Translation: A solution for legacy games on linux (Postponed)">
<short>David Tenty</short>
<abstract>
<p>
With today's fast growing linux user base, a large porportion of legacy applications have established open-source equivalents or ports.
However, legacy games provided an intresting problem to gamers who might be inclinded to migrate to linux or other open platforms.
PE executable translation software will be presented that provides a solution to this dilema and will be contrasted with the windows compatiblity framwork Wine.
Postponed to a later date.
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-01" time="1:30 PM" room="MC 2037" title="Programming Contest">
<short>Win Prizes!</short>
<abstract>
<p>
The Computer Science club is holding a programming contest from 1:00 to 6:30 open to all! C++,C,Perl,Scheme are allowed.
Prizes totalling in value of $75 will be distributed. You can participate online! For more information, including source files visit <a href="http://www.csclub.uwaterloo.ca/contest">http://www.csclub.uwaterloo.ca/contest</a>
</p>
<p>
And Free Pizzaa for all who attend!
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-02" time="2:30 PM" room="TBA" title="Multi-Player Linux games for Linux awarness week">
<short>Multi-Player Gaming with Linux [Possibly Pizza!]</short>
<abstract>
<p>
Come out for multi-player gaming on Linux. If you don't have linux on your machine, we will have LiveCDs available.
Lots of fun! Possible Pizzaa!
</p>
</abstract>
</eventitem>
<eventitem date="2007-10-04" time="4:30 PM" room="TBA" title="Distributed Programming with Erlang">
<short>Brennan Taylor</short>
<abstract>
<p>
A quick introduction on the current state of distributed programming and various grid computing projects. Followed by some
history and features of the Erlang language and finishing with distributed examples including operating on a cluster.
</p>
</abstract>
</eventitem>
<eventitem date="2007-12-05" time="4:30 PM" room="MC 4061" title="Google Summer of Code, a look back on 2007">
<short>Holden Karau</short>
<abstract>
<p>
An overview on Google Summer of Code 2007. This talk will look at some of the Summer of Code projects, the project organization, etc.
</p>
<p>
Holden Karau participated in Google Summer of Code 2007 as a student on the subversion team. He created a set of scheme bindings for the
subversion project.
</p>
</abstract>
</eventitem>
<!--spring 2007-->
<eventitem date="2007-07-17" time="7:00 PM" room="AL 116" title="C++0x - An Overview">
<short>Bjarne Stroustrup</short>
<abstract><p>
A good programming language is far more than a simple collection of
features. My ideal is to provide a set of facilities that smoothly work
together to support design and programming styles of a generality beyond
my imagination. Here, I briefly outline rules of thumb (guidelines,
principles) that are being applied in the design of C++0x. Then, I
present the state of the standards process (we are aiming for C++09) and
give examples of a few of the proposals such as concepts, generalized
initialization, being considered in the ISO C++ standards committee.
Since there are far more proposals than could be presented in an hour,
I'll take questions.
</p></abstract>
</eventitem>
<eventitem date="2007-07-06" time="4:30 PM" room="AL 116" title="Copyright vs Community in the Age of Computer Networks">
<short>Richard Stallman</short>
<abstract><p>
Copyright developed in the age of the printing press, and was designed
to fit with the system of centralized copying imposed by the printing
press. But the copyright system does not fit well with computer
networks, and only draconian punishments can enforce it.
</p><p>
The global corporations that profit from copyright are lobbying for
draconian punishments, and to increase their copyright powers, while
suppressing public access to technology. But if we seriously hope to
serve the only legitimate purpose of copyright--to promote progress, for
the benefit of the public--then we must make changes in the other
direction.
</p><p>
The CSC would like to thank MEF and Mathsoc for funding this talk.
</p><p>
<a href="http://www.fsf.org/events/waterloo20070706">The Freedom Software Foundation's description</a><br />
<a href="http://www.defectivebydesign.org">FSF's anti-DRM campaign</a><br />
<a href="http://www.badvista.org">Why you shouldn't use Microsoft Vista</a><br />
<a href="http://www.gnu.org">The GNU's Not Unix Project</a><br />
</p></abstract>
</eventitem>
<eventitem date="2007-06-27" time="4:30 PM" room="MC 4042" title="Usability in the wild">
<short>A talk by Michael Terry</short>
<abstract><p>
What is the typical monitor resolution of a GIMP user? How many monitors
do they have? What size images do they work on? How many layers are in
their images? The answers to these questions are generally unknown: No
means currently exist for open source applications to collect usage
data. In this talk, I will present ingimp, a version of GIMP that has
been instrumented to automatically collect usage data from real-world
users. I will discuss ingimp's design, the type of data we collect, how
we make the data available on the web, and initial results that begin to
answer the motivating questions.
</p><p>
ingimp can be found at http://www.ingimp.org.
</p></abstract>
</eventitem>
<eventitem date="2007-06-22" time="4:30 PM"
room="MC 4042"
title="Email encryption for the masses">
<short>Ken Ho</short>
<abstract><p>
E-mail transactions and confirmations have become commonplace and the
information therein can often be sensitive. We use email for purposes as
mundane as inbound marketing, to as sensitive as account passwords and
financial transactions. And nearly all our email is sent in clear text;
we trust only that others will not eavesdrop or modify our messages. But
why rely on the goodness or apathy of your fellow man when you can
ensure your message's confidentiality with encryption so strong not even
the NSA can break? Speaker (Kenneth Ho) will discuss email encryption,
and GNU Privacy Guard to ensure that your messages are sent, knowing
that only your intended recipient can receive it.
</p><p>An optional code-signing party will be held immediately
afterwards; if you already have a PGP or GPG key and wish to
participate, please submit the public key to
<a href="mailto:gpg-keys@csclub.uwaterloo.ca">
gpg-keys@csclub.uwaterloo.ca</a>.
</p><p>
Laptop users are invited also to participate in key-pair sharing
on-site, though it is preferable to send keys ahead of time.
</p></abstract>
</eventitem>
<eventitem date="2007-06-18" time="4:30 PM"
room="DC 4040" title="Fedspulse.ca, Web 3.0, Portals and the Metaverse">
<short>Peter Macdonald</short>
<abstract><p>
The purpose of the talk is to address how students interact with the
internet, and possibilities for how they could do so more efficiently.
Information on events and happenings on UW campus is currently hosted
on a desperate, series of internet applications. Interactions with
WatSFIC is done over a Yahoo! mailing list, GLOW is organized through a
Facebook group, campus information at large comes from
<a href="http://imprint.uwaterloo.ca">imprint.uwaterloo.ca</a>. There
has been historical pressures from various bodies, including some
thinkers in feds and the administration, to centralize these issues. To
create a one stop shop for students on campus.
</p><p>
It is not through confining data in cages that we will finally link all
student activities together, instead it is by truly freeing it. When
data can be anywhere, then it will be everywhere students need it. This
is the underlying concept behind metadata, data that is freed from the
confines of it's technical imprisonment. Metadata is the extension of
people, organizations, and activities onto the internet in a way that is
above the traditional understanding of how people interact with their
networks. The talk will explore how Metadata can exist freely on the
internet, how this affects concepts like Web 3.0, and how the university
and the federation are poised to take advantage of this burgeoning new
technology through adoptions of portals which will allow students to
interact with a metaverse of data.
</p></abstract>
</eventitem>
<!-- Winter 2007 -->
<eventitem date="2007-04-11" time="3:30 PM" room="Hagey Hall" title="The Free Software Movement and the GNU/Linux Operating System">
<short>A talk by Richard M. Stallman (RMS) <b>[CANCELLED]</b></short>
<abstract><p>
Richard Stallman has cancelled his trip to Canada.
</p></abstract>
</eventitem>
<eventitem date="2007-04-08" time="4:30pm" room="MC 4041" title="Loop Optimizations">
<short>A talk by Simina Branzei</short>
<abstract><p>
Abstract coming soon!
</p></abstract>
</eventitem>
<eventitem date="2007-04-01" time="4:30 PM" room="MC 3036" title="Surprise
Bill Gates Visit">
<short>Bill Gates is coming to visit the CSClub</short>
<abstract>
<p>
While reading Slashdot, Bill came across the recently digitized audio
recording of his 1989 talk at the Computer Science Club. As Bill has always
had a soft-spot for the Computer Science Club, he has decided to pay us a
surprise visit.
</p><p>
Bill promises to give away free copies of Windows Vista Ultimate, because
frankly, nobody here (except j2simpso) wants to pay for a frisbee. Be sure
to bring your resumes kids, because Bill will be recruiting for some
exciting new positions at Microsoft, including Mindless Drone, Junior Code
Monkey, and Assistant Human Cannonball.
</p>
</abstract>
</eventitem>
<eventitem date="2007-03-28" time="5:30 PM"
room="MC 1056" title="Computational Physics Simulations">
<short>A talk by David Tenty and Alex Parent</short>
<abstract>
<p>
Coming Soon!
</p>
</abstract>
</eventitem>
<eventitem date="2007-03-29" time="4:30 PM"
room="MC 1056" title="All The Code">
<short>A demo/introduction to a new source code search engine. A talk by Holden Karau</short>
<abstract>
<p>
Source code search engines are a relatively new phenomenon . The general idea of most source code search engines is helping programmers find
pre-existing code. So if you were writing some code and you wanted to find a csv library, for example, you could search for csv.
<a href="http://www.allthecode.com/">All The Code</a> is a
next generation source code search engine. Unlike earlier generations of source code search engines, it considers how code is used to help determine
relevance of code.
</p>
<p>
The talk will primarily be a demo of <a href="http://www.allthecode.com">All The Code</a>,
along with a brief discussion of some of the technology behind it.
</p>
</abstract>
</eventitem>
<eventitem date="2007-04-04" time="4:00 PM"
room="MC 1056" title="Data Analysis with Kernels: [an introduction]">
<short>A talk by Michael Biggs. This talk is RESCHEDULED due to unexpected
circumstances</short>
<abstract>
<p>
I am going to take an intuitive, CS-style approach to a discussion about the
use of kernels in modern data analysis. This approach often lends us
efficient ways to consider a dataset under various choices of inner product,
which is roughly comparable to a measure of "similarity". Many new tools in
AI arise from kernel methods, such as the infamous Support Vector Machines for
classification, and kernel-PCA for nonlinear dimensionality reduction. I will
attempt to highlight, and provide visualization for some of the math involved
in these methods while keeping the material at an accessible, undergraduate
level.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-26" time="4:30 pm"
room="DC 1350" title="ReactOS: An Open Source OS Platform for Learning">
<short>A talk by Alex Ionescu</short>
<abstract>
<p>
The ReactOS operating system has been in development for over eight years and aims to provide users
with a fully functional and Windows-compatible distribution under the GPL license. ReactOS comes with
its own Windows 2003-based kernel and system utilities and applications, resulting in an environment
identical to Windows, both visually and internally.
</p><p>
More than just an alternative to Windows, ReactOS is a powerful platform for academia, allowing
students to learn a variety of skills useful to software testing, development and management, as well as
providing a rich and clean implementation of Windows NT, with a kernel compatible to published
internals book on the subject.
</p><p>
This talk will introduce the ReactOS project, as well as the various software engineering challenges
behind it. The building platform and development philosophies and utilities will be shown, and
attendees will grasp the vast amount of effort and organization that needs to go into building an
operating system or any other similarly large project. The speaker will gladly answer questions related to
his background, experience and interests and information on joining the project, as well as any other
related information.
</p><p>
<strong>Speaker Bio</strong>
</p><p>
Alex Ionescu is currently studying in Software Engineering at Concordia University in Montreal, Quebec
and is a Microsoft Technical Student Ambassador. He is the lead kernel developer of the ReactOS Project
and project leader of TinyKRNL. He regularly speaks at Linux and Open Source conferences around the
world and will be a lecturer at the 8th International Free Software Forum in Brazil this April, as well as
providing hands-on workshops and lectures on Windows NT internals and security to various companies.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-15" time="4:30 PM"
room="MC 2065" title="An Introduction to Recognizing Regular Expressions in Haskell">
<short>A talk by James deBoer</short>
<abstract>
<p>
This talk will introduce the Haskell programming language and and walk
through building a recognizer for regular languages. The talk will
include a quick overview of regular expressions, an introduction to
Haskell and finally a line by line analysis of a regular language
recognizer.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-09" time="4:30 PM"
room="MC 4041" title="Introduction to 3-d Graphics">
<short>A talk by Chris "The Prof" Evensen</short>
<abstract>
<p>
A talk for those interested in 3-dimensional graphics but unsure of where to
start. Covers the basic math and theory behind projecting 3-dimensional
polygons on screen, as well as simple cropping techniques to improve
efficiency. Translation and rotation of polygons will also be discussed.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-09" time="8:30 PM"
room="DC 1351" title="Writing World Class Software">
<short>A talk by James Simpson</short>
<abstract>
<p>
A common misconception amongst software developers is that top quality software
encompasses certain platforms, is driven by a particular new piece of
technology, or relies solely on a particular programming language. However as
developers we tend to miss the less hyped issues and techniques involved in
writing world class software. These techniques are universal to all
programming languages, platforms and deployed technologies but are often times
viewed as being so obvious that they are ignored by the typical developer. The
topics covered in this lecture will include:
</p><p>
- Writing bug-free to extremely low bug count software in real-time<br/>
- The concept of single-source, universal platform software<br/>
- Programming language interoperability<br/>
<br/>
... and other less hyped yet vitally important concepts to writing
World Class Software
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-08" time="4:30 PM"
room="MC 2066" title="UW Software Start-ups: What Worked and What Did Not">
<short>A talk by Larry Smith</short>
<abstract>
<p>
A discussion of software start-ups founded by UW students and what they did
that helped them grow and what failed to help. In order to share the most
insights and guard the confidences of the individuals involved, none of the
companies will be identified.
</p>
</abstract>
</eventitem>
<eventitem date="2007-02-07" time="4:30 PM"
room="MC 4041" title="Riding The Multi-core Revolution">
<short>How a Waterloo software company is changing the way people program computers.
A talk by Stefanus Du Toit</short>
<abstract>
<p>
For decades, mainstream parallel processing has been thought of as
inevitable. Up until recent years, however, improvements in
manufacturing processes and increases in clock speed have provided
software with free Moore's Law-scale performance improvements on
traditional single-core CPUs. As per-core CPU speed increases have
slowed to a halt, processor vendors are embracing parallelism by
multiplying the number of cores on CPUs, following what Graphics
Processing Unit (GPU) vendors have been doing for years. The Multi-
core revolution promises to provide unparalleled increases in
performance, but it comes with a catch: traditional serial
programming methods are not at all suited to programming these
processors and methods such as multi-threading are cumbersome and
rarely scale beyond a few cores. Learn how, with hundreds of cores in
desktop computers on the horizon, a local software company is looking
to revolutionize the way software is written to deliver on the
promise multi-core holds.
</p>
<p>
Refreshments (and possible pizza!) will be provided.
</p>
</abstract>
</eventitem>
<!-- <eventitem date="2007-01-24" time="4:00 PM"
room="TBA" title="TBA">
<short>A talk by Reg Quinton</short>
<abstract>
<p>
To be announced
</p>
</abstract>
</eventitem>
-->
<eventitem date="2007-01-31" time="4:00 PM"
room="MC 4041" title="Network Security -- Intrusion Detection">
<short>A talk by Reg Quinton</short>
<abstract>
<p>
IST monitors the campus network for vulnerabilities and scans
systems for security problems.
This informal presentation will look behind the scenes to show the
strategies and technologies used and to show the problem magnitude. We
will review the IST Security web site with an emphasis on these pages
</p><p>
<a href="http://ist.uwaterloo.ca/security/vulnerable/">http://ist.uwaterloo.ca/security/vulnerable/</a><br/>
<a href="http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html">http://ist.uwaterloo.ca/security/security-wg/reports/20061101.html</a><br/>
<a href="http://ist.uwaterloo.ca/security/position/20050524/">http://ist.uwaterloo.ca/security/position/20050524/</a><br/>
</p>
</abstract>
</eventitem>
<!--
<eventitem date="2007-01-31" time="4:30 PM"
room="TBA" title="An Brief Introduction to Projection Graphics">
<short>A talk by Christopher Evensen</short>
<abstract>
<p>
To be announced
</p>
</abstract>
</eventitem>
-->
<!-- Fall 2006 -->
<!-- Nothing happened :( -->
<!-- Spring 2006 -->
<eventitem date="2006-07-29" title="CTRL D" time="7:00pm" room="East Side Mario">
<short>Come out for the Club that Really Likes Dinner</short>
<abstract>
<p>
Summer: the sparrows whistle through the teapot-steam breeze. The
ubiquitous construction team tears the same pavement up for the third
time, hammering passers-by with dust and noise: our shirts, worn for
the third time, noisome from competing heat and shame. As Nature
continues her Keynesian rotation of policy, and as society decrees yet
another parting of ways, it is proper for the common victims to have
an evening to themselves, looking both back and ahead, imagining new
opportunities, and recognising those long since missed. God fucking
damn it.
</p>
<p>
This term's CTRL-D end-of-term dinner is taking place tomorrow
(Saturday) at 7:00 P.M. at East Side Mario's, in the plaza. Meet in
the C.S.C. fifteen minutes beforehand, so they don't take away our
seats or anything nasty like that.
</p>
<p>
A lot of people wanted to go to the Mongolian Grill, but I'm pretty
sure this place has a similar price-to-tasty ratio; what's more,
they'll actually grant us a reservation more than four nights a week.
I've confirmed that the crazy allergenic peanuts no longer exist
(sad), and they have a good vegetarian selection, which is likely
coincides with their kosher and halal menus.
</p>
<p>
Come out for the tasty and the awesome! If you pretend it's your
birthday, everyone's a loser! Tell your friends, because I told the
telephone I wanted to reserve for 10 to 12 people, and I don't wish to
sully Calum T. Dalek's good name!
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-26" title="Lemmings Day" time="3:30pm" room="MC Comfy Lounge">
<short>Come out for some retro Amiga-style Lemmings gaming action!</short>
<abstract>
<p>
Does being in CS make you feel like a lemming? Is linear algebra driving you
into walls? Do you pace back and forth, constantly, regardless of whatever's
in your path? Then you should come out to CSC Lemmings Day. This time, we're
playing the pseudo-sequel: Oh No! More Lemmings!
</p>
<ul>
<li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
<li>Projector screen: the pixels are man-sized!</li>
<li>Enjoy classic Lemmings tunes</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2006-07-25" title="Linux Installfest!" time="1:00pm" room ="DC Fishbowk">
<short>A part of Linux Awareness Week</short>
<abstract>
<p>
The Computer Science Club is once again stepping forward to fulfill its ancient duty to the people-this time by installing one of the many
fine distributions of Linux for you.
</p>
<p>
Ubuntu? Debian? Gentoo? Fedora? We might not have them all, but we seem to have an awful lot! Bring your boxen down to the D.C. Fishbowl for
the awesome!
</p>
<p>
Install Linux on your machine-install fear in your opponents!
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-24" title="Software development gets on the Cluetrain" time="4:30pm" room ="MC 4063">
<short>or How communities of interest drive modern software development.</short>
<abstract>
<p>
Simon Law leads the Quality teams for Ubuntu, a free-software operating
system built on Debian GNU/Linux. As such, he leads one of the largest
community-based testing efforts for a software product. This does get a
bit busy sometimes.
</p>
<p>
In this talk, we'll be exploring how the Internet is changing how
software is developed. Concepts like open source and technologies like
message forums are blurring the lines between producer and consumer.
And this melting pot of people is causing people to take note, and
changing the way they sling code.
</p>
<p>
Co-Sponsored with CS-Commons Committee
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-21" time="5:30 PM"
room="MC1085" title="March of the Penguins">
<short>The Computer Science Club will be showing March of the Penguins</short>
<abstract>
<p>
<a href="http://wip.warnerbros.com/marchofthepenguins/">March of the Penguins</a> , an epic nature documentary, as dictated
by some guy with a funny voice is being shown by the Computer Science club because penguins are cute and were bored [that and the
whole Linux awareness week that forgot to tell people about].
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-20" time="5:30 PM"
room="MC4041" title="Cool Stuff to do With Python">
<short>Albert O'Connor will be introducing the joys of programming in python</short>
<abstract>
<p>
Albert O'Connor, a UW grad, will be giving a ~30 minute talk on introducing the joys of programming python. Python is an open source
object-oriented programming language which is most awesome.
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-20" time="4:30 PM"
room="MC4041" title="Simulating multi-tasking on an embedded architecture">
<short>Alex Tsay will look at the common hack used to simulate multi-processing in a real time embedded environment.</short>
<abstract>
<p>
In an embedded environment resources are fairly limited, especially. Typically an embedded system has strict time constraints in which it must
respond to hardware driven interrupts and do some processing of its own. A full fledged OS would consume most of the available resources, hence
crazy hacks must be used to get the benefits without paying the high costs. This talk will look at the common hack used to simulate multi-processing
in a real time embedded environment.
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-19" title="Semacode: Image recognition on mobile camera phones" time="4:30 PM" room ="MC1085">
<short>Simon Woodside, founder of Semacode, comes to discuss image what it is like to start a business and how imaging code works</short>
<abstract>
<p>
Could you write a good image recognizer for a 100 MHz mobile phone
processor with 1 MB heap, 320x240 image, on a poorly-optimized Java
stack? It needs to locate and read two-dimensional barcodes made up of
square modules which might be no more than a few pixels in size. We
had to do that in order to establish Semacode, a local start up
company that makes a software barcode reader for cell phones. The
applications vary from ubiquitous computing to advertising. Simon
Woodside (founder) will discuss what it's like to start a business and
how the imaging code works.
</p>
</abstract>
</eventitem>
<eventitem date="2006-07-17" time="11:59 PM"
room="MC3036" title="Midnight Madness, Alpha Edition">
<short>Come out to discuss current &amp; future plans/projects for the Club</short>
<abstract>
<p>
The Computer Science Club (CSClub) has "new" DEC Alphas which are most awesome. Come out, help take them part, put them back
together, solder, and eat free food (probably pizza).
</p>
</abstract>
</eventitem>
<eventitem date="2006-06-21" time="4:30 PM"
room="MC4042" title="CSC General Meeting">
<short>Come out to discuss current &amp; future plans/projects for the Club</short>
<abstract>
<p>
The venue will include:</p>
<p><ul>
<li><p>Computer usage agreement discussion (Holden has some changes he'd like to propose)</p></li>
<li><p>Web site - Juti is redesigning the web site (you can see <a href="beta/">a beta here</a> - ideas are welcome.</p></li>
<li><p>Frosh Linux cd's that could be put in frosh math faculty kits.</p></li>
<li><p>VoIP "not phone services" ideas.</p></li>
<li><p>Ideas for talks (people, topics, etc...). We requested Steve Jobs and Steve Balmer, so no idea is too crazy.</p></li>
<li><p>Ideas for books.</p></li>
<li><p>General improvements/comments for the club.</p></li>
</ul></p>
<p>
If you have ideas, but can't attend, please email them to <a href="mailto:president@csclub.uwaterloo.ca">president@csclub.uwaterloo.ca</a> and they will be read them at the meeting.
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-25" time="4:00 PM" room="MC 4060" title="Eighteen Years in the Software Tools Business">
<short>Eighteen Years in the Software Tools Business at Microsoft, a talk by Rico Mariani, (BMath CS/EEE 1988)</short>
<abstract>
<p>
Rico Mariani, (BMath CS/EEE 1988) now an (almost) 18 year Microsoft veteran but then a CSC president comes to talk to us about the
evolution of software tools for microcomputers. This talk promises to be a little bit about history and perspective (at least from
the Microsoft side of things) as well as the evolution of software engineers, different types of programmers and their needs, and what
it's like to try to make the software industry more effective at what it does, and sometimes succeed!
</p>
<p>
A video of the talk is available for download in our <a href="media/">media</a> section.
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-14" time="1:00 PM" room="CSC" title="Unix 101 and 102 Recording">
<short>Unix 101 and 102 recording</short>
<abstract>
<p>
Have you heard of our famous Unix 101 and Unix 102 tutorials. We've decided to try
and put them on the web. This Sunday we will be doing a first take.
At the same time, we're going to be looking at adding new material
that we haven't covered in the past. </p>
<p>
Why should you come out? Not only will you get to hang out with a wonderful group of people,
you can help impart your knowledge to the world. Don't know anything about Unix? That's cool too,
we need people to make sure its easy to follow along and hopefully keep us from leaving something
out by mistake.
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-13" time="1:00 PM" room="CSC" title="Video 4 Linux Day">
<short> We don't know enough about V4L</short>
<abstract>
<p>
We don't know Video 4 Linux, but increasingly people are wanting to do interesting stuff with our webcam which
could benefit from a better understanding of Video 4 Linux. So, this Saturday a number of us will be trying to learn
as much as possible about Video 4 Linux and doing weird things with webcam(s).
</p>
</abstract>
</eventitem>
<eventitem date="2006-05-08" time="4:30 PM" room="The Comfy Lounge" title="CSC
Elections">
<short>Come out and vote for the Spring 2006 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Spring 2006
term on Monday, May 8th. The elections will be held at 4:30 PM in the
Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Sunday, May 7th. If you are interested in running for
a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<!-- Winter 2006 -->
<eventitem date="2006-03-06" time="4:45 PM"
room="Physics 145" title="Creating Killer Applications">
<short>A talk by Larry Smith</short>
<abstract>
<p>
A discussion of how software creators can identify application opportunities
that offer the promise of great social and commercial significance. Particular
attention will be paid to the challenge of acquiring cross domain knowledge
and setting up effective collaboration.
</p>
</abstract>
</eventitem>
<eventitem date="2006-02-09" time="5:30 PM" room="Bombshelter Pub" title="Pints With Profs">
<short>Come out and meet your professors. Free food provided!</short>
<abstract>
<p>Come out and meet your professors! This is a great opportunity to
mingle with your professors before midterms or find out who you might
have for future courses. All are welcome!</p>
<p>Best of all, there will be <strong>free food!</strong></p>
<p>You can pick up invitations for your professors at the Computer Science
Club office in MC 3036.</p>
<p>Pints with Profs will be held this term on Thursday, 9 February 2006
from 5:30 to 8:00 PM in the Bombshelter.</p>
</abstract>
</eventitem>
<!-- Fall 2005 -->
<eventitem date="2005-11-29" time="5:30 PM"
room="TBA" title="Programming Contest">
<short>Come out, program, and win shiny things!</short>
<abstract>
<p>
The Computer Science club is holding a programming contest open to all students on Tuesday the 29th of November at 5:30PM. C++,C,Perl,Scheme* are allowed. Prizes totalling in value of $75 will be distributed.
</p>
<p>And best of all... free food!!!</p>
</abstract>
</eventitem>
<eventitem date="2005-10-17" time="5:30 PM"
room="Fishbowl" title="Party with Profs!">
<short>Get to know your profs and be the envy of your
friends!</short>
<abstract>
<p>
Come out and meet your professors!! This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who
you might have for future courses. One and all are welcome!
</p>
<p>And best of all... free food!!!</p>
</abstract>
</eventitem>
<eventitem date="2005-10-11" time="4:30 PM" room="MC 2037" title="UNIX 103: Scripting Unix">
<short>You Too Can Be a Unix Taskmaster</short>
<abstract>
<p>
This is the third in a series of seminars that cover the use of the
UNIX Operating System. UNIX is used in a variety of applications, both
in academia and industry. We will provide you with hands-on experience
with the Math Faculty's UNIX environment in this tutorial.
</p><p>
Topics that will be discussed include:
<ul>
<li>Shell scripting</li>
<li>Searching through text files</li>
<li>Batch editing text files</li>
</ul>
</p><p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2005-10-06" time="4:30 PM" room="MC3D 2037" title="UNIX 102">
<short>Fun with Unix</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of
applications, both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's Unix environment in this tutorial.
</p>
<p>
Topics that will be discussed include:
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
</p>
<p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2005-10-04" time="4:30 PM" room="MC 2037" title="UNIX 101">
<short>First UNIX tutorial</short>
<abstract>
<p>
The CSC UNIX tutorials are intended to help first year CS and other
interested learn UNIX and the CS UNIX environment.
</p>
<p>
This is the first in a series of two or three tutorials. It will cover basic shell
use, and simple text editors.
</p>
</abstract>
</eventitem>
<!-- Summer 2005 -->
<eventitem date="2005-06-02" time="3:30 PM" room="DC 1302" title="Programming and Verifying the Interactive Web">
<short>Shriram Krishnamurthi will be talking about continuations in Web Programming</short>
<abstract>
<p>
Server-side Web applications have grown increasingly common, sometimes
even replacing brick and mortar as the principal interface of
corporations. Correspondingly, Web browsers grow ever more powerful,
empowering users to attach bookmarks, switch between pages, clone
windows, and so forth. As a result, Web interactions are not
straight-line dialogs but complex nets of interaction steps.
</p>
<p>
In practice, programmers are unaware of or are unable to handle these
nets of interaction, making the Web interfaces of even major
organizations buggy and thus unreliable. Even when programmers do
address these constraints, the resulting programs have a seemingly
mangled structure, making them difficult to develop and hard to
maintain.
</p>
<p>
In this talk, I will describe these interactions and then show how
programming language ideas can shed light on the resulting problems
and present solutions at various levels. I will also describe some
challenges these programs pose to computer-aided verification, and
present solutions to these problems.
</p>
</abstract>
</eventitem>
<eventitem date="2005-06-07" time="4:00 PM" room="MC 4042" title="UW's CS curriculum: past, present, and future">
<short>Come out to here Prabhakar Ragde talk about our UW's CS curriculum</short>
<abstract>
<p>
I'll survey the evolution of our computer science curriculum over the
past thirty-five years to try to convey the reasons (not always entirely
rational) behind our current mix of courses and their division into core
and optional. After some remarks about constraints and opportunities in
the near future, I'll open the floor to discussion, and hope to hear
some candid comments about the state of CS at UW and how it might be
improved.
</p>
<p>
About the speaker:
</p>
<p>
Prabhakar Ragde is a Professor in the School of Computer Science at UW.
He was Associate Chair for Curricula during the period that saw the
creation of the Bioinformatics and Software Engineering programs, the
creation of the BCS degree, and the strengthening of the BMath/CS degree.
</p>
</abstract>
</eventitem>
<!-- Winter 2005 -->
<eventitem date="2005-03-15" time="4:30 PM" room="MC 4060" title="Oh No! More Lemmings Day!">
<short>Come out for some retro Amiga-style Lemmings gaming action!</short>
<abstract>
<p>
Does being in CS make you feel like a lemming? Is linear algebra driving you
into walls? Do you pace back and forth, constantly, regardless of whatever's
in your path? Then you should come out to CSC Lemmings Day. This time, we're
playing the pseudo-sequel: Oh No! More Lemmings!
</p>
<ul>
<li>Old-skool retro gaming, Amiga-style (2 mice, 2 players!)</li>
<li>Projector screen: the pixels are man-sized!</li>
<li>Live-Action Lemmings (the rules are better this time)</li>
<li>Lemmings look-alike contest</li>
<li>Enjoy classic Lemmings tunes</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2005-02-01" time="4:30 PM" room="MC 2037" title="UNIX 102">
<short>Fun with Unix</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of
applications, both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's Unix environment in this tutorial.
</p>
<p>
Topics that will be discussed include:
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
</p>
<p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2005-01-25" time="4:30 PM" room="MC 2037" title="UNIX 101">
<short>First UNIX tutorial</short>
<abstract>
<p>
The CSC UNIX tutorials are intended to help first year CS and other
interested learn UNIX and the CS UNIX environment.
</p>
<p>
This is the first in a series of two or three tutorials. It will cover basic shell
use, and simple text editors.
</p>
</abstract>
</eventitem>
<eventitem date="2005-01-13" time="4:30 PM" room="The Comfy Lounge" title="CSC
Elections">
<short>Come out and vote for the Winter 2005 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Winter 2005
term on Thursday, January 13. The elections will be held at 4:30 PM in the
Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Wednesday, January 12. If you are interested in running for
a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<!-- Fall 2004 -->
<eventitem date="2004-12-08" time="4:30 PM" room="Mongolian Grill"
title="CTRL-D">
<short> This semesters CTRL-D (or the club that really likes
dinner) is going to be at Mongolian grill. Be there or be square</short>
<abstract>
<p>
Come to the end of term CTRL-D (club that really likes dinner) meeting.
Remember : food is good
</p>
</abstract>
</eventitem>
<eventitem date="2004-12-01" time="2:30 PM" room="MC 4058" title="Knitting needles, hairpins and other tangled objects">
<short>In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
interesting examples that can or cannot be straightened out</short>
<abstract>
<p>
In this talk, I'll study linkages (objects built from sticks that are connected with flexible joints), and explain some
interesting examples that can or cannot be straightened out</p>
</abstract>
</eventitem>
<eventitem date="2004-11-24" time="4:30 PM" room="MC 2066" title="Eclipse">
<short>How I Stopped Worrying and Learned to Love the IDE</short>
<abstract>
<p>
How I stopped worrying and Learned to Love the IDE
</p>
<p>
Audience: anyone who as ever used the Java programming language to do anything. Especially if you don't like
the IDEs you've seen so far or still use (g)Vi(m) or (X)Emacs.
</p>
<p>
I'll go through some of the coolest features of the best IDE (which stands for "IDEs Don't Eat" or
"Integrated Development Environment") I've seen. For the first year and seasoned almost-grad alike!
</p>
</abstract>
</eventitem>
<eventitem date="2004-11-18" time="5:00 PM" room="MC 2066" title="GracefulTavi">
<short>Wiki software in PHP+MySQL</short>
<abstract>
<p>
GracefulTavi is an open source wiki programmed by Net Integration
Technologies Inc. It is used internally by more than 25 people, and is
the primary internal wiki for NITI's R&amp;D and QA.
</p>
<p>
I'll start with a very brief introduction to wikis in general, then
show off our special features: super-condensed formatting syntax,
hierarchy management, version control, highlighted diffs, SchedUlator,
the Table of Contents generator. As part of this, we'll explain the
simple plugin architecture and show people how to write a basic wiki
plugin.
</p>
<p>
As well, I will show some of the "waterloo specific" macros that have
been coded, and explain future plans for GracefulTavi.
</p>
<p>
If time permits, I will explain how gracefulTavi can be easily used
for a personal calendar and notepad system on your laptop.
</p>
</abstract>
</eventitem>
<eventitem date="2004-11-12" time="2:30 PM" room="MC 4063" title="Lemmings Day!">
<short>Everyone else is doing it!</short>
<abstract>
<p>
Does being in CS make you feel like a lemming? Is linear algebra driving you into walls? Do you pace back and forth , constantly ,
regardless of whatever's in your path? Then you should come out to CSC Lemmings Day!
</p><p>
<ul>
<li>Play some old-skool Lemmings, Amiga-style</li>
<li>Live-action lemmings</li>
<li>Lemmings look-alike contest</li>
<li>Enjoy classic Lemmings tunes</li>
</ul>
</p><p>
Everyone else is doing it!
</p>
</abstract>
</eventitem>
<eventitem date="2004-10-23" time="11:00 PM" room="MC 2037" title="CSC Programming Contest">
<short>CSC Programming Contest</short>
<abstract>
<p>
The Computer Science Club will be hosting a programming competition.
You have the entire afternoon to design and implement an AI for a simple
game. The competition will run until 5pm.
</p>
</abstract>
</eventitem>
<eventitem date="2004-10-18" time="4:30 PM" room="MC 2037" title="UNIX 103: Scripting Unix">
<short>You Too Can Be a Unix Taskmaster</short>
<abstract>
<p>
This is the third in a series of seminars that cover the use of the
UNIX Operating System. UNIX is used in a variety of applications, both
in academia and industry. We will provide you with hands-on experience
with the Math Faculty's UNIX environment in this tutorial.
</p><p>
Topics that will be discussed include:
<ul>
<li>Shell scripting</li>
<li>Searching through text files</li>
<li>Batch editing text files</li>
</ul>
</p><p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2004-10-04" time="4:30 PM" room="MC 2037" title="UNIX 102">
<short>Fun with Unix</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of
applications, both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's Unix environment in this tutorial.
</p>
<p>
Topics that will be discussed include:
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
</p>
<p>
If you do not have a Math computer account, don't panic; one will be lent to
you for the duration of this class.
</p>
</abstract>
</eventitem>
<!-- Spring 2004 -->
<eventitem date="2004-09-27" time="4:30 PM" room="MC 2037" title="UNIX 101">
<short>First UNIX tutorial</short>
<abstract>
<p>
The CSC UNIX tutorials are intended to help first year CS and other
interested learn UNIX and the CS UNIX environment.
</p>
<p>
This is the first in a series of three tutorials. It will cover basic shell
use, and simple text editors.
</p>
</abstract>
</eventitem>
<eventitem date="2004-09-17" time="4:00 PM" room="The Comfy Lounge" title="CSC
Elections">
<short>Come out and vote for the Fall 2004 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Fall 2004
term on Friday, September 17. The elections will be held at 4:00 PM in the
Comfy Lounge, on the 3rd floor of the MC. Please remember to come out and
vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Thursday, September 16. If you are interested in running
for a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<eventitem date="2004-07-27" time="4:30 PM" room="MC 2065"
title="Game Complexity Theorists Ponder, by Jonathan Buss">
<short>Attention AI buffs: Game Complexity presentation</short>
<abstract>
<p>
Why are some games hard to play well? The study of computational
complexity gives one answer: the games encode long computations.</p>
<p>Any computation can be interpreted as an abstract game. Playing the
game perfectly requires performing the computation. Remarkably, some
natural games can encode these abstract games and thus simulate
general computations. The more complex the game, the more complex the
computations it can encode; games that can encode intractable problems
are themselves intractable.</p>
<p>
I will describe how games can encode computations, and discuss some
examples of both provably hard games (checkers, chess, go, etc.) and
games that are believed to be hard (hex, jigsaw puzzles, etc.).
</p>
</abstract>
</eventitem>
<eventitem date="2004-07-17" time="11:30 AM" room="RCH 308"
title="Case Modding Workshop!">
<short>Come and learn how to make your computer 1337!</short>
<abstract>
<p>
Are you bored of beige?<br />
Tired of an overheating computer?<br />
Is your computer's noise level on par with a jet engine?
</p>
<p>
Got a nifty modded case?<br />
Want one?
</p>
<p>
The Computer Science Club will be holding a Case Modding Workshop
to help answer these questions.
</p>
<p>
There will be demonstrations on how to make a case window, how
to paint your case, managing cables and keeping your computer
quiet and cool.
</p>
<p>
The event is FREE and there will be FREE PIZZA. All are welcome!
</p>
<p>
To help you on your way to getting a wicked computer case, we have a limited
number of "Case Modding Starters Kits" available. They come with an LED fan,
a fan grill, a sheet of Plexan, thumbscrews, wire ties, and more! They're
only $10 and will be on sale at the event. Here's a <a
href="redkit.jpg">picture</a>.
</p>
<p>
If you already have a modded case, we encourage you to bring it out
and show it off! There will be a prize for the best case!!
</p>
<p>
We hope to see you there!
</p>
<p>
This event is sponsored by Bigfoot Computers.
</p>
</abstract>
</eventitem>
<eventitem date="2004-06-17" time="4:00 PM" room="MC 2066"
title="``Optical Snow'': Motion parallax and heading computation in densely cluttered scenes. -or- Why Computer Vision needs the Fourier Transform!">
<short>A talk by Richard Mann; School of Computer Science</short>
<abstract>
<p>
When an observer moves through a 3D scene, nearby surfaces move faster in the
image than do distant surfaces. This effect, called motion parallax, provides
an observer with information both about their own motion relative the scene,
and about the spatial layout and depth of surfaces in the scene.
</p>
<p>
Classical methods for measuring image motion by computer have concentrated on
the cases of optical flow in which the motion field is continuous, or layered
motion in which the motion field is piecewise continuous. Here we introduce a
third natural category which we call ``optical snow''. Optical snow arises in
many natural situations such as camera motion in a highly cluttered 3-D scene,
or a passive observer watching a snowfall. Optical snow yields dense motion
parallax with depth discontinuities occurring near all image points. As such,
constraints on smoothness or even smoothness in layers do not apply.
</p>
<p>
We present a Fourier analysis of optical snow. In particular we show that,
while such scenes appear complex in the time domain, there is a simple
structure in the frequency domain, and this may be used to determine the
direction of motion and the range of depths of objects in the scenes. Finally
we show how Fourier analysis of two or more image regions may be combined to
estimate heading direction.
</p>
<p>
This talk will present current research at the undergraduate level. All are
welcome to attend.
</p>
</abstract>
</eventitem>
<eventitem date="2004-05-26" time="5:30 PM"
room="DC 1350" title="Computing's Next Great Empires: The True Future of Software">
<short>A talk by Larry Smith</short>
<abstract>
<p>
Larry will challenge conventional assumptions about the directions of
computing and software. The role of AI, expert systems, communications
software and business applications will be presented both from a
functional and commercial point of view. The great gaps in the
marketplace will be highlighted, together with an indication of how
these vacant fields will become home to new empires.
</p>
</abstract>
</eventitem>
<eventitem date="2004-05-12" time="4:30 PM"
room="The Comfy Lounge" title="CSC Elections">
<short>Come out and vote for the Spring 2004 executive!</short>
<abstract>
<p>
The Computer Science Club will be holding its elections for the Spring
2004 term on Wednesday, May 12. The elections will be held at 4:30 PM in
the Comfy Lounge, on the 3rd floor of the MC. Please remember to come out
and vote!
</p>
<p>
We are accepting nominations for the following positions: President,
Vice-President, Treasurer, and Secretary. The nomination period continues
until 4:30 PM on Tuesday, May 11. If you are interested in running
for a position, or would like to nominate someone else, please email
cro@csclub.uwaterloo.ca before the deadline.
</p>
</abstract>
</eventitem>
<!-- Winter 2004 -->
<eventitem date="2004-03-29" time="6:00 PM"
room="MC 4058" title="LaTeXing your work report">
<short>A talk by Simon Law</short>
<abstract>
<p>
The work report is a familiar chore for any co-op student. Not only is
there a report to write, but to add insult to injury, your report is
returned if you do not follow your departmental guidelines.
</p>
<p>
Fear no more! In this talk, you will learn how to use LaTeX and a
specially developed class to automatically format your work reports.
This talk is especially useful to Mathematics, Computer Science,
Electrical &amp; Computer Engineering, and Software Engineeering co-op
students about to go on work term.
</p>
</abstract>
</eventitem>
<eventitem date="2004-03-30" time="5:30 PM"
room="The Grad House" title="Pints with Profs!">
<short>Get to know your profs and be the envy of your
friends!</short>
<abstract>
<p>
Come out and meet your professors!! This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who
you might have for future courses. One and all are welcome!
</p>
<p>And best of all... free food!!!</p>
</abstract>
</eventitem>
<eventitem date="2004-03-23" time="6:00 PM"
room="MC4058" title="Extending LaTeX with packages">
<short>A talk by Simon Law</short>
<abstract>
<p>
LaTeX is a document processing system. What this means is you describe
the structure of your document, and LaTeX typesets it appealingly.
However, LaTeX was developed in the late-80s and is now showing its age.
</p>
<p>
How does it compete against modern systems? By being easily extensible,
of course. This talk will describe the fundamentals of typesetting in
LaTeX, and will then show you how to extend it with freely available
packages. You will learn how to teach yourself LaTeX and how to find
extensions that do what you want.
</p>
<p>
As well, there will be a short introduction on creating your own
packages, for your own personal use.
</p>
</abstract>
</eventitem>
<eventitem date="2004-03-16" time="6:00 PM"
room="MC4058" title="Distributed programming for CS and Engineering
students">
<short>A talk by Simon Law</short>
<abstract>
<p>
If you've ever worked with other group members, you know how difficult
it is to code simultaneously. You might be working on one part of your
assignment, and you need to send your source code to everyone else. Or
you might be fixing a bug in someone else's part, and need to merge in
the change. What a mess!
</p>
<p>
This talk will explain some Best Practices for developing code in a
distributed fashion. Whether you're working side-by-side in the lab, or
developing from home, these methods can apply to your team. You will
learn how to apply these techniques in the Unix environment using GNU
Make, CVS, GNU diff and patch.
</p>
</abstract>
</eventitem>
<eventitem date="2004-03-15" time="5:30 PM"
room="MC4040" title="SPARC Architecture">
<short>A talk by James Morrison</short>
<abstract>
<p>
Making a compiler? Bored? Think CISC sucks and RISC rules?
</p>
<p>
This talk will run through the SPARC v8, IEEE-P1754, architecture.
Including all the fun that can be had with register windows and the
SPARC instruction set including the basic instructions, floating
point instructions, and vector instructions.
</p>
</abstract>
</eventitem>
<eventitem date="2004-03-09" time="6:00 PM"
room="MC4062" title="Managing your home directory using CVS">
<short>A talk by Simon Law</short>
<abstract>
<p>
If you have used Unix for a while, you know that you've created
configuration files, or dotfiles. Each program seems to want its own
particular settings, and you want to customize your environment. In a
power-user's directory, you could have hundreds of these files.
</p>
<p>
Isn't it annoying to migrate your configuration if you login to another
machine? What if you build a new computer? Or perhaps you made a
mistake to one of your configuration files, and want to undo it?
</p>
<p>
In this talk, I will show you how to manage your home directory using
CVS, the Concurrent Versions System. You can manage your files, revert
to old versions in the past, and even send them over the network to
another machine. I'll also discuss how to keep your configuration files
portable, so they'll work even on different Unices, with different
software installed.
</p>
</abstract>
</eventitem>
<eventitem date="2004-03-02" time="6:00 PM"
room="MC4042" title="Graphing webs-of-trust">
<short>A talk by Simon Law</short>
<abstract>
<p>
In today's world, people have hundreds of connexions. And you can
express these connexions with a graph. For instance, you may wish to
represent the network of your friends.
</p>
<p>
Originally, webs-of-trust were directed acyclic graphs of people who had
identified each other. This way, if there was a path between you and
the person who want to identify, then you could assume that each person
along that path had verified the next person's identity.
</p>
<p>
I will show you how to generate your own web-of-trust graph using Free
Software. Of course, you can also use this knowledge to graph anything
you like.
</p>
</abstract>
</eventitem>
<eventitem date="2004-02-18" time="7:00 PM"
room="DC2305" title="KW Perl Mongers">
<short>Perl Modules: A look under the hood</short>
<abstract>
<p>In Perl, a module is the basic unit of code-reuse. The talk will be
mostly a look into GD::Text::Arc, a module written to draw TrueType text
around the edge of a circle. The talk will consider:</p>
<ul>
<li>using and writing object-oriented perl code</li>
<li>the Virtue of Laziness: or, reusing other peoples' code.</li>
<li>writing tests while coding</li>
<li>beer coasters</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2004-02-05" time="3:30 PM"
room="MC4041" title="Constitutional Change">
<short>Vote to change the CSC Constitution</short>
<abstract>
<p>During the General Meeting on 19 January 2004, a proposed constitution
change was passed around. This change is in response to a change in the
MathSoc Clubs Policy (Policy 4, Section 3, Sub-section f).</p>
<p>This general meeting is called to vote on this proposed change. We must
have quorum of 15 Full Members vote on this change. The following text was
presented at the CSC Winter 2004 Elections.</p>
<pre>We propose to make a Constitutional change on this day, 19 January 2004.
The proposed change is to section 3.1 of the constitution which
currently reads:
In compliance with MathSoc regulations and in recognition of the
club being primarily targeted at undergraduate students, full
membership is open to all undergraduate students in the Faculty of
Mathematics and restricted to the same.
Since MathSoc has changed its requirements for club membership, we
propose that it be changed to:
In compliance with MathSoc regulations and in recognition of the
club being primarily targeted at undergraduate students, full
membership is open to all Social Members of the Mathematics Society
and restricted to the same.</pre>
</abstract>
</eventitem>
<eventitem date="2004-01-12" time="3:00 PM"
room="DC1301" title="InstallFest">
<short>See <a href="http://uw-dig.uwaterloo.ca/installfest/">http://uw-dig.uwaterloo.ca/installfest/</a></short>
<abstract>
<p>An Installfest is an opportunity to install software on your computer.
People come with computers. Other people come with experience. The people
get together and (when all goes well) everybody leaves satisfied.</p>
<p>You are invited to our first installfest of the year. Come to get some
software or to learn more about Open Source Software and why it is relevant
to your life. The event is free, but you may want to bring blank CDs and/or
money to purchase some open source action for your computer at home.</p>
<p>See the <a href="http://uw-dig.uwaterloo.ca/installfest/">UW-DIG
website</a> for more details.</p>
</abstract>
</eventitem>
<!-- Fall 2003 -->
<eventitem date="2003-12-01" time="7:00 PM"
room="RCH 101" title="Jon 'maddog' Hall: Free and Open Source: Its uses in Business and Education">
<short> Free and Open Source software has been around for a long
time, even longer then shrink-wrapped code.</short>
<abstract>
<p>Free and Open Source software has been around for a long time, even
longer then shrink-wrapped code. It has a long and noble history in the annals
of education. Even more than ever, due to the drop of hardware prices and the
increase of worldwide communications, Free and Open Source can open new
avenues of teaching and doing research, not only in computer science, but in
other university fields as well.</p>
<p>Learn how Linux as an operating system can
run on anything from a PDA to a supercomputer, and how Linux is reducing the
cost of computing dramatically as the fastest growing operating system in the
world. Learn how other Free and Open Source projects, such as office suites,
audio and video editing and playing software, relational databases, etc. are
created and are freely available.</p>
<p><a href="http://www.csclub.uwaterloo.ca/~cpbell/">Map and directions</a></p>
<h3>Speaker's Biography</h3>
<p>Jon "maddog" Hall is the Executive Director of <a href="http://www.li.org/">Linux International</a>,
a non-profit association of computer vendors who wish to support and promote
the Linux Operating System. During his career which spans over thirty years,
Mr. Hall has been a programmer, systems designer, systems administrator,
product manager, technical marketing manager and educator. He has
worked for such companies as Western Electric Corporation, Aetna Life and
Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems,
and is currently funded by SGI.</p>
<p>He has taught at Hartford State Technical College, Merrimack College and
Daniel Webster College. He still likes talking to students over pizza and beer
(the pizza can be optional).</p>
<p>Mr. Hall is the author of numerous magazine and newspaper articles, many
presentations and one book, "Linux for Dummies".</p>
<p>Mr. Hall serves on the boards of several companies, and several non-profit
organizations, including the USENIX Association.</p>
<p>Mr. Hall has traveled the world speaking on the benefits of Open Source
Software, and received his BS in Commerce and Engineering from Drexel
University, and his MSCS from RPI in Troy, New York.</p>
<p>In his spare time maddog is working on his retirement project:</p>
<center>maddog's monastery for microcomputing and microbrewing</center>
</abstract>
</eventitem>
<eventitem date="2003-11-05" time="4:30 PM - 8:30 PM"
room="Grad House Pub (Green Room)" title="CS Pints With Profs">
<short>Come have a pint with your favourite CS profs!</short>
<abstract>
<p>Come meet CS profs in a relaxed atmosphere this Wednesday at
the Grad House (by South Campus Hall). This is your chance to meet those CS profs
you enjoyed in lectures in person, have a chat with them
and find out what they're doing outside the lecture halls.</p>
<p>We'll be providing free food, including hamburgers and nachos,
and the Grad House offers a great selection of drinks.</p>
<p>If you'd like to invite a particular prof, stop by on the third
floor of the MC (outside of the Comfy) to pick up an invitation.</p>
<p>Persons of all ages are welcome!</p>
</abstract>
</eventitem>
<eventitem date="2003-10-21" time="4:30 PM - 5:30 PM" room="MC2065"
title=".NET &amp; Linux: When Worlds Collide">
<short>A talk by James Perry</short>
<abstract>
<p>.NET is Microsoft's new development platform, including amongst
other things a language called C# and a class library for various
operating system services. .NET aims to be portable, although it is
currently mostly only used on Windows systems.</p>
<p>With the full backing of Microsoft, it seems unlikely that .NET
will disappear any time soon. There are several efforts underway to
bring .NET to the GNU/Linux platform. Hosted by the Computer Science
Club, this talk will discuss a number of the issues surrounding .NET
and Linux.</p>
</abstract>
</eventitem>
<eventitem date="2003-10-22" time="4:30 PM - 5:30 PM" room="MC4061"
title="Real-Time Graphics Compilers">
<short>Sh is a GPU metaprogramming language developed at the UW
Computer Graphics Lab</short>
<abstract>
<p>Sh is a GPU metaprogramming language developed at the University of
Waterloo Computer Graphics Lab. It allows graphics programmers to
write programs which run directly on the GPU (Graphics Processing
Unit) using familiar C++ syntax. Furthermore, it allows
metaprogramming of such programs, that is, writing programs which
generate other programs, in an easy and natural manner.</p>
<p>This talk will give a brief overview of how Sh works, the design of
its intermediate representation and the (still somewhat simplistic)
optimizer that the current reference implementation has and problems
with applying traditional compiler optimizations.</p>
<p>Stefanus Du Toit is an undergraduate student at the University of
Waterloo. He is also a Research Assistant for Michael McCool from the
University of Waterloo Graphics Lab. Over the Summer of 2003 Stefanus
reimplemented the Sh reference implementation and designed and
implemented the current Sh optimizer.</p>
</abstract>
</eventitem>
<eventitem date="2003-10-17" time="3:00 PM" room="MC3001 (Comfy)"
title="Poster Team Meeting">
<short>More free pizza from the Poster Team</short>
<abstract>
<p>Are you interested in getting involved in the Computer Science
Club?</p>
<p>Come on out to the second meeting of our Poster Team, a bunch of
students helping out with promotion for our events. The agenda for
this meeting will include painting posters, designing event
invitations, and organizing poster runs. Once again, we will be
serving free pizza!</p>
<p>See you there!</p>
</abstract>
</eventitem>
<eventitem date="2003-10-16" time="4:00 PM - 5:30 PM" room="MC2037"
title="UNIX 103: Development Tools">
<short>GCC, GDB, Make</short>
<abstract>
<p>This tutorial will provide you with a practical introduction to GNU
development tools on Unix such as the gcc compiler, the gdb debugger
and the GNU make build tool.</p>
<p>This talk is geared primarily at those mostly unfamiliar with these
tools. Amongst other things we will introduce:</p>
<ul>
<li>gcc options, version differences, and peculiarities</li>
<li>using gdb to debug segfaults, set breakpoints and find out what's
wrong</li>
<li>tiny Makefiles that will compile all of your 2nd and 3rd year CS
projects.</li>
</ul>
<p>If you're in second year CS and unfamiliar with UNIX development it
is highly recommended you go to this talk. All are welcome, including
non-math students.</p>
<p>Arrive early!</p>
</abstract>
</eventitem>
<eventitem date="2003-10-02" time="4:00 PM - 5:30 PM" room="MC2037"
title="UNIX 101: Text Editors">
<short>vi vs. emacs: The Ultimate Showdown</short>
<abstract>
<p>
Have you ever wondered how those cryptic UNIX text editors work? Have you
ever woken up at night with a cold sweat wondering "Is it CTRL-A, or CTRL-X
CTRL-A?" Do you just hate pico with a passion?</p>
<p>Then come to this tutorial and learn how to use vi and emacs!</p>
<p>Basic UNIX commands will also be covered. This tutorial will be especially
useful for first and second year students.</p>
</abstract>
</eventitem>
<eventitem date="2003-10-06" time="4:00 PM" room="MC3001 (Comfy)"
title="Poster Team Meeting">
<short>Join the Poster Team and get Free Pizza!</short>
<abstract>
<ul>
<li>Do you like computer science?</li>
<li>Do you like posters?</li>
<li>Do you like free pizza?</li>
</ul>
<p>If the answer to one of these questions is yes, then come
out to the first meeting of the Computer Science Club Poster Team! The
CSC is looking for interested students to help out with promotion and
publicity for this term's events. We promise good times and free
pizza!</p>
</abstract>
</eventitem>
<eventitem date="2003-09-17" time="4:30 PM" room="MC3001 (Comfy)"
title="CSC Elections">
<short>CSC Fall 2003 Elections</short>
<abstract>
<p>Elections will be held on Wednesday, September 17, 2003 at 4:30 PM in the
Comfy Lounge, MC3001.</p>
<p>I invite you to nominate yourself or others for executive positions,
starting immediately. Simply e-mail me at cro@csclub.uwaterloo.ca
with the name of the person who is to be nominated and the position
they're nominated for.</p>
<p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
<p>Positions open for elections are:</p>
<ul><li>President: Organises the club, appoints committees, keeps everyone busy.
If you have lots of ideas about the club in general and like bossing
people around, go for it!</li>
<li>Vice President: Organises events, acts as the president if he's not
available. If you have lots of ideas for events, and spare time, go
for it!</li>
<li>Treasurer: Keeps track of the club's finances. Gets to sign cheques
and stuff. If you enjoy dealing with money and have ideas on how to
spend it, go for it!</li>
<li>Secretary: Takes care of minutes and outside correspondence. If you
enjoy writing things down and want to use our nifty new letterhead
style, go for it!</li></ul>
<p>Nominations will be accepted until Tuesday, September 16 at 4:30 PM.</p>
<p>Additionally, a Sysadmin will be appointed after the elections. If you
like working with Unix systems and have experience setting up and
maintaining them, go for it!</p>
<p>I hope that lots of people will show up; hopefully we'll have a great
term with plenty of events. We always need other volunteers, so if you
want to get involved just talk to the new exec after the
meeting. Librarians, webmasters, poster runners, etc. are always
sought after!</p>
<p>There will also be free pop.</p>
<p>Memberships can be purchased at the elections or at least half an hour
prior to at the CSC. Only undergrad math members can vote, but anyone can
become a member.</p>
</abstract>
</eventitem>
<!-- Spring 2003 -->
<eventitem date="2003-07-31" time="4:30 PM" room="MC4064"
title="LaTeX and Work Reports">
<short>Writing beautiful work reports</short>
<abstract>
<p>The work report is a familiar chore for any co-op student. Not only is
there a report to write, but to add insult to injury, your report is
returned if you do not follow your departmental guidelines.</p>
<p>Fear no more! In this talk, you will learn how to use LaTeX and a
specially developed class to automatically format your work reports.
This talk is especially useful to Mathematics, Computer Science,
Electrical &amp; Computer Engineering, and Software Engineeering co-op
students about to go on work term.</p>
<p><a
href="http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/">http://www.eng.uwaterloo.ca/~sfllaw/programs/uw-wkrpt/</a></p>
</abstract>
</eventitem>
<eventitem date="2003-07-24" time="4:30 PM" room="MC2037"
title="vi: the visual editor">
<short>It's not 6.</short>
<abstract>
<p>In 1976, a University of California Berkeley student by the name of
Bill Joy got sick of his text editor, ex. So he hacked it such that
he could read his document as he wrote it. The result was "vi", which
stands for VIsual editor. Today, it is shipped with every modern
Unix system, due to its global influence.</p>
<p>In this talk, you will learn how to use vi to edit documents
quickly and efficiently. At the end, you should be able to:</p>
<ul>
<li>Navigate and search through documents</li>
<li>Cut, copy, and paste across documents</li>
<li>Search and replace regular expressions</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be lent
to you for the duration of this class.</p>
</abstract>
</eventitem>
<eventitem date="2003-07-24" time="3:00 PM" room="CSC Office" title="July
Exec Meeting">
<short> See Abstract for minutes </short>
<abstract>
<pre>
--paying Simon for Sugar
-Unanimous yea.
-ACTION ITEM: Mark
Expense this to MathSoc in lieu of foreign speaker.
--We currently have (including CD-R and pop-income not
currently in safe) $972.85
-We have $359.02 on budget that we can expense to MathSoc.
--We got MEF money for books and video card. Funding for
wireless microphone is dependent on whether MFCF is
willing to host it.
-Funding for casters was denied.
-Shopping for the Video card.
-Expecting it after August (Stefanus shopping for it.)
-Will have to hear back regarding the microphone, best to
delay that now, discuss it with MEF.
-Better to do it this term, so it doesn't get lost.
-Let MFCF know about this concern.
-Regarding books, can be done anytime before September.
--Events feedback
-Generally, Jim Eliot talk when really well.
-Apparently he was generally offensive.
-When was the LaTeX talk? End of the month.
-Kegger at Jim's place on the 16th.
--Getting people in on the 6th, 7th, 8th for csc commercials
filmed by Jason
-Hang out in here, and he'll make a CSC commercial.
-Co-ordinate when everyone should be in here, so we can email Jason.
--CEO progress
-CEO needs it's database changed to use ISBN as a primary key.
-Needs functionality to take out/return books.
--Mark just entered financial stuff into GNUcash
--Choose CRO for next term.
-Stefanus has expressed desire not to be CRO.
-Gary Simmons was suggested (and he accepted)
-Unanimous yea
--Mike Biggs has to get here naked.
-Four unanimous votes.
-Nakedness only applies to getting here, not being here.
From last meeting:
ACTION ITEM: Biggs and Cass
-get labelmaker tape, masking tape
whiteboard makers, coloured paper, CD sleeves
-keep receipts for CSC office expenses.
How is the progress on allowing executives and voters to be non-math
members?
-The vote is coming up Monday.
-Proposal: Anyone who is a paying member can be a member
-So you can either do two things:
Pay MathSoc fees, or
Get your faculty society to recognize CSC as a club.
Stefanus wanted to mention that we should talk to Yolanda,
Craig or Louie about a EYT event for frosh week.
-Organized by Meg.
-Sugar Mountain trying to hook all the Frosh
ACTION ITEM: Jim
-Email Meg
Reminder for Next Year's executive.
-September 16th @ 5:00pm, get a table for Clubs day, and 17th
and 18th, maintain the booth (full day events).
-Update pamphlets.
ACTION ITEM: Gary
-There should be executive before then
Note: There needs to be a private section in the CSC Procedures Manual.
(Only accessible by shell)
ACTION ITEM: Simon
-Do it.
ACTION ITEM: Mike
-Talk to Plantops about:
-Locks on doors
-Mounting corkboard.
-Talk about CSC Sign
</pre>
</abstract>
</eventitem>
<eventitem date="2003-06-27" time="2:30 PM" room="DC1302"
title="Friday Flicks">
<short> SIGGRAPH Electronic Theatre Showing </short>
<abstract>
<p>
SIGGRAPH is the ACM's Special Interest Group for Graphics and
simultaneously the world's largest graphics conference and
exhibition, where the cutting edge of graphics research is presented
every year.
</p><p>
With support from UW's Computer Graphics Lab, the CSC invites you to
capture a glimpse of SIGGRAPH 2002. We will be presenting the
Electronic Theatre showings from 2002, demonstrating the best of the
animated, CG-produced movies presented at SIGGRAPH.
</p><p> Don't miss this free showing!</p>
</abstract>
</eventitem>
<eventitem date="2003-07-08" time="4:00 PM" room="MC2065"
title="Mainframes and Linux">
<short>A talk by Jim Elliott. Jim is responsible for IBM's in Open Source
activities and IBM's mainframe operating systems for Canada and the
Carribbean.</short>
<abstract>
<p>
Linux and Open Source have become a significant reality in the
working world of Information Technology. An indirect result has been a
"rebirth" of the mainframe as a strategic platform for enterprise
computing. In this session Jim Elliott, IBM's Linux Advocate, will provide
an overview of these technologies and an inside look at IBM's participation
in the community. Jim will examine Linux usage on the desktop, embedded
systems and servers, a reality check on the common misconceptions that
surround Linux and Open Source, and an overview of the history and current
design of IBM's mainframe servers.</p>
<p>
Jim Elliott is the Linux Advocate for IBM Canada. He is responsible
for IBM's participation in Linux and Open Source activities and IBM's
mainframe operating systems in Canada and the Caribbean. Jim is a popular
speaker on Linux and Open Source at conferences and user groups across the
Americas and Europe and has spoken to over 300 organizations over the past
three years. Over his 30 years with IBM he has been the co-author of over
15 IBM publications and he also coordinated the launch of Linux on IBM
mainframes in the Americas. In his spare time, Jim is addicted to reading
historical mystery novels and travel to their locales.
</p>
<p><a href="http://www.vm.ibm.com/devpages/jelliott/events.html">Slides</a>
</p>
</abstract>
</eventitem>
<eventitem date="2003-07-04" time="3:30 PM" room="University of Guelph"
title="Guelph Trip">
<short>Come Visit the University of Guelph's Computer Science Club</short>
<abstract><p>
The University of Waterloo Computer Science Club is going to visit the
University of Guelph Computer Science Club. There will be a talk given
as well as dinner with a fun social atmosphere.</p><p>Drivers Wanted</p>
<p>Cancelled -- sorry Guelph cancelled on us.</p>
</abstract>
</eventitem>
<eventitem date="2003-07-17" time="4:30 PM" room="MC4064"
title="Sh">
<short>Metaprogramming your way to stunning effects.</short>
<abstract>
<p>
Modern graphics processors allow developers to upload small "shader
programs" to the GPU, which can be executed per-vertex or even
per-pixel during the rendering. Such shaders allow stunning effects to
be performed in real-time, but unfortunately aren't very easy to
program since one generally has to write them at the assembly level.
</p><p>
Recently a few high-level languages for shader programming have become
available. Sh, a result of research at UW, is one such language. It
allows programming powerful shaders in simple and intuitive ways. Sh
is particularly interesting because of the way it is
implemented. Instead of coming up with a language grammar and writing
a full-fledged compiler, Sh is implemented as a C++ library, and
shader programs are effectively written in C++. The actual compilation
then takes place in a manner similar to JIT (Just-in-time)
compilers. This has many advantages over the traditional approach,
including C++'s familiar syntax for users, and much less work for the
Sh implementers.
</p><p>
In this talk I will give an overview of GPUs and the Sh language as
well as some interesting details on how Sh was implemented.
</p><p> <!-- Is there a bio tag -->
Stefanus Du Toit is a research assistant at the University of
Waterloo. He has implemented the current version of Sh from scratch
and is actively developing it under supervision of Michael McCool, the
original designer of the language.
</p>
</abstract>
</eventitem>
<eventitem date="2003-06-19" time="4:30 PM" room="MC2037"
title="vi: the visual editor">
<short>It's not 6.</short>
<abstract>
<p>In 1976, a University of California Berkeley student by the name of
Bill Joy got sick of his text editor, ex. So he hacked it such that
he could read his document as he wrote it. The result was "vi", which
stands for VIsual editor. Today, it is shipped with every modern
Unix system, due to its global influence.</p>
<p>In this talk, you will learn how to use vi to edit documents
quickly and efficiently. At the end, you should be able to:</p>
<ul>
<li>Navigate and search through documents</li>
<li>Cut, copy, and paste across documents</li>
<li>Search and replace regular expressions</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be lent
to you for the duration of this class.</p>
</abstract>
</eventitem>
<eventitem date="2003-06-12" time="3:30 PM" room="MC3036 CSC Office" title="June 12 Exec Meeting">
<short>Have an issue that should be brought up? We'd love to hear it!</short>
<abstract>
<pre>
Budget: All the money we requested
--No money from Pints from Profs
--MathSoc has promised us $1250
Feedback from Completed Events
UNIX Talks: 17 people for first
--12 people for second
--Things going well
--Last talk today
--VI next week
IPsec
--Sparse crowd
--People Jim didn't know talked to him for 1/2 hour
History of CSC talk went well
--Good variety of people
Pints with Profs
--NO CS Profs
--Only 1 E&amp; CE prof
--Only 2 Math profs
--Jim will harass the profs at the School of CS Council meeting.
We're starting to fall behind in planning
RoShamBo rules
--Got a web site up
--Might have to move RSB back
--International site has a few test samples
--Stefanus had some ideas
--Coding will probably take an afternoon/evening
--We need volunteers to run the competition
--We have volunteers to code: Phil and Stefanus
ACTION ITEM: Phil and Stefanus
--code whatever you volunteered to code for.
--Mike intends to visit classes and directly advertise
--Email Christina Hotz
--GH guy: Mike has an abstract, will have posters by tomorrow
CSC Movie Night
--Mathnet, Hackers, Wargames, Tron
--Mike will get a room
--Will be closed member
Mike McCool is offering rooms for showing SIGGRAPH
ACTION ITEM: Jim
-check with Mike McCool.
ACTION ITEM: Mike
-Make posters for Movie Nights
When is other movie night? (Will plan some time in July)
Who is our foreign speaker?
Action Item: jelliot@ca.ibm.com (Check name first) about
getting a foreign speaker -- Note: Has already been contacted.
Simon got money from Engsoc
Cass needs coloured paper (CSC is out)
ACTION ITEM: Cass and Mark
--get labelmaker tape, masking tape,
whiteboard makers, coloured paper
--keep receipts for CSC office expenses
NOTICE: Mike is now Imapd
Simon distributed budget list
Mark got the money from Mathsoc for last budget, deposited it.
ACTION ITEM:Mark
--Get MEF funding by July 4th (equipment)
ACTION ITEM: Simon
--Get WEEF funding by June 27th (book)
Jim still working on allowing executives and voters to be
non-math members
We get free photocopying from MathSoc
ACTION ITEM: Mike
--write down code for free photocopying from MathSoc
Simon has been able to get into the cscdisk account, still
looking into getting into the cscceo account.
Damien got an e-mail stating that the files for cscdisk are
out of date.
ACTION ITEM: Simon
--provide SSH key to Phil for getting into cscdisk, cscceo, etc...
--Renumber bootup scripts for sugar and powerpc so that they
boot up happily.
ACTION ITEM: Mike needs to do all the plantops stuff again.
ACTION ITEM: Mike -- &quot;Stapler if you say please&quot; sign.
CVS Tree for CEO has been exported.
Damien has volunteered to finish CEO (found by Cass)
All books with barcodes have been scanned
All books without barcodes need to be bar-coded.
ACTION ITEM: Mark
--Find a Credit-card with a $500 or less limit.
Note: There needs to be a private section in the
CSC Procedures Manual. (Only accessible by shell)
Stefanus Wanted to mention that we should talk to
Yolanda, Craig or Louie about a EYT event for Frosh Week.
</pre>
</abstract>
</eventitem>
<eventitem date="2003-06-10" time="4:30 PM" room="MC2066"
title="A Brief History of Computer Science">
<short>
<p>War, insanity, espionage, beauty, domination, sacrifice, and tragic
death... not what one might associate with the history of computer
science. In this talk I will focus on the origin of our discipline in
the fields of engineering, mathematics, and science, and on the
complicated personalities that shaped its evolution. No advanced
technical knowledge is required.</p>
</short>
</eventitem>
<eventitem date="2003-06-09" time="5:00 - 9:00 PM" room="The Grad House"
title="Pints with Profs!">
<short>Get to know your profs and be the envy of your friends!</short>
<abstract>
<p>Come out and meet your professors!! This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who you might
have for future courses. One and all are welcome!</p>
<p>Best of all... free food!!!</p>
</abstract>
</eventitem>
<eventitem date="2003-05-29" time="4:30 PM" room="MC2037"
title="Unix 101: First Steps With Unix">
<short>Learn Unix and be the envy of your friends!</short>
<abstract>
<p>This is the first in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of applications, both
in academia and industry. We will provide you with hands-on experience
with the Math Faculty's Unix environment in this seminar.</p>
<p>Topics that will be discussed include:</p>
<ul>
<li>Navigating the Unix environment</li>
<li>Using common Unix commands</li>
<li>Using the PICO text editor</li>
<li>Reading electronic mail and news with PINE</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be lent
to you for the duration of this class.</p>
</abstract>
</eventitem>
<eventitem date="2003-06-05" time="4:30 PM" room="MC2037"
title="Unix 102: Fun With Unix">
<short>Talking to your Unix can be fun and profitable</short>
<abstract>
<p>This is the second in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of applications, both in
academia and industry. We will provide you with hands-on experience with
the Math Faculty's Unix environment in this tutorial.</p>
<p>Topics that will be discussed include:</p>
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text with the vi text editor</li>
<li>Editing text with the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be
lent to you for the duration of this class</p>
</abstract>
</eventitem>
<eventitem date="2003-06-12" time="4:30 PM" room="MC2037"
title="Unix 103: Scripting Unix">
<short>You too can be a Unix taskmaster</short>
<abstract>
<p>This is the third in a series of seminars that cover the use of the
Unix Operating System. Unix is used in a variety of applications, both in
academia and industry. We will provide you with hands-on experience with
the Math Faculty's Unix environment in this tutorial.</p>
<p>Topics that will be discussed include:</p>
<ul>
<li>Shell scripting</li>
<li>Searching through text files</li>
<li>Batch editing text files</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be
lent to you for the duration of this class</p>
</abstract>
</eventitem>
<eventitem date="2003-05-22" time="4:30 PM" room="MC3036 CSC Office" title="May 22 Exec Meeting">
<short>The execs discuss what needs discussion</short>
<abstract>
<pre>
Minutes for CSC Exec Meeting
May 22, 2003
* Add staff to burners group.
-- Only office staff (people who do stuff) on burners list
-- No objections from executives
* We still need a webmaster, imapd
-- Action Item: Mike
--Check for pop delivery services (Like Grocery Gateway)
so that we can replace imapd with an automated cronjob
-- If this gets implemented, we must make sure that
someone is around to receive the pop whenever it is
delivered.
* Budgets
Action Item: Simon
-- Make sure execs receive a copy of the proposed budget
Action Item: Mark
-- Look into claiming money from Mathsoc for the last
term.
--Will be looked over the week after next Monday at the Mathsoc
Budget meeting.
--June 27th is the WEF (Engineering Endowment Fund) deadline
--EngSoc proposal for donations by the end of the month
-- Around 15 events planned
--Foreign Speaker
--CS Departmant will pay for flight
-- We can pay local expenses
--Pints with Profs
--Ro-Sham-Bo
*Changes in the MathSoc Clubs Policy
Action Item: Jim and Stefanus
--Bring thus up with MathSoc
--Might be good to talk to Bioinformatics about this, as
they have science faculty members to take care of as well.
--Major issue: People who revoke their Mathsoc fees can still be
voting members
--We want it so that only people who have paid dues to Mathsoc
can vote.
--Execs should not take back fees, as that is bad form.
--All execs unanimously agreed with this proposal
*Confirming that we have free printing and photocopying
Action Item: Mark
--Does Faculty of Math billing code apply to CSC
(as Faculty of Math department?)
-- Procedures manual has a billing code, but it should
be confirmed.
-- Ask MUO, then Shirley after that.
Action Item: Simon
--Apparently there is a special Watcard that provides
free printing from MFCF
--We do not know what account it is mapped to,
or the password.
* Getting csc_disk, csc, csc_ceo accounts on undergrad to work again.
Action Item: Phil
-- Get csc-disk back up for student use.
-- What group permissions do we need?
-- CSC-Disk should be used as a repository for custom
window managers, Mozilla, etc... (selling factor for
CSC accounts)
-- We should also have an announcement (MOTD, perhaps?)
that we are providing and supporting this software.
--Consider: Having university-wide accessible
binaries might be a pain, as different machines
might require different compilations.
-- CSC-Disk is full of user data. Should that be blown away?
*Getting locker #7 from MathSoc (Don't we already have lockers 788 and
789?)
--Why were the locks snipped? (Bring up at council meeting)
--We would prefer one combo-lock and one key-lock.
* Review of the CSC office organization
Action Item: Damien
--Give Mike sudo access for shutdown
--Will be rewiring stuff on Saturday
--involves re-plugging machines
Action Item: Simon
--Get rubber wheels for chairs
Action Item: Mike
-- Ask PlantOps about:
--Waxing floors
--Installing Electronic Lock (asap)
--According to Faculty of Math,
we shouldn't need keys.
--Currently, we still need keys
--It is kosher to install Electronic lock
--This provides access right control as
compared to key-control.
--Might be long term project.
--Will green men do it?
--Steam-clean chairs (at least once a term)
--Cork-board
--Making ugly wall prettier
--PlantOps knows about office
organization, making environment better.
--Whiteboards need to be put up
--Proposal: Cork-board on pillar (no objections)
--Metal frames on Whiteboard will be in least annoying place
*Do we provide public stapler access?
--People are often unappreciative and rude
--Sign - "Stapler if you say please" -- Unanimously voted
stapler policy
*MathSoc Sign
--Action Item: Jim
--Find out where to get CSC sign before Monday so we
can claim it in old budget.
* Librarian's Report
--Action Item: Jim
--Find perl volunteer to finish CEO
--Force Stefanus to export CVS tree and put onto Peri
--Books were scanned into system with help of Mark
--All books with valid barcodes entered into system on
May 20th
--Books without valid barcodes are not in system
--Someone needs to do it
--Plan is to implement Dewey decimal system
--May be inefficient as all books are about CS
--We will figure out a system later
--No plans to purchase new books
--Librarian's Request: Office Staff should not lend out books
that do not have barcodes (No objects to request)
--We are still using /media/iso/request to track books
--Should be charge late fees for books?
--We should have money in budget for repairing,maintaining books
--Before spending money on maintaining books, check if DC will
do it
--will it be cheaper/easier/better?
*Setting up extra quota for fun and profit.
-- We don't implement quota properly right now
-- Low demand for extra quota
-- Counterpoint: Old CSC made tons of money
-- Counter-counter-point: It's not that necessary for extra
quota nowadays.
-- Executives voted against proposal.
*Jim will spam with an update about the term
--Consider making it opt-in
--One email from a service you are using should be considered
reasonable mass mailing
*Should Jim bring anything up at the MathSoc meeting?**
-- Has a list
* Student branches for ACM and IEEE
Action Item: Gaelan
--Contact IEEE Computing Society in UW and ask if they want
to merge or transfer society to us
--Simon volunteers to be put down as exec for ACM
--ACM rules state requirement that exec is a ACM member
--Do we renew Calum's ACM membership?
--Yes (3 Yes; 1 No; 1 Abstention)
--ACM membership money in budget
--ACM Student chapter form has not come in
* What to do with the donated Procedures Manual?
--Term Task for webpage:
--Put procedures manual on web-page.
--Merge with current manual
--We don't have a hard copy
--Would be a good thing to read.
--Many parts need updating
</pre>
</abstract>
</eventitem>
<eventitem date="2003-05-14" time="4:30 PM" room="MC3001 Comfy Lounge"
title="Spring 2003 Elections">
<short>Come on out and vote for your exec!</short>
<abstract>
<p>Elections will be held on Wednesday, May 14, 2003 at 4:30 PM in the
Comfy Lounge, MC3001.</p>
<p>I invite you to nominate yourself or others for executive positions,
starting immediately. Simply e-mail me at sjdutoit@uwaterloo.ca or
cro@csclub.uwaterloo.ca with the name of the person who is to be
nominated and the position they're nominated for.</p>
<p>Nominees must be full-time undergraduate students in Math. Sorry!</p>
<p>Positions open for elections are:</p>
<ul>
<li>
President: Organises the club, appoints committees, keeps everyone busy.
If you have lots of ideas about the club in general and like bossing
people around, go for it!
</li>
<li>
Vice President: Organises events, acts as the president if he's not
available. If you have lots of ideas for events, and spare time, go
for it!
</li>
<li>
Treasurer: Keeps track of the club's finances. Gets to sign cheques
and stuff. If you enjoy dealing with money and have ideas on how to
spend it, go for it!
</li>
<li>
Secretary: Takes care of minutes and outside correspondence. If you
enjoy writing things down and want to use our nifty new letterhead
style, go for it!
</li>
</ul>
<p>Nominations will be accepted until Tuesday, May 13 at 4:30 PM.</p>
<p>Additionally, a Sysadmin will be appointed after the elections. If you
like working with Unix systems and have experience setting up and
maintaining them, go for it!</p>
<p>I hope that lots of people will show up; hopefully we'll have a great
term with plenty of events. We always need other volunteers, so if you
want to get involved just talk to the new exec after the
meeting. Librarians, webmasters, poster runners, etc. are always
sought after!</p>
<p>There will also be free pop, and if I remember, timbits :).</p>
<p>Memberships can be purchased at the elections. Only undergrad math
members can vote, but anyone can become a member.</p>
<p>Don't forget! Mark it on your calendar/wrist watch/PDA/brain implant!</p>
</abstract>
</eventitem>
<!-- Winter 2003 -->
<eventitem date="2003-02-04" time="4:30 PM" room="MC2037"
title="Unix 101 Tutorial">
<short>Learn Unix and be the envy of your friends!</short>
<abstract>
<p>This is the first in a series of seminars that cover the use of the
UNIX Operating System. UNIX is used in a variety of applications, both
in academia and industry. We will provide you with hands-on experience
with the Math Faculty's UNIX environment in this seminar.</p>
<p>Topics that will be discussed include:</p>
<ul>
<li> Navigating the UNIX environment</li>
<li> Using common UNIX commands</li>
<li>Using the PICO text editor</li>
<li>Reading electronic mail and news with PINE</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be lent
to you for the duration of this class.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-11" time="4:30 PM" room="MC2037"
title="Unix 102 Tutorial">
<short>Learn more Unix and be the envy of your friends!</short>
<abstract>
<p>Abstract to come soon.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-18" time="4:30 PM" room="MC2037"
title="Unix 103 Tutorial">
<short>Learn more Unix and be the envy of your friends!</short>
<abstract>
<p>Abstract to come soon. </p>
</abstract>
</eventitem>
<eventitem date="2003-01-13" time="6:00 PM" room="MC3001"
title="W03 Elections">
<short>Come out and vote for the new exec!</short>
<abstract>
<p>This term's elections will take place on Monday, January 13 at 6:00 PM in the
MC "comfy lounge" (MC3001). Nominations are open from now on (Thursday,
January 2) until 4:30 PM of the day before elections (Sunday, January 12).
In order to nominate someone you can either e-mail me directly, by depositing
a form with the required information in the CSC mailbox in the Mathsoc office
or by writing the nomination and clearly marking it as such on the large
whiteboard in the CSC office. E-mail is probably the best choice.
Please include the name of the person to be nominated as well as the position
you wish to nominate them for.</p>
<p>Candidates must be full members of the club. This means they must have paid
their membership for the given term and (due to recent changes in the
constitution) must be full-time undergraduate math students.
The same requirements hold for those voting. Please bring your Watcard to
the elections so that I can verify this. I will have a list of members with
me also.</p>
<p>The positions open are:</p>
<p><b>President</b> -- appoints all committees of the club, calls and presides at all
meetings of the club and audits the club's financial records. Really, this
is the person in charge.</p>
<p><b>Vice President</b> -- assumes President's duties in case he/she is absent,
plans and coordinates events with the programmes committee and assumes any
other duties delegated by the President.
This is a really fun job if you enjoy coordinating events!</p>
<p><b>Secretary</b> -- keeps minutes of the meetings and cares for any correspondence.
A fairly light job, good choice if you just want to see what being an exec
is all about.</p>
<p><b>Treasurer</b> -- maintains all the finances of the club.
If you like money and keeping records, this is the job for you!</p>
<p>Additionally a Systems Administrator will be picked by the new executive.</p>
<p>Last term was a great term for the CSC -- many events, some office renovations
and a much improved image were all part of it. I hope to see the next term's
exec continue this. If you're interested in seeing this happen, do consider
going for a position, or helping out as office staff or on one of the
committees.</p>
<p>Anyways, hopefully I'll see many of you at the elections.
Remember: Monday, January 13, 6:00 PM, MC3001/Comfy Lounge.</p>
<p>If you have any further questions don't hesitate to contact the CRO,
Stefanus Du Toit <a href="mailto:sjdutoit@uwaterloo.ca">by e-mail</a>.</p>
</abstract>
</eventitem>
<eventitem date="2003-01-23" time="6:30 PM" room="MC1085"
title="Regular Expressions">
<short>Find your perfect match</short>
<abstract>
<p>Stephen Kleene developed regular expressions to describe what he
called <q>the algebra of regular sets.</q> Since he was a pioneering
theorist in computer science, Kleene's regular expressions soon made
it into searching algorithms and from there to everyday tools.</p>
<p>Regular expressions can be powerful tools to manipulate text.
You will be introduced to them in this talk. As well, we will go
further than the rigid mathematical definition of regular
expressions, and delve into POSIX regular expressions which are
typically available in most Unix tools.</p>
</abstract>
</eventitem>
<eventitem date="2003-01-30" time="6:30 PM" room="MC1085"
title="sed &amp; awk">
<short>Unix text editing</short>
<abstract>
<p><i>sed</i> is the Unix stream editor. A powerful way to
automatically edit a large batch of text. <i>awk</i> is a
programming language that allows you to manipulate structured data
into formatted reports.</p>
<p>Both of these tools come from early Unix, and both are still
useful today. Although modern programming languages such as Perl,
Python, and Ruby have largely replaced the humble <i>sed</i> and
<i>awk</i>, they still have their place in every Unix user's
toolkit.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-06" time="6:30 PM" room="MC1085"
title="LaTeX: A Document Processor">
<short>Typesetting beautiful text</short>
<abstract>
<p>Unix was one of the first electronic typesetting platforms. The
innovative AT&amp;T <i>troff</i> system allowed researches at Bell
Labs to generate high quality camera-ready proofs for their papers.
Later, Donald Knuth invented a typesetting system called
T<small>E</small>X, which was far superior to other typesetting
systems in the 1980s. However, it was still a typesetting language,
where one had to specify exactly how text was to be set.</p>
<p>L<sup><small>A</small></sup>T<small>E</small>X is a macro package
for the T<small>E</small>X system that allows an author to describe
his document's function, thereby typesetting the text in an
attractive and correct way. In addition, one can define semantic
tags to a document, in order to describe the meaning of the
document; rather than the layout.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-13" time="6:30 PM" room="MC1085"
title="LaTeX: Reports">
<short>Writing reports that look good.</short>
<abstract>
<p>Work term reports, papers, and other technical documents can be
typeset in L<sup><small>A</small></sup>T<small>E</small>X to great
effect. In this session, I will provide examples on how to typeset
tables, figures, and references. You will also learn how to make
tables of contents, bibliographies, and how to create footnotes.</p>
<p> I will also examine various packages of
L<sup><small>A</small></sup>T<small>E</small>X that can help you
meet requirements set by users of inferior typesetting systems.
These include double-spacing, hyphenation and specific margin
sizes.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-20" time="6:30 PM" room="MC1085"
title="LaTeX: Beautiful Mathematics">
<short>LaTeX =&gt; fun</short>
<abstract>
<p>It is widely acknowledged that the best system by which to
typeset beautiful mathematics is through the T<small>E</small>
typesetting system, written by Donald Knuth in the early 1980s.</p>
<p>In this talk, I will demonstrate
L<sup><small>A</small></sup>T<small>E</small>X and how to typeset
elegant mathematical expressions.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-27" time="6:00 PM" room="MC1085"
title="The BSD License Family">
<short>Free for all</short>
<abstract>
<p>Before the GNU project ever existed, before the phrase
"Free Software" was ever coined, students and researchers
at the University of California, Berkeley were already
practising it. They had acquired the source code to a
little-known operating system developed at AT&amp;T
Bell Laboratories, and were creating improvements at a
ferocious rate.</p>
<p>These improvements were sent back to Bell Labs, and
shared to other Universities. Each of them were licensed
under what is now known as the "Original BSD license". Find
out what this license means, its implications, and what are
its descendents by attending this short talk.</p>
</abstract>
</eventitem>
<eventitem date="2003-02-27" time="6:30 PM" room="MC1085"
title="The GNU General Public License">
<short>The teeth of Free Software</short>
<abstract>
<div style="font-style: italic"><blockquote>
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General
Public License is intended to guarantee your freedom to share and
change free software---to make sure the software is free for all
its users.
<br />
<div style="text-align:right">--- Excerpt from the GNU GPL</div>
</blockquote></div>
<p> The GNU General Public License is one of the most influential
software licenses in this day. Written by Richard Stallman for the
GNU Project, it is used by software developers around the world to
protect their work.</p>
<p>Unfortunately, software developers do not read licenses
thoroughly, nor well. In this talk, we will read the entire GNU GPL
and explain the implications of its passages. Along the way, we
will debunk some myths and clarify common misunderstandings.</p>
<p>After this session, you ought to understand what the GNU GPL
means, how to use it, and when you cannot use it. This session
should also give you some insight into the social implications of
this work.</p>
</abstract>
</eventitem>
<eventitem date="2003-03-13" time="6:30 PM" room="MC1085"
title="XML">
<short>Give your documents more markup</short>
<abstract>
<p>XML is the <q>eXtensible Markup Language,</q> a standard
maintained by the World Wide Web Consortium. A descendant of IBM's
SGML. It is a metalanguage which can be used to define markup
languages for semantically describing a document.</p>
<p>This talk will describe how to generate correct XML documents,
and auxiliary technologies that work with XML.</p>
</abstract>
</eventitem>
<eventitem date="2003-03-20" time="6:30 PM" room="MC1085"
title="XSLT">
<short>Transforming your documents</short>
<abstract>
<p>XSLT is the <q>eXtended Stylesheet Language Transformations,</q>
a language for transforming XML documents into other XML
documents.</p>
<p>XSLT is used to manipulate XML documents into other forms: a sort
of glue between data formats. It can turn an XML document into an
XHTML document, or even an HTML document. With a little bit of
hackery, it can even be convinced to spit out non-XML conforming
documents.</p>
</abstract>
</eventitem>
<eventitem date="2003-03-24" time="8:00 PM"
room="Humanities Theatre, Hagey Hall"
title="Judy, or What Is It Like To Be A Robot?">
<short>Held in co-operation with the UW Cognitive Science Club</short>
<abstract>
<p>A lot of claims have been made lately about the intelligence of
computers. Some researchers say that computers will eventually attain
super-human intelligence. Others call these claims... um, poppycock.
Oddly enough, in the search for the truth of the matter, both camps
have overlooked an obvious strategy: interviewing a computer and asking
her opinion.</p>
<p>"Judy is as much fun as a barrel of wind-up cymbal-monkeys, and
lots more entertaining." --- Bill Rodriguez, <i>Providence Phoenix</i></p>
<p>"Tom Sgouros's witty play, co-starring the charming robot Judy, is an
imagination stretcher that delights while it exercises your mind. If you
think you can't imagine a conscious robot, you're wrong---you can,
especially once you've met Judy." --- Daniel C. Dennett,
author of <i>Consciousness Explained</i>, <i>Brainchildren</i>,
&amp;c.</p>
<p>"...an engrossing evening... Real questions about
consciousness, freedom to act, the relationship between the creator
and the created are woven into a bravura performance." --- Will
Stackman, <i>Aislesay.com</i></p>
<p>Sponsored by the Mathematics Society, the Federation of Students, the
Arts Student Union, the Graduate Student Association, and the Department of
Philosophy. Tickets available at the Humanities box office (888-4908) and
the offices of the Psychology Society and the Computer Science Club for
$5.50. For
more information: <a
href="http://www.csclub.uwaterloo.ca/cogsci/">http://www.csclub.uwaterloo.ca/cogsci</a>.</p>
</abstract>
</eventitem>
<eventitem date="2003-03-25" time="4:30 PM" room="MC2065"
title="Stream Processing">
<short>A talk by Assistant Professor Michael McCool</short>
<abstract>
<p>Stream processing is an enhanced version of SIMD processing that
permits efficient execution of conditionals and iteration. Stream
processors have many similarities to GPUs, and a hardware prototype,
the Imagine processor, has been used to implement both OpenGL and
Renderman.</p>
<p>It is possible that GPUs will acquire certain properties
of stream processors in the future, which should make them easier
to use and more efficient for general-purpose computation that includes
data-dependent iteration and conditionals.</p>
</abstract>
</eventitem>
<eventitem date="2003-03-26" time="6:00 PM" room="MC2065"
title="Abusing the C++ Compiler">
<short>Abusing template metaprogramming in C++</short>
<abstract>
<p>Templates are a useful feature in C++ when it comes to writing
type-independent data structures and algorithms. But that's not all
they can be used for. Essentially, it is possible to write certain
programs in C++ that execute completely at compile-time rather
than run-time. Combined with some optimisations this is an interesting
twist on regular C++ programming.</p>
<p>This talk will give a short overview of the features of templates
and then go on to describe how to "abuse" templates to perform complex
computations at compile time. The speaker will present three programs of
increasing complexity which execute at compile time. First a factorial
listing program, then a prime listing program will be presented. Finally
the talk will conclude with the presentation of a <i>Mandelbrot
generator running at compile time.</i></p>
<p>Some basic knowledge of C++ will be assumed.</p>
</abstract>
</eventitem>
<eventitem date="2003-03-27" time="6:30 PM" room="MC1085"
title="SSH and Networks">
<short>Once more into the breach</short>
<abstract>
<p>The Secure Shell (SSH) has now replaced traditional remote login
tools such as <i>rsh</i>, <i>rlogin</i>, <i>rexec</i> and
<i>telnet</i>. It is used to provide secure, authenticated,
encrypted communications between remote systems. However, the SSH
protocol provides for much more than this.</p>
<p>In this talk, we will discuss using SSH to its full extent. Topics
to be covered include:</p>
<ul>
<li>Remote logins</li>
<li>Remote execution</li>
<li>Password-free authentication</li>
<li>X11 forwarding</li>
<li>TCP forwarding</li>
<li>SOCKS tunnelling</li>
</ul>
</abstract>
</eventitem>
<!-- Fall 1994 -->
<eventitem
date="1994-09-13" time="9:00 PM"
room="Princess Cinema"
title="Movie Outing: Brainstorm">
<short>
No description available.
</short>
<abstract>
<p>
The first of this term's CSC social events, we will be going to see
the movie ``Brainstorm'' at the Princess Cinema. This outing is
intended primarily for the new first-year students.
</p>
<p>
The Princess Cinema is Waterloo's repertoire theatre. This month
and next, they are featuring a ``Cyber Film Festival''. Upcoming
films include:
</p>
<ul>
<li>Brazil</li>
<li>Bladerunner (director's cut)</li>
<li>2001: A Space Odyssey</li>
<li>Naked Lunch</li>
</ul>
<p>
Admission is $4.25 for a Princess member, $7.50 for a non-member.
Membership to the Princess is $7.00 per year.
</p>
</abstract>
</eventitem>
<eventitem
date="1994-09-16" time="4:30 PM"
room="MC 4040"
title="CSC Elections">
<short>No description available</short>
<abstract>No abstract available</abstract>
</eventitem>
<eventitem
date="1994-09-19" time="4:30 PM"
room="MC 3022"
title="UNIX I Tutorial">
<short>No description available</short>
<abstract>No abstract available</abstract>
</eventitem>
<eventitem
date="1994-09-21" time="6:30 PM"
room="DC 1302"
title="SIGGRAPH Video Night">
<short>No description available</short>
<abstract>No abstract available</abstract>
</eventitem>
<eventitem
date="1994-09-22" time="4:30 PM"
room="MC 3022"
title="UNIX I Tutorial">
<short>No description available</short>
<abstract>No abstract available</abstract>
</eventitem>
<eventitem
date="1994-09-26" time="4:30 PM"
room="MC 3022"
title="UNIX II Tutorial">
<short>No description available</short>
<abstract>No abstract available</abstract>
</eventitem>
<eventitem
date="1994-10-13" time="5:00 PM"
room="DC 1302"
title="Prograph: Picture the Future">
<short>No description available</short>
<abstract>
<p>
What is the next step in the evolution of computer languages?
Intelligent agents? Distributed objects? or visual languages?
</p>
<p>
Visual languages overcome many of the drawbacks and limitations
of the textual languages that software development is based on
today. Do you think about programming in a linear fashion? Or do
you draw a mental picture of your algorithm and then linearize it
for the benefit of your compiler? Wouldn't it be nice if you could
code the same way you think?
</p>
<p>
Visual C++ and Visual BASIC aren't visual languages, but Prograph
is. Prograph is a commercially available, visual, object-oriented,
data-flow language. It is well suited to graphical user interface
development, but is as powerful for general-purpose programming as
any textual language.
</p>
<p>
The talk will comprise a discussion of the problems of textual
languages that visual languages solve, a live demonstration of
Prograph, and some of my observations of the applications of
Prograph to software development.
</p>
</abstract>
</eventitem>
<eventitem
date="1994-10-15" time="10:00 AM"
room="MC 3022"
title="ACM-Style Programming Contest">
<short>No description available</short>
<abstract>
<h3>Big Money and Prizes!</h3>
<p>
So you think you're a pretty good programmer? Pit your skills
against others on campus in this triannual event! Contestants will
have three hours to solve five programming problems in either C or
Pascal.
</p>
<p>
Last fall's winners went on to the International Finals and came
first overall! You could be there, too!
</p>
</abstract>
</eventitem>
<eventitem
date="1994-10-20" time="4:30 PM"
room="MC 3009"
title="Exploring the Internet">
<short>No description available</short>
<abstract>
<h3>Need something to do between assignments/beers?</h3>
<p>
Did you know that your undergrad account at Waterloo gives you
access to the world's largest computer network? With thousands
of discussion groups, gigabytes of files to download, multimedia
information browsers, even on-line entertainment?
</p>
<p>
The resources available on the Internet are vast and wondrous, but
the tools for navigating it are sometimes confusing and arcane. In
this hands-on tutorial you will get the chance to get your feet wet
with the world's most mind-bogglingly big computer network, the
protocols and programs used, and how to use them responsibly and
effectively.
</p>
</abstract>
</eventitem>
<eventitem
date="1994-11-02" time="4:30 PM"
room="MC 2038"
title="Game Theory">
<short>No description available</short>
<abstract>
<h3>From the Minimax Theorem, through Alpha-Beta, and beyond...</h3>
<p>
This will be a discussion of the pitfalls of using mathematics and
algorithms to play classical board games. Thorough descriptions
shall be presented of the simple techniques used as the building
blocks that make all modern computer game players. I will use
tic-tac-toe as a control for my arguments. Other games such as
Chess, Othello and Go shall be the be a greater measure of progress;
and more importantly the targets of our dreams.
</p>
<p>
To enhance the discussion of the future, Barney Pell's Metagamer
shall be introduced. His work in define classes of games is
important in identifying the features necessary for analysis.
</p>
</abstract>
</eventitem>
<!-- Fall 1999 -->
<eventitem date="1999-10-18" time="2:30 PM" room="DC1304"
title="Living Laboratories: The Future Computing Environments at
Georgia Tech">
<short>By Blair MacIntyre and Elizabeth Mynatt</short>
<abstract>
<p>by Blair MacIntyre and Elizabeth Mynatt</p>
<p>The Future Computing Environments (FCE) Group at Georgia Tech
is a collection of faculty and students that share a desire to
understand the partnership between humans and technology that
arises as computation and sensing become ubiquitous. With
expertise covering the breadth of Computer Science, but
focusing on HCI, Computational Perception, and Machine
Learning, the individual research agendas of the FCE faculty
are grounded in a number of shared "living laboratories" where
their research is applied to everyday life in the classroom
(Classroom 2000), the home (the Aware Home), the office
(Augmented Offices), and on one's person. Professors
MacIntyre and Mynatt will discuss a variety of these projects,
with an emphasis on the HCI and Computer Science aspects of
the FCE work.
</p>
<p>
In addition to their affiliation with the FCE group,
Professors Mynatt and MacIntyre are both members of the
Graphics, Visualization and Usability Center (GVU) at Georgia
Tech. This interdisciplinary center brings together research
in computer science, psychology, industrial engineering,
architecture and media design by examining the role of
computation in our everyday lives. During the talk, they will
touch on some of the research and educational opportunities
available at both GVU and the College of Computing.
</p>
</abstract>
</eventitem>
<eventitem date="1999-10-19" time="4:30 PM" room="DC1304"
title="GDB, Purify Tutorial">
<short>No description available.</short>
<abstract>
<p>
Debugging can be the most difficult and time consuming part of
any program's life-cycle. Far from an exact science, it's more
of an art ... and close to some kind of dark magic. Cryptic
error messages, lousy error checking, and icky things like
implicit casts can make it nearly impossible to know what's
going on inside your program.
</p>
<p>
Several tools are available to help automate your
debugging. GDB and Purify are among the most powerful
debugging tools available in a UNIX environment. GDB is an
interactive debugger, allowing you to `step' through
a program, examine function calls, variable contents, stack
traces and let you look at the state of a program after it
crashes. Purify is a commercial program designed to help find
and remove memory leaks from programs written in languages
without automatic garbage collection.
</p>
<p>
This talk will cover how to compile your C and C++ programs
for use with GDB and Purify, as well as how to use the
available X interfaces. If a purify license is available on
undergrad at the time of the talk, we will cover how to use it
during runtime.
</p>
</abstract>
</eventitem>
<eventitem date="1999-12-01" time="4:30 PM" room="MC2066"
title="Homebrew Processors and Integrated Systems in FPGAs">
<short>By Jan Gray</short>
<abstract>
<p>by Jan Gray</p>
<p> With the advent of large inexpensive field-programmable gate
arrays and tools it is now practical for anyone to design and
build custom processors and systems-on-a-chip. Jan will discuss
designing with FPGAs, and present the design and implementation
of xr16, yet another FPGA-based RISC computer system with
integrated peripherals.</p>
<p> Jan is a past CSC pres., B.Math. CS/EEE '87, and wrote
compilers, tools, and middleware at Microsoft from 1987-1998. He
built the first 32-bit FPGA CPU and system-on-a-chip in
1995. </p>
</abstract>
</eventitem>
<eventitem date="1999-12-01" time="7:00 PM" room="Golf's Steakhouse"
title="Ctrl-D">
<short>End-of-term dinner</short>
<abstract>
No abstract available.
</abstract>
</eventitem>
<eventitem date="1999-12-02" time="1:30 PM" room="DC1302"
title="Calculational Mathematics">
<short>By Edgar Dijkstra</short>
<abstract>
<p> By Edgar Dijkstra</p>
<p> This talk will use partial orders, lattice theory, and, if
time permits, the Galois connection as carriers to illustrate
the use of calculi in mathematics. We hope to show the brevity
of many calculations (in order to fight the superstition that
formal proofs are necessarily impractically long), and the
strong heuristic guidance that is available for their
design. </p>
<p> Dijkstra is known for early graph-theoretical algorithms,
the first implementation of ALGOL 60, the first operating system
composed of explicitly synchronized processes, the invention of
guarded commands and of predicate transformers as a means for
defining semantics, and programming methodology in the broadest
sense of the word. </p>
<p> His current research interests focus on the formal
derivation of proofs and programs, and the streamlining of the
mathematical argument in general.</p>
<p> Dijkstra held the Schlumberger Centennial Chair in Computer
Sciences at The University of Texas at Austin until retiring in
October. </p>
</abstract>
</eventitem>
<eventitem date="1999-12-03" time="10:00 AM" room="Siegfried Hall,
St Jerome's" title="Proofs and Programs">
<short>By Edsger Dijkstra</short>
<abstract>
<p> This talk will show the use of programs for the proving of
theorems. Its purpose is to show how our experience gained in
the derivations of programs might be transferred to the
derivation of proofs in general. The examples will go beyond the
(traditional) existence theorems. </p>
<p> Dijkstra is known for early graph-theoretical algorithms,
the first implementation of ALGOL 60, the first operating system
composed of explicitly synchronized processes, the invention of
guarded commands and of predicate transformers as a means for
defining semantics, and programming methodology in the broadest
sense of the word. </p>
<p> His current research interests focus on the formal
derivation of proofs and programs, and the streamlining of the
mathematical argument in general.</p>
<p> Dijkstra held the Schlumberger Centennial Chair in Computer
Sciences at The University of Texas at Austin until retiring in
October. </p>
</abstract>
</eventitem>
<eventitem date="1999-12-03" time="3:00 PM" room="DC1351"
title="Open Q&amp;A session">
<short>By Edsger Dijkstra</short>
<abstract>No description available.</abstract>
</eventitem>
<!-- Winter 2000 -->
<eventitem date="2000-03-24" time="4:30 PM" room="DC1304"
title="Enterprise Java APIs and Implementing a Web Portal">
<short>No description available.</short>
<abstract>
<h3>by Floyd Marinescu
</h3>
<p>
The first talk will be an introduction to the Enterprise Java
API's: Servlets, JSP, EJB, and how to use them to build
eCommerce sites.
</p>
<p>
The second talk will be about how these technologies were used
to implement a real world portal. The talk will include an
overview of the design patterns used and will feature
architectural information about the yet to be release portal
(which I am one of the developers) called theserverside.com.
</p>
</abstract>
</eventitem>
<eventitem date="2000-03-30" time="4:30 PM" room="DC1304"
title="Enterprise Java APIs and Implementing a Web Portal (1)">
<short>No description available.</short>
<abstract>
<p>Real World J2EE - Design Patterns and architecture behind the
yet to be released J2EE portal: theserverside.com</p>
<p>This talk will feature an exclusive look at the architecture
behind the new J2EE portal: theserverside.com. Join Floyd
Marinescu in a walk-through of the back-end of the portal,
while learning about J2EE and its real world patterns,
applications, problems and benefits.</p>
</abstract>
</eventitem>
<!-- Spring 2000 -->
<eventitem date="2000-07-20" time="7:00 PM" room="Ali Babas Steak
House, 130 King Street S, Waterloo" title="Ctrl-D">
<short>End-of-term dinner</short>
<abstract>No abstract available.</abstract>
</eventitem>
<!-- Fall 2000 -->
<eventitem date="2000-09-14" time="6:00 PM" room="DC1302"
title="CSC Elections">
<short>Fall 2000 Elections for the CSC.</short>
<abstract>
<p>
Would you like to get involved in the CSC? Would you like to have a
say in what the CSC does this term? Come out to the CSC Elections!
In addition to electing the executive for the Fall term, we will be
appointing office staff and other positions. Look for details in
uw.csc.
</p>
<p>Nominations for all positions are being taken in the CSC office, MC
3036.</p>
</abstract>
</eventitem>
<eventitem date="2000-09-14" time="7:00 PM" room="DC1302"
title="SIGGraph Video Night">
<short> SIGGraph Video Night Featuring some truly awesome computer
animations from Siggraph '99. </short>
<abstract>
<p> Interested in Computer Graphics?
</p>
<p> Enjoy watching state-of-the-art Animation?
</p>
<p> Looking for a cheap place to take a date?
</p>
<p> SIGGraph Video Night -
Featuring some truly awesome computer animations from Siggraph '99.
</p>
<p>Come out for the Computer Science Club general elections at 6:00
pm, right before SIGGraph!</p>
</abstract>
</eventitem>
<eventitem date="2000-09-25" time="2:30 PM" room="DC1302"
title="Realising the Next Generation Internet">
<short>By Frank Clegg of Microsoft Canada</short>
<abstract>
<h3>Vitals</h3>
<dl>
<dt>By</dt>
<dd>Frank Clegg</dd>
<dd>President, Microsoft Canada</dd>
<dt>Date</dt>
<dd>Monday, September 25, 2000</dd>
<dt>Time</dt>
<dd>14:30 - 16:00</dd>
<dt>Place</dt>
<dd>DC 1302</dd>
<dd>(Davis Centre, Room 1302, University of Waterloo)</dd>
<dt>Cost</dt>
<dd>$0.00</dd>
<dt>Pre-registration</dt>
<dd>Recommended</dd>
<dd><a href="http://infranet.uwaterloo.ca:81/infranet/semform.htm">http://infranet.uwaterloo.ca:81/infranet/semform.htm</a></dd>
<dd>(519) 888-4004</dd>
</dl>
<h3>Abstract</h3>
<p>The Internet and the Web have revolutionized our communications, our access
to information and our business methods. However, there is still much room
for improvement. Frank Clegg will discuss Microsoft's vision for what is
beyond browsing and the dotcom. Microsoft .NET (pronounced "dot-net") is a
new platform, user experience and set of advanced software services planned
to make all devices work together and connect seamlessly. With this next
generation of software, Microsoft's goal is to make Internet-based
computing and communications easier to use, more personalized, and more
productive for businesses and consumers. In his new position of president
of Microsoft Canada Co., Frank Clegg will be responsible for leading the
organization toward the delivery of Microsoft .NET. He will speak about
this new platform and the next generation Internet, how software developers
and businesses will be able to take advantage of it, and what the .NET
experience will look like for consumers and business users.</p>
<h3>The Speaker</h3>
<p>Frank Clegg was appointed president of Microsoft Canada Co. this month.
Prior to his new position, Mr. Clegg was vice-president, Central Region,
Microsoft Corp. from 1996 to 2000. In this capacity, he was responsible for
sales, support and marketing activities in 15 U.S. states. Mr. Clegg joined
Microsoft Corp. in 1991 and headed the Canadian subsidiary until 1996.
During that time, Mr. Clegg was instrumental in introducing several key
initiatives to improve company efficiency, growth and market share. Mr.
Clegg graduated from the University of Waterloo in 1977 with a B. Math.</p>
<h3>For More Information</h3>
<address>
Shirley Fenton<br />
The infraNET Project<br />
University of Waterloo<br />
519-888-4567 ext. 5611<br />
<a href="http://infranet.uwaterloo.ca/">http://infranet.uwaterloo.ca/</a>
</address>
</abstract>
</eventitem>
<!-- Winter 2001 -->
<eventitem date="2001-01-15" time="4:30 PM" room="MC3036"
title="Executive elections">
<short>Winter 2001 CSC Elections.</short>
<abstract>
<p>Would you like to get involved in the CSC? Would you like to
have a say in what the CSC does this term? Come out to the CSC
Elections! In addition to electing the executive for the
Winter term, we will be appointing office staff and other
positions. Look for details in uw.csc.
</p>
<p>
Nominations for all positions are being taken in the CSC
office, MC 3036.
</p>
</abstract>
</eventitem>
<eventitem date="2001-01-22" time="3:30 PM" room="MC3036"
title="Meeting #2">
<short>Second CSC meeting for Winter 2001.</short>
<abstract>
<h3>Proposed agenda</h3>
<dl>
<dt>Book purchases</dt>
<dd>
<p>They haven't been done in 2 terms.
We have an old list of books to buy.
Any suggestions from uw.csc are welcome.</p>
</dd>
<dt>CD Burner</dt>
<dd>
<p>For doing Linux burns. It was allocated money on the budget
request - about $300. We should be able to get a decent 12x
burner with that (8x rewrite).</p>
<p>The obvious things to sell are Linux Distros and BSD variants.
Are there any other software that we can legally burn and sell
to students?</p>
</dd>
<dt>Unix talks</dt>
<dd>
<p>Just a talk of the topics to be covered, when, where, whatnot.
Mike was right on this one, this should have been done earlier
in the term. Oh well, maybe we can fix this for next fall term.</p>
</dd>
<dt>Game Contest</dt>
<dd>
<p>We already put a bit of work into planning the Othello contest
before I read Mike's post. I still think it's viable. I've got
at least 2 people interested in writing entries for it. This
will be talked about more on Monday. Hopefully, Rory and I will
be able to present a basic outline of how the contest is going
to be run at that time.</p>
</dd>
<dt>Peri's closet cleaning</dt>
<dd>
<p>Current sysadmin (jmbeverl) and I (kvijayan) and
President (geduggan) had a nice conversation about this 2
days ago, having to do with completely erasing all of
peri, installing a clean stable potato debian on it, and
priming it for being a gradual replacement to calum. We'll
probably discuss how much we want to get done on this
front on Monday.</p>
</dd>
</dl>
<p>Any <a href="nntp://news.math.uwaterloo.ca/uw.csc/8305">comments</a> from <a href="news:uw.csc">the newsgroup</a> are welcome.</p>
</abstract>
</eventitem>
<eventitem date="2001-01-27" time="10:30 AM" room="MC3006"
title="ACM-Style programming contest">
<short>Practice for the ACM international programming
contest</short>
<abstract>
<p>Our ACM-Style practice contests involve answering five questions in three
hours. Solutions are written in Pascal, C or C++. Seven years in a row,
Waterloo's teams have been in the top ten at the world finals.
For more information, see
<a href="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
<h3>Easy Question:</h3>
<p>A palindrome is a sequence of letters that reads the same backwards and
forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
only letters are important). Your task is to find the longest palindrome in
a line of text (if there is a tie, print the leftmost one).</p>
<pre>
Input: Output:
asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
abcbabCdcbaqwerewq abCdcba
</pre>
<h3>Hard Question:</h3>
<p>An anagram is a word formed by reordering the letters of another word.
Find all sets of anagrams that exist within a large dictionary. The
input will be a sorted list of words (up to 4000 words), one per line.
Output each set of anagrams on a separate line. Each set should be
in alphabetical order, and all lines of sets should be in alphabetical
order. A word with no anagrams is a set of anagrams itself, and should
be displayed with no modifications.</p>
<pre>
Input: Output:
post post pots stop
pots start
start
stop
</pre>
</abstract>
</eventitem>
<eventitem date="2001-01-29" time="02:39 PM" room="MC3036"
title="Meeting #3">
<short>No description available.</short>
<abstract>No abstract available.</abstract>
</eventitem>
<eventitem date="2001-02-05" time="03:30 PM" room="MC3036"
title="Meeting #4">
<short>No description available.</short>
<abstract>No abstract available.</abstract>
</eventitem>
<eventitem date="2001-02-12" time="03:30 PM" room="MC3036"
title="Meeting #5">
<short>No description available.</short>
<abstract>No abstract available.</abstract>
</eventitem>
<!-- Spring 2001 -->
<eventitem date="2001-06-02" time="10:30 AM" room="MC3006"
title="ACM-Style programming contest">
<short>Practice for the ACM international programming
contest</short>
<abstract>
<p>Our ACM-Style practice contests involve answering five questions in three
hours. Solutions are written in Pascal, C or C++. Seven years in a row,
Waterloo's teams have been in the top ten at the world finals.
For more information, see
<a href="http://plg.uwaterloo.ca/~acm00/">the contest web page</a>.</p>
<h3>Easy Question:</h3>
<p>A palindrome is a sequence of letters that reads the same backwards and
forwards, such as ``Madam, I'm Adam'' (note that case doesn't matter and
only letters are important). Your task is to find the longest palindrome in
a line of text (if there is a tie, print the leftmost one).</p>
<pre>
Input: Output:
asfgjh12dsfgg kj0ab12321BA wdDwkj abBA
abcbabCdcbaqwerewq abCdcba
</pre>
<h3>Hard Question:</h3>
<p>An anagram is a word formed by reordering the letters of another word.
Find all sets of anagrams that exist within a large dictionary. The
input will be a sorted list of words (up to 4000 words), one per line.
Output each set of anagrams on a separate line. Each set should be
in alphabetical order, and all lines of sets should be in alphabetical
order. A word with no anagrams is a set of anagrams itself, and should
be displayed with no modifications.</p>
<pre>
Input: Output:
post post pots stop
pots start
start
stop
</pre>
</abstract>
</eventitem>
<!-- Winter 2002 -->
<eventitem date="2002-01-26" time="2:00 PM"
room="Comfy Lounge MC3001"
title="An Introduction to GNU Hurd">
<short>Bored of GNU/Linux? Try this experimental operating
system!</short>
<abstract>
<p>GNU Hurd is an operating system kernel based on the microkernel
architecture design. It was the original GNU kernel, predating Linux,
and is still being actively developed by many volunteers.</p>
<p>The Toronto-area Hurd Users Group, in co-operation with the Computer
Science Club, is hosting an afternoon to show the Hurd to anyone
interested. Jeff Bailey, a Hurd developer, will give a presentation on
the Hurd, followed by a GnuPG/PGP keysigning party. To finish it off,
James Morrison, also a Hurd developer, will be hosting a Debian
GNU/Hurd installation session.</p>
<p>All interested are invited to attend. Bring your GnuPG/PGP fingerprint
and mail your key to sjdutoit@uwaterloo.ca with the subject
``keysigning'' (see separate announcement).</p>
<p>Questions? Suggestions? Contact <a
href="ja2morri@uwaterloo.ca">James Morrison</a>.</p>
</abstract>
</eventitem>
<eventitem date="2002-01-26" time="2:30 PM"
room="Comfy Lounge MC3001"
title="GnuPG/PGP Keysigning Party">
<short>Get more signatures on your key!</short>
<abstract>
<p>
GnuPG and PGP provide public-key based encryption for e-mail and
other electronic communication. In addition to preventing others
from reading your private e-mail, this allows you to verify that an
e-mail or file was indeed written by its perceived author.
</p>
<p>
In order to make sure a GnuPG/PGP key belongs to the respective
person, the key must be signed by someone who has checked the
user's key fingerprint and verified the user's identification.
</p>
<p>
A keysigning party is an ideal occasion to have your key signed by
many people, thus strengthening the authority of your key. Everyone
showing up exchanges key signatures after verifying ID and
fingerprints. The Computer Science Club will be hosting such a
keysigning party together with the Hurd presentation by THUG (see
separate announcement). See
<a href="http://www.student.math.uwaterloo.ca/~sjdutoit/"> the
keysigning party homepage</a> for more information.
</p>
<p>
Before attending it is important that you mail your key to
sjdutoit@uwaterloo.ca with the subject ``keysigning.'' Also make
sure to bring photo ID and a copy of your GnuPG/PGP fingerprint on
a sheet of paper to the event.
</p>
</abstract>
</eventitem>
<eventitem date="2002-01-31" time="6:00 PM" room="MC2037"
title="UNIX 101: First Steps With UNIX">
<short>
This is the first in a series of seminars that cover the use of
the UNIX Operating System. UNIX is used in a variety of
applications, both in academia and industry. We will be covering
the basics of the UNIX environment, as well as the use of PINE, an
electronic mail and news reader.
</short>
</eventitem>
<eventitem date="2002-02-13" time="4:00 PM" room="MC4060"
title="DVD-Video Under Linux">
<short>Billy Biggs will be holding a talk on DVD technology
(in particular, CSS and playback issues) under Linux, giving some
technical details as well as an overview of the current status of
Free Software efforts. All are welcome.</short>
<abstract>
<p>DVD copy protection: Content Scrambling System (CSS)</p>
<ul>
<li>A technical introduction to CSS and an overview of the ongoing
legal battle to allow distribution of non-commercial DVD
players</li>
<li>The current Linux software efforts and open issues</li>
<li>How applications and Linux distributions are handling the
legal issues involved</li>
</ul>
<p>DVD-Video specifics: Menus and navigation</p>
<ul>
<li>An overview of the DVD-Video standard</li>
<li>Reverse engineering efforts and their implementation status</li>
<li>Progress of integration into Linux media players</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2002-02-07" time="6:00 PM" room="MC2037"
title="Unix 102: Fun With UNIX">
<short>This the second in a series of UNIX tutorials. Simon Law and
James Perry will be presenting some more advanced UNIX
techniques. All are welcome. Accounts will be provided for those
needing them.</short>
<abstract>
<p>
This is the second in a series of seminars that cover the use of
the UNIX Operating System. UNIX is used in a variety of
applications, both in academia and industry. We will provide you
with hands-on experience with the Math Faculty's UNIX environment
in this tutorial.
</p>
<p>Topics that will be discussed include:</p>
<ul>
<li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
<p>
If you do not have a Math computer account, don't panic; one will
be lent to you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2002-03-01" time="5:00 PM" room="MC4060"
title="Computer Go, The Ultimate">
<short>Thomas Wolf from Brock University will be holding a talk on
the Asian game of Go. All are welcome.</short>
<abstract>
<p>
The Asian game go is unique in a number of ways. It is the oldest
board game known. It is a strategy game with very simple
rules. Computer programs are very weak despite huge efforts and
prizes of US$ &gt; 1.5M for a program beating professional
players. The talk will quickly explain the rules of go, compare go
and chess, mention various attempts to program go and describe our
own efforts in this field. Students will have an opportunity to
solve computer generated go problems. Prizes will be available.
</p>
</abstract>
</eventitem>
<!-- Spring 2002 -->
<eventitem date="2002-05-11" time="7:00 PM" room="MC3036" title="S02
elections">
<short>Come and vote for this term's exec</short>
<abstract>
<p>
Vote for the exec this term. Meet at the CSC office.
</p>
</abstract>
</eventitem>
<!-- Fall 2002 -->
<eventitem date="2002-09-16" time="5:30 PM" room="Comfy lounge"
title="F02 elections">
<short>Come and vote for this term's exec</short>
<abstract>
<p>
Vote for the exec this term. Meet at the comfy
lounge. There will be an opportunity to obtain or renew
memberships. This term's CRO is Siyan Li
(s8li@csclub.uwaterloo.ca).
</p>
</abstract>
</eventitem>
<eventitem date="2002-09-30" time="6:30 PM" room="Comfy lounge, MC3001"
title="Business Meeting">
<short>Vote on a constitutional change.</short>
<abstract>
<p>
The executive has unanimously decided to try to change our
constitution to comply with MathSoc policy. The clause we are trying
to change is the membership clause. The following is the proposed new
reading of the clause.
</p>
<p><i>
In compliance with MathSoc regulations and in recognition of
the club being primarily targeted at undergraduate students, full
membership is open to all undergraduate students in the Faculty of
Mathematics and restricted to the same.</i>
</p>
<p>
The proposed change is illustrated <a
href="http://www.csclub.uwaterloo.ca/about/constitution-change-20020920">on
a web page</a>.
</p>
<p>
There will be a business meeting on 30 Sept 2002 at 18:30 in
the comfy lounge, MC 3001. Please come and vote
</p>
</abstract>
</eventitem>
<eventitem date="2002-09-26" time="5:30 PM" room="MC3006"
title="UNIX 101">
<short>First Steps with UNIX</short>
<abstract>
<p>
Get to know UNIX and be the envy of your friends!
</p>
<p>
This is the first in a series of seminars that cover the use
of the UNIX Operating System. UNIX is used in a variety of
applications, both in academia and industry. We will provide
you with hands-on experience with the Math Faculty's UNIX
environment in this seminar.
</p>
<p>
Topics that will be discussed include:
</p>
<ul>
<li>Navigating the UNIX environment</li>
<li>Using common UNIX commands</li>
<li>Using the PICO text editor</li>
<li>Reading electronic mail and news with PINE</li>
</ul>
<p>
If you do not have a Math computer account, don't panic; one will be
lent to you for the duration of this class.
</p>
</abstract>
</eventitem>
<eventitem date="2002-10-01" time="6:30 PM-9:30 PM" room="The Bomber"
title="Pints with the Profs">
<short>Get to know your profs and be the envy of your friends!</short>
<abstract>
<p>Come out and meet your professors. This is a great opportunity to
meet professors for Undergraduate Research jobs or to find out who you might
have for future courses.</p>
<p>Profs who have confirmed their attendance are:</p>
<ul>
<li>Troy Vasiga, School of Computer Science</li>
<li>J.P. Pretti, St. Jerome's and School of Computer Science</li>
<li>Michael McCool, School of Computer Science, CGL</li>
<li>Martin Karsten, School of Computer Science, BBCR</li>
<li>Gisli Hjaltason, School of Computer Science, DB</li>
</ul>
<p>There will also be...</p>
<ul>
<li>Free Food</li>
<li>Free Food</li>
<li>Free Food</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2002-10-03" time="5:30 PM" room="MC3006"
title="UNIX 102">
<short>Talking to your UNIX can be fun and profitable.</short>
<abstract>
<p>This is the second in a series of seminars that cover the use of
the UNIX Operating System. UNIX is used in a variety of applications,
both in academia and industry. We will provide you with hands-on
experience with the Math Faculty's UNIX environment in this
tutorial.</p>
<p>Topics that will be discussed include:</p>
<ul><li>Interacting with Bourne and C shells</li>
<li>Editing text using the vi text editor</li>
<li>Editing text using the Emacs display editor</li>
<li>Multi-tasking and the screen multiplexer</li>
</ul>
<p>If you do not have a Math computer account, don't panic; one will be
lent to you for the duration of this class.</p>
</abstract>
</eventitem>
<eventitem date="2002-10-08" time="4:30PM" room="MC4045"
title="Video cards, Linux display drivers and the Kernel Graphics Interface (KGI)">
<short>A talk by Filip Spacek, KGI developer</short>
<abstract>
Linux has proven itself as a reliable operating system but arguably,
it still lacks in support of high performance graphics
acceleration. This talk will describe basic components of a PC video
card and the design and limitations the current Linux display driver
architecture. Finally a an overview of a new architecture, the Kernel
Graphics Interface (KGI), will be given. KGI attempts to solve the
shortcomings of the current design, and provide a lightweight and
portable interface to the display subsystem.
</abstract>
</eventitem>
<eventitem date="2002-10-10" time="5:30pm" room="MC3006"
title="UNIX 103">
<short></short>
<abstract>No abstract available yet.</abstract>
</eventitem>
<eventitem date="2002-11-05" time="4:30 PM" room="MC 2065"
title="The Evil Side of C++">
<short>Abusing template metaprogramming in C++; aka. writing a
Mandelbrot generator that runs at compile time</short>
<abstract>
<p>Templates are a useful feature in C++ when it comes to writing
type-independent data structures and algorithms. Relatively soon
after their appearance it was realised that they could be used to
do much more than this. Essentially it is possible to write
certain programs in C++ that execute <i>completely at compile
time</i> rather than run time. Combined with constant-expression
optimisation this is an interesting twist on regular C++
programming.</p>
<p>This talk will give a short overview of the features of
templates and then go on to describe how to &quot;abuse&quot;
templates to perform complex computations at compile time. The
speaker will present three programs of increasing complexity which
execute at compile time. First a factorial listing program, then a
prime listing program will be presented. Finally the talk will
conclude with the presentation of a <b>Mandelbrot generator running
at compile time</b>.</p>
<p>If you are interested in programming for the fun of it, the C++
language or silly tricks to do with languages, this talk is for
you. No C++ knowledge should be necessary to enjoy this talk, but
programming experience will make it more worthwile for you.</p>
</abstract> </eventitem>
<eventitem date="2002-11-02" time="11:00AM-3:00PM"
room="MC3002 (Math Coffee and Donut Store)"
title="GNU/Linux InstallFest with KW-LUG and UW-DIG">
<short>Bring over your computer and we'll help you install GNU/Linux</short>
<abstract>
<p>The <a href="http://www.csclub.uwaterloo.ca/">CSC</a>, the <a
href="http://www.kwlug.org/">KW-Linux User Group</a>, and the <a
href="http://uw-dig.uwaterloo.ca/">UW Debian Interest Group</a>
are jointly hosting a GNU/Linux InstallFest. GNU/Linux is a
powerful, free operating system for your computer. It is mostly
written by talented volunteers who like to share their efforts
and help each other.</p>
<p>Perhaps you have are you interested in installing GNU/Linux.
If so, bring your computer, monitor and keyboard; and we will
help you install GNU/Linux on your machine. You can also find
knowledgeable people who can answer your questions about
GNU/Linux.</p>
<hr />
<h3>Frequently Asked Questions</h3>
<p><b>Q: </b>What is GNU/Linux?<br />
<b>A: </b>GNU/Linux is a free operating system for your computer. It is mostly
written by talented volunteers who like to share their efforts.
</p>
<p><b>Q: </b>Free?<br />
<b>A: </b>GNU/Linux is available for zero-cost. As well, it allows you such
freedom to share it with your friends, or to modify the software to
your own needs and share that with your friends. It's very friendly.
</p>
<p><b>Q: </b>What is an InstallFest?<br />
<b>A: </b>An InstallFest is a meeting where volunteers help people install
GNU/Linux on their computers. It's also a place to meet users, and
talk to them about running GNU/Linux.
</p>
<p><b>Q: </b>What kind of computer do I need to use GNU/Linux?<br />
<b>A: </b>Almost any recent computer will do. If you have an old machine
kicking around, you can install GNU/Linux on it as well. If it is
at least 5 years old, it should be good enough.
</p>
<p><b>Q: </b>Can I have Windows and GNU/Linux on the same computer?<br />
<b>A: </b>If you can run Windows now, and you have an extra gigabyte (GB) of
disk space to spare; then it should be possible.
</p>
<p><b>Q: </b>What should I bring if I want to install GNU/Linux?<br />
<b>A: </b>You will want to bring:</p>
<ol>
<li>Computer</li>
<li>Monitor and monitor cable</li>
<li>Power cords</li>
<li>Keyboard and mouse</li>
</ol>
</abstract>
</eventitem>
<eventitem date="2002-11-07" time="5:30pm" room="MC4063"
title="The GNU General Public License">
<short>The teeth of Free Software</short>
<abstract>
<p>
<blockquote>
<i>
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License
is intended to guarantee your freedom to share and change free
software---to make sure the software is free for all its users.
</i><br/>--- Excerpt from the GNU GPL
</blockquote>
</p>
<p>The GNU General Public License is one of the most influential
software licenses in this day. Written by Richard Stallman for the
GNU Project, it is used by software developers around the world to
protect their work.
</p>
<p>
Unfortunately, software developers do not read licenses thoroughly, nor
well. In this talk, we will read the entire GNU GPL and explain the
implications of its passages. Along the way, we will debunk some myths
and clarify common misunderstandings.
</p>
<p>
After this session, you ought to understand what the GNU GPL means, how
to use it, and when you cannot use it. This session should also give
you some insight into the social implications of this work.
</p>
</abstract>
</eventitem>
<eventitem date="2002-11-19" time="4:30pm" room="MC4058"
title="Metaprogramming GPUs">
<short>A talk by Michael McCool of the Computer Graphics Lab.</short>
<abstract>
<p>
Modern graphics accelerators, or "GPUs", have embedded high-performance
programmable components in the form of vertex and fragment shading units.
Recently, these units have evolved from 8-bit computations to floating-point,
and other operations provide array gather, scatter, and summation.
These capabilities make GPUs akin to array processors of the
past, but with a difference: every PC now has one! I am interested
in finding the best way to exploit this computational capacity for not
only graphics but for general-purpose computation.
</p><p>
Current APIs permit specification of the programs for GPUs
using an assembly-language level interface. Compilers for high-level
shading languages are available, such as NVIDIA's Cg, and OpenGL 2.0 and
DirectX will also include standardized shading languages. This talk will
review these. However, compilers for these languages read in an external
string specification, which can be inconvenient.
</p><p>
However, it is possible, using standard C++, to define a high-level
shading language directly in the API. Such a language can be nearly
indistinguishable from a special-purpose programming language, yet
permits more direct interaction with the specification of textures
(arrays) and parameters, simplifies implementation, and enables
on-the-fly generation, manipulation, and specialization of shader programs.
A shading language built into the API also permits the lifting of
C++ host language type, modularity, and scoping constructs into the shading
language without any additional implementation effort. Such an
embedded language could be used to program other embedded processors
(such as DSP chips in sound cards) or even to generate machine language
on the fly for the host CPU.
</p>
</abstract>
</eventitem>
<eventitem date="2002-11-16" time="1:30pm" room="York University"
title="Trip to York University">
<short>Going to visit the York University Computer Club</short>
<abstract><p>YUCC and the UW CSC have having a join meeting at York
University. Dave Makalsky, the President of YUCC, will be giving a talk on
Design-by-contract and Eiffel. Stefanus Du Toit, Vice-President of the UW
CSC, will be giving a talk on the evil depths of the black art known as C++.
</p><p>Schedule</p>
<ul><li>1:30pm: Leave UW</li>
<li>3:00pm: Arrive at York University.</li>
<li>3:30pm: The Evil side of C++</li>
<li>4:30pm: Design-by-Contract and Eiffel</li>
<li>6:00pm: Dinner</li>
<li>9:00pm: Arrive back at UW</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2002-11-21" time="6:00pm" room="MC2066"
title="Perl 6">
<short>A talk by Simon Law</short>
<abstract>
<p>
Perl, the Practical Extraction and Reporting Language can only
be described as an eclectic language, invented and refined by
a deranged system administrator, who was trained as a
linguist. This man, however, has declared:
</p>
<blockquote>
<i>
Perl 5 was my rewrite of Perl.
I want Perl 6 to be the community's rewrite of Perl and of the
community.
</i><br/>--- Larry Wall
</blockquote>
<p>
Whenever a language is designed by a committee, it is common
wisdom to avoid it. Not so with Perl, for it cannot get
worse. However strange these Perl people seem, Perl 6 is a
good thing coming. In this talk, I will demonstrate some Perl
5 programs, and talk about their Perl 6 counterparts, to show
you that Perl 6 will be cleaner, friendlier, and prettier.
</p>
</abstract>
</eventitem>
<eventitem date="2002-11-21" time="4:30pm" room="MC2066"
title="Samba and You">
<short>A talk by Dan Brovkovich, Mathsoc's Computing Director</short>
<abstract><p>
Samba is a free implementation of the Server Message Block (SMB)
protocol. It also implements the Common Internet File System (CIFS)
protocol, used by Microsoft Windows 95/98/ME/2000/XP to share files and
printers. </p><p>
SMB was originally developed in the early to mid-80's by IBM and was
further improved by Microsoft, Intel, SCO, Network Appliances, Digital
and many others over a period of 15 years. It has now morphed into CIFS,
a form strongly influenced by Microsoft. </p><p>
Samba is considered to be one of the key projects for the acceptance of
GNU/Linux and other Free operating systems (e.g. FreeBSD) in the
corporate world: a traditional Windows NT/2000 stronghold. </p><p>
We will talk about interfacing Samba servers and desktops with the
Windows world. From a simple GNU/Linux desktop in your home to the
corporate server that provides collaborative file/printer sharing,
logons and home directories to hundreds of users a day. </p>
</abstract>
</eventitem>
<eventitem date="2002-10-26" time="1:30PM" room="MC2066"
title="GNU/Linux on HPPA">
<short>Carlos O'Donnell talks about &quot;the last of the legacy processors to fall before the barbarian horde&quot;</short>
<abstract>
<p>This whirlwind talk is aimed at providing an overview of the
GNU/Linux port for the HP PARISC processor. The talk will focus on
the &quot;intricacies&quot; of the processor, and in particular the
implementations of the Linux kernel and GNU Libc. After the talk
you should be acutely aware of how little code needs to be written
to support a new architecture! Carlos has been working on the port
for two years, and enjoying the fruits of his labour on a 46-node
PARISC cluster.</p>
<hr />
<p>
Carlos is currently in his 5th year of study at the University
of Western Ontario. This is his last year in a concurrent
Computer Engineering and Computer Science degree. His research
interest range from distributed and parallel systems to low
level optimized hardware design. He likes playing guitar and
just bought a Cort NTL-20, jumbo body, solid spruce top with
a mahogany back. Carlos hacks on the PARISC Linux kernel, GNU libc,
GNU Debugger, GNU Binutils and various Debian packages.
</p>
</abstract>
</eventitem>
<eventitem date="2002-10-26" time="3:00PM" room="MC2066"
title="The Hurd Interfaces">
<short>Marcus Brinkmann, a GNU Hurd developer, talks about the Hurd server interfaces, at the heart of a GNU/Hurd system</short>
<abstract>
<p>The Hurd server interfaces are at the heart of the Hurd system. They
define the remote procedure calls (RPCs) that are used by the servers, the
GNU C library and the utility programs to communicate with the Hurd system
and to implement the POSIX personality of the Hurd as well as other
features.</p>
<p>This talk is a walk through the Hurd RPCs, and will give an overview of how
they are used to implement the system. Individual RPCs will be used to
illustrate important or exciting features of the Hurd system in general,
and it will be shown how those features are accessible to the user at the
command line, too.</p>
<hr />
<p>Marcus Brinkmann is a math student at the Ruhr-Universitaet Bochum in
Germany. He is one of maintainers of the GNU Hurd project and the
initiator of the Debian GNU/Hurd binary distribution. He designed and
implemented the console subsystem of the Hurd, wrote the FAT filesystem
server, and fixed a lot of bugs, thus increasing the stability and
usability of the system.</p>
</abstract>
</eventitem>
<eventitem date="2002-10-26" time="4:30PM" room="MC2066"
title="A GNU Approach to Virtual Memory Management in a Multiserver Operating System">
<short>Neal Walfield, a GNU Hurd developer, talks about a possible Virtual Memory Management subsystem for the GNU Hurd</short>
<abstract>
<p>Virtual memory management is one of the cornerstones of multiuser
operating systems. Most systems available today place all of the
policy in a monolithic virtual memory manager, VMM, isolated from the
rest of the system. Although secure and lightweight, users have no
way to communicate their anticipated memory needs and usage to the
system pager. As a result, the VMM can only implement a global paging
policy (typically, an approximation of LRU) which may be good on
average but is best for nobody.</p>
<p>With the port of Hurd to the L4 microkernel, this situation is being
readdressed. Due to its more distributed nature, a centralized
resource manager is not only more difficult to implement efficiently
but also contrary to the philosophy of the rest of the system. We are
currently exploring a model whereby each program is fully self-paged
and all compete for memory from a physical memory server. This talk
will first discuss how paging currently works in Mach and other
systems. An argument for an external paging policy will then be
presented followed by the requirements of such a design and the design
itself.</p>
<hr />
<p>Neal Walfield, a GNU Hurd developer, is from the University of Massachusetts
Lowell. Neal spent the summer of 2002 at University of Karlsruhe working
on porting the GNU Hurd to L4.</p>
</abstract>
</eventitem>
<eventitem date="2002-10-17" time="5:30PM" room="MC2065"
title="Debian in the Enterprise">
<short>A talk by Simon Law</short>
<abstract>
<p>The Debian Project produces a &quot;Universal Operating System&quot; that is
comprised entirely of Free Software. This talk focuses on using Debian
GNU/Linux in an enterprise environment. This includes:</p>
<ul>
<li>Where Debian can be deployed</li>
<li>Strategic advantages of Debian</li>
<li>Ways for business to give back to Debian</li>
</ul>
</abstract>
</eventitem>
<eventitem date="2002-11-12" time="4:30PM" room="MC4058"
title="Automatic Memory Management and Garbage Collection">
<short>A talk by James A. Morrison</short>
<abstract>
<p>
Do you ever wonder what java is doing while you wait? Have you ever used
Modula-3? Do you wonder how lazily you can Mark and Sweep? Would you like to
know how to Stop-and-Copy?
</p><p>
Come out to this talk and learn these things and more. No prior knowledge of
Garbage Collection or memory management is needed.
</p>
</abstract>
</eventitem>
</eventdefs>