Speakers
June 24 - Andy van Dam
- Computer Graphics: Past, Present, and Future
- Andy van Dam, a founder of Brown's CS Department and an influential figure
in the world of computer graphics, will talk about the history of the field
(most of which he has personally experienced) and make some predictions
about its future. The lecture will show (with the help of slides and video)
how computer graphics has evolved from simple black and white line drawings
to photorealistic 3D creations. Examples will range from cutting edge
university research to Hollywood movie special effects such as those seen
in The Abyss, Jurrasic Park, Babe, and, of course, Toy Story (the first
full-length 3D computer graphics film).
- Andy teaches the introductory course on computer graphics, CS123, and is a
co-author with Jim Foley, John Hughes (who also teaches here), and Steve
Feiner of Computer Graphics, Principles and Practice, the "bible" of
computer graphics.
June 30 - Jon Moter
- What is computer programming? When you think of computer science,
you think of people sitting in front of a computer programming it to
do what you want it to do. But what does that involve? How do you
explain to a computer exactly what you want to do?
- I'll be discussing what it means to program a computer. How computers
have no intuition, and cannot be instructed like other people. I will
attempt to describe the process required to take a problem and translate
that into a program that a computer can understand and run. I'll be
touching on topics like program design, programming languages/syntax,
execution of code by a computer, etc. As an example of some of the
things involved, I will be talking about cs15.
- I'm trying to get across what exactly is involved with computer
programming, and hopefully convey some of the satisfaction and
excitement you can get when you get a program to work.
July 1 - Dan Gould and Nate Stahl
- Nate Stahl and Dan Gould are undergraduate researchers in the CS
department. We will begin with an introduction to the program which
runs the whole computer, the Operating System. After discussing
operating system concepts and some common operating systems, we will
give a brief overview of computer networking. Then, we will discuss
computer security and encryption, looking at both the technical issues
and social, ethical, and political implications. After this whirlwind
tour of systems and security (complete with hands-on demonstrations),
our dynamic duo will stick around to answer questions about
undergraduate research in the CS department.
July 2 - John Savage
- This lecture will introduce models of computation as well as
simple methods of analysis. Simple models, such as the logic circuit,
the random-access machine, and the pebble game, will be described.
Using these models and a limited amount of analysis limits on the
performance of computers we be demonstrated.
July 3 - Pascal van Hentenryck
- Behind the Scene: the Inside of a Computer
- Computers and cars are sharing more and more commonalities:
more and more people are using them and most users have no real
clue on how they work.
- In this lecture, we open the hood and study the inside of a
modern computer. Contrary to what you may expect, the inside
of a computer has an inherent beauty which will try to make
you appreciate.
- Prerequisite: Knowledge of the numbers 0 and 1.
July 7 - Robert Duvall
- The Internet, Agents, Object-Oriented Programming, and Java:
a Buzzword-Complete Talk
- If you have been listening to the "buzz" of the computer world lately, you
have probably heard people talking about at least one of these topics.
But how do they relate and why do you care? This talk describes how the
Internet has created a fertile ground for exploring many interesting
computing problems, and how object-oriented programming in general and the
Java programming system specifically are taking advantage of the Internet
to make programming more accessible to the masses.
July 8 - Tom Dean
- I'll be talking about the problem faced by a robot in learning
about a new domain. We will consider a robot given the task of
delivering mail to offices in a large office building and focus on the
specific problem of learning a map of the building to make it easier
to deliver the mail. We'll consider both the theoretical and practical
side of learning and how the two sides interact. In particular, we'll
ask the question "How much do you already have to know in order to
learn something?" In exploring the issues raised by this question, we
will consider the possibility that there are limits to what can be
learned.
July 10 - Leslie Kaelbling
- Why Robot's Aren't As Smart As You Might Think They Are
- Everyone has seen images of robots in movies and on TV. These robots
may be helpful, silly, or destructive, but they are all smart. In
this lecture, I'll tell you about the sad state of affairs of real
robots (they're dumb) and we'll explore some of the difficulties that
have kept roboticists from making smarter robots.
July 14 - Jon Monsarrat (graduate)
- Stupid Stuff I Have Done
- (that you will want to avoid)
- Jon Monsarrat has had computer science experiences in academia,
industry, and starting his own computer games company. Along the way
he's made plenty of mistakes, and has some lessons learned to present.
Some of them involve philosophy: Why is it important to have goals?
Who cares? What does "success" mean? Why are people so hard to work
with? What's in an attitude?
- Other "stuff that wasn't written down when I tripped over it"
involves the practicalities of getting what you want out of life. How
to overcome impatience, dealing with sharks, earning respect, making
the most of your skills, figuring out long-term goals, keeping focus
on a long-term goal, and how not to go crazy in the process.
- The lecture will be fast-paced and practical. Jon guarantees you
will say "aha" at least once; you may even discover a new way of
looking at some of life's hardest problems. Jon is an alumnus of the
Brown CS department, and an award-winning teacher.
July 14 - Tom Doeppner
- Concurrency
- Computers, like people, often need to do many things at once.
Sometimes we juggle several chores at the same time, sometimes we get
other people to help us out. Can we set up a computer's chores so that
they too can be juggled by one computer or divvied up among a number
of computers? The answer is certainly yes, but it's not always easy.
How do I assign chores to computers? How do I make certain that they
all get finished? Doing some chores can often interfere with doing
others. How do I steer clear of such interference? In this lecture
we'll look at these issues and see how they're dealt with.
July 15 - Andy van Dam
July 16 - John Hughes

HOME