University of Virginia, Department of Computer Science
CS200: Computer Science, Spring 2003

Registration Survey Summary Responses

1-3. Names:
Arielle, Andrea, Andrew, Anoop, Boyd, Dan, Dave, Ed, Grace, Hassan (Has-Sun), Justin, Jimmy, Jeff, Jessica, (N.), Jessica (R.), Krystal, Katrina, Lauren, Lindy, Mai ("My"), Katie, Matt, Meg, Nolan, Owen, Patrick (L.), Patrick (R.), Qi ("Chi"), Ramsey ("Ram-zee"), Robert ("Bobby"), Steven/Alexander, Salvatore ("Sam"), Sam, Sarah (B.), Sarah (P.), Sean, Tim, Victoria, Will, Zach.

4. Major and year:

1st years: 15
2nd years: 17
3rd years: 3
4th years: 3
Staff: 1
Professors: 2

Cognitive Science: 11
Undecided: 8
Pre-Commerce: 3
Cognitive Science (prospective): 3
Computer Science: 2
Economics: 2
Physics: 2
Electrical Engineering: 2
Biology: 1
Computer Engineering: 1
French: 1
Neuroscience (prospective): 1
Math: 1
Mechanical Engineering: 1
Music: 1
Pre-Law: 1
Russian Studies: 1
Systems Engineering: 1

5. How did you find out about this class?
Course Offering Directory: 9
From a friend: 8
Cognitive Science department and web site: 7
Emailing lists: 5
Faculty (advisor, other teachers): 4
Web: 3
From Dave directly: 2
6. Why are you taking this class? 7. Have you ever written a computer program?
Yes: 20
No: 15
What programming languages have you used and how much?
C++: 14 (3 years: 3, 2 years: 2, took CS101: 4, took CS201: 2)
BASIC: 9 (took CS120: 3)
Pascal: 6
Java: 3
Others: Karel the Robot, JavaScript, C, Logowriter, PERL
Would you prefer to work on assignments alone, with assigned partners, or with partners who you choose?
Prefer to work with choosen partners: 17
Prefer to work with assigned partners: 14
Prefer to work alone: 12

We will have assignments with each of these collaboration policies.

Would you prefer to have take-home or in-class exams? (All tests will be open book and notes.)
Prefer take home exams: 21
Prefer in class exams: 13

I prefer take-home exams so you can think in a relaxed way without time pressure. As long as I am confident I can trust all students to follow the course pledge, all the exams will be take home.

Who is your intellectual hero and why?
If I have to pick just one, it would be Richard Feynman. Feynman was best known as a physicist, but he was also an accomplished computer scientist, musician, adventurer and a tremendous teacher. Feynman actually taught a course quite similar to this one in the early 80s --- his son, Carl, was a student at MIT and took the intro CS course from Gerry Sussman (based on the notes that turned into the textbook we use in this class). Then, Prof. Sussman went visited CalTech and Feynman and Sussman co-taught a CS course based on those notes.

I encourage everyone to read, "Surely You're Joking, Mr. Feynman!": Adventures of a Curious Character and What Do You Care What Other People Think?: Further Adventures of a Curious Character. After this course is over, you may also want to read Feynman Lectures on Computation.

Those of you who are still looking for an intellectual hero will encounter some good candidates in this class including: Euclid, Ada, Grace Hopper, David Letterman, John Backus, Thomas Watson, Filus Bonacci, John Lennon, Paul McCartney, Guy Steele, Gerry Sussman, John McCarthy, Alonzo Church; Tony Hoare; Neil DeGrasse Tyson, Thomas Jefferson, Tommy Flowers; Alan Kay, Kristen Nygaard, Ole-Johan Dahl, Steve Jobs; Aristotle, Netwon, Whitehead, Russell, Epimenides, Gödel; Alan Turing; Von Neumann; Heisenberg; Barbara Liskov; Homer, Marco Polo, Claude Chappe, Edelcrantz, Kleinrock, J.C. R. Licklider, Bob Taylor, Vannevar Bush, Tim Berners-Lee and Leonard Adelman.

Anything else you think I should know about you? Anything you want to know about me or the course?
The questions and my answers are below.

I would like to know if programming swarms is like studying AI.

It depends on how you define AI. I prefer the more traditional cognitive-science definition that AI is about trying to understand intelligence by building artificial "thinking machines", and the work I'm doing on swarm computing isn't directly about that, but more about understanding how to build predictable systems from lots of unpredictable parts by trying to understand how nature does it so well.
Does this serve as a replacement for CS 101?
It doesn't count as CS101 for graduation requirements, and doesn't satisfy the 101 prereq for cs201. It does satsify the prereq for CS201J (which counts just like CS201), but I can't guarantee at this time if CS201J will be offered in the Fall.
I was surprised to see that we will be making lots of money by the end of the course (as indicated by 3 dollar signs on wednesday's slides.) With that in mind, how much money will I make from this endeavour, and how much will I have to give to the government?
You won't necessarily be making lots of money by the end of the course, but you will know enough to be able to if you want. The PS8 projects will be as computationally involved as ebay, which is worth about $22B these days. Of course, making your project worth that much will depend on having a good business idea and finding good marketing/management/finance/etc. types, but you'll know all the CS you need to do it. (As for how much you give to the government, that's between you and your accountant.)
Where are you from? How did you get interested in Computer Science?
I'm from Michigan, suburban Detroit. I liked playing with computers (mostly programming simple video games) when I was young, but got interested in Computer Science after my Mom gave me a copy of Gödel, Escher, Bach to read when I was in middle school.
I am worried about the people without computer background have a chance of making a good grade?
Don't be worried about the grading --- the very best student from last year's course had no computer background at all before she took the course, and everyone who put effort into the course ended up with a good grade (and no one got worse than a B+, although of course I can't guarantee that will be true this year). You should be more concerned with what you learn in your classes than with the grades you get anyway.
What motivated you to teach this course? What subject in the course interests you most?
When I was a first year undergraduate, I took 6.001 from Gerry Sussman, which is what the SICP book is based on. That course inspired me to want to be a computer scientist. Since coming to UVa, I've believe the most important thing I can do is make most students learn some real computer science. You can read more details about my motivations in my fellowship proposal (which I wrote to get to start this class last year):

To answer the second question, everything in the course interests me (otherwise it wouldn't be in the course, of course!) but I'd say what I'm most interested in are the biological models of computation that we'll talk about the next to last class (probably). That's one of the things my research group works on (see

What, if any, languages are we going to be using?
All the lectures will be in English, with maybe a smattering of French and Korean, but that's probably not what you meant. For PS 1-7 you will be writing code using Scheme; for PS8 you will learn a few new languages (PHP, SQL, HTML).
Is this the right course to take if I'm interested in programming?

CS 200

CS 200: Computer Science
Department of Computer Science
University of Virginia
Using these Materials