No description available.

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.

The Princess Cinema is Waterloo's repertoire theatre. This month and next, they are featuring a ``Cyber Film Festival''. Upcoming films include:

  • Brazil
  • Bladerunner (director's cut)
  • 2001: A Space Odyssey
  • Naked Lunch

Admission is $4.25 for a Princess member, $7.50 for a non-member. Membership to the Princess is $7.00 per year.

No description available No abstract available No description available No abstract available No description available No abstract available No description available No abstract available No description available No abstract available No description available

What is the next step in the evolution of computer languages? Intelligent agents? Distributed objects? or visual languages?

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?

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.

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.

No description available

Big Money and Prizes!

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.

Last fall's winners went on to the International Finals and came first overall! You could be there, too!

No description available

Need something to do between assignments/beers?

Did you know that your undergrad account at Waterloo gives you access tothe world's largest computer network? With thousands of discussion groups, gigabytes of files to download, multimedia information browsers, even on-line entertainment?

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.

No description available

From the Minimax Theorem, through Alpha-Beta, and beyond...

This will be a descussion 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 arguements. 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.

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.

By Blair MacIntyre and Elizabeth Mynatt

by Blair MacIntyre and Elizabeth Mynatt

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.

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.

No description available.

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 toknow what's going on inside your program.

Several tools are available to help automate your debuggin. 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 aprogram, 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 inlanguages without automatic garbage collection.

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.

By Jan Gray

by Jan Gray

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.

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.

End-of-term dinner No abstract available. By Edgar Dijkstra

By Edgar Dijkstra

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 tofight the superstition that formal proofs are necessarily unpractically long), and the strong heuristic guidance that is available for their design.

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.

His current research interests focus on the formal derivation of proofs and programs, and the streamlining of the mathematical argument in general.

Dijkstra held the Schlumberger Centennial Chair in Computer Sciences at The University of Texas at Austin until retiring in October.

By Edsger Dijkstra

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.

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.

His current research interests focus on the formal derivation of proofs and programs, and the streamlining of the mathematical argument in general.

Dijkstra held the Schlumberger Centennial Chair in Computer Sciences at The University of Texas at Austin until retiring in October.

By Edsger Dijkstra No description available. No description available.

by Floyd Marinescu

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.

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.

No description available.

Real World J2EE - Design Patterns and architecture behind the yet to be released J2EE portal: theserverside.com

This talk will feature an exclusive look at the architecture behind the new J2EE portal: theserverside.com. Join Floyd Marinescu in a walk-through ofthe back-end of the portal, while learning about J2EE and its real world patterns, applications, problems and benefits.

End-of-term dinner No abstract available. Fall 2000 Elections for the CSC.

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.

Nominations for all positions are being taken in the CSC office, MC 3036.

SIGGraph Video Night Featuring some truly awesome computer animations from Siggraph '99.

Interested in Computer Graphics?

Enjoy watching state-of-the-art Animation?

Looking for a cheap place to take a date?

SIGGraph Video Night - Featuring some truly awesome computer animations from Siggraph '99.

Come out for the Computer Science Club general elections at 6:00 pm, right before SIGGraph!

By Frank Clegg of Microsoft Canada

Vitals

By
Frank Clegg
President, Microsoft Canada
Date
Monday, September 25, 2000
Time
14:30 - 16:00
Place
DC 1302
(Davis Centre, Room 1302, University of Waterloo)
Cost
$0.00
Pre-registration
Recommended
http://infranet.uwaterloo.ca:81/infranet/semform.htm
(519) 888-4004

Abstract

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.

The Speaker

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.

For More Information

Shirley Fenton
The infraNET Project
University of Waterloo
519-888-4567 ext. 5611
http://infranet.uwaterloo.ca/
Winter 2001 CSC Elections.

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.

Nominations for all positions are being taken in the CSC office, MC 3036.

Second CSC meeting for Winter 2001.

Proposed agenda

Book purchases

They haven't been done in 2 terms. We have an old list of books to buy. Any suggestions from uw.csc are welcome.

CD Burner

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).

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?

Unix talks

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.

Game Contest

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.

Peri's closet cleaning

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.

Any comments from the newsgroup are welcome.

Practice for the ACM international programming contest

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 the contest web page.

Easy Question:

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).

Input:                              Output:

asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
abcbabCdcbaqwerewq                  abCdcba

Hard Question:

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.

Input:      Output:

post        post pots stop
pots        start
start
stop
No description available. No abstract available. No description available. No abstract available. No description available. No abstract available. Practice for the ACM international programming contest

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 the contest web page.

Easy Question:

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).

Input:                              Output:

asfgjh12dsfgg kj0ab12321BA wdDwkj   abBA
abcbabCdcbaqwerewq                  abCdcba

Hard Question:

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.

Input:      Output:

post        post pots stop
pots        start
start
stop
Bored of GNU/Linux? Try this experimental operating system!

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.

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.

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).

Questions? Suggestions? Contact James Morrison.

Get more signatures on your key!

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.

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.

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 the keysigning party homepage for more information.

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.

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 industy. We will be covering the basics of the UNIX environment, as well as the use of PINE, an electronic mail and news reader. 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.

DVD copy protection: Content Scrambling System (CSS)

  • A technical introduction to CSS and an overview of the ongoing legal battle to allow distribution of non-commercial DVD players
  • The current Linux software efforts and open issues
  • How applications and Linux distributions are handling the legal issues involved

DVD-Video specifics: Menus and navigation

  • An overview of the DVD-Video standard
  • Reverse engineering efforts and their implementation status
  • Progress of integration into Linux media players
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.

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.

Topics that will be discussed include:

  • Interacting with Bourne and C shells
  • Editing text using the vi text editor
  • Editing text using the Emacs display editor
  • Multi-tasking and the screen multiplexer

If you do not have a Math computer account, don't panic; one will be lent to you for the duration of this class.

Thomas Wolf from Brock University will be holding a talk on the asian game of Go. All are welcome.

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$ > 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.