University of Virginia Computer Science
CS150: Computer Science, Fall 2005

Computer Science

from Ada and Euclid to Quantum Computing and the World Wide Web

Staffed Lab Hours (Small Hall)
Sundays, 4-7pm
Mondays, 3:30-5pm
Tuesdays, 4-5:30pm
Thursdays, 7-8:30pm
Fridays, 2-3:30pm

Office Hours (Olsson 236A)
Tuesdays, 3:30-4:30pm
Thursdays, 11am-noon

Selected PS3 fractal designs:

Rose Bush by Jacintha Henry and Rachel Kay

by Kris Caudle

Sunflower by Kei Sakaguchi

Dandelion of Defeat by Mary Elliott Neal
Classes | Problem Sets | Exams | Guides

CS150 will be offered again in Spring 2006 (taught by Professor Greg Humphreys), and thereafter as a Spring course. The Spring 2006 course meets Mondays, Wednesdays, and Fridays in Olssen 011.

CS150 Graduation, 5 December 2005


  • 20 December: Course Evaluations: SEAS, Section 1 [PDF]; SEAS, Section 2 [PDF]; Course Improvement Survey
  • 20 December: Final Comments
  • 6 December: PS8 Web Applications
    Dan Marcus, Kei Sakaguichi: Meet a Hoo
    David Lessard, Cortlandt Schoonover, Chelsea Van Manen: Assassins
    Jacintha Henry, Rachel Kay, Kathryn Kendall: HooRides
    Adam Fassnacht, Matt Fiorillo, Diana Lyu, Mike Mitchell: Bored in C'ville
    Frank Chung, Brian Hansen, Richard Hsu, Ryuichi Kurakake: HoosGotItYour University Trading Service
    Rujira Chaysiri, Pongpol Ruankong: Cavalier Daily News Discussion
    Kristina Caudle, Erik Loken Elliott Neal, Carolina Ramoa: Virginia Women's Chorus Forum
  • 5 December: Presentations
  • 2 December: Class 39: Notes
  • 1 December: CS150 Condensed
  • 30 November: Class 38: Slides [PPT, PDF]
  • 28 November: Here is the paper for Wednesday: Sergey Brin and Lawrence Page, The Anatomy of a Large Scale Hypertextual Web Search Engine [PDF]. Seventh International World Wide Web Conference, 1988.
  • 28 November: Class 37: Slides [PPT, PDF], Notes
  • 17 November: Exam 2 Comments
  • 16 November: Class 36: Slides [PPT, PDF]
  • 15 November: My office hours today are cancelled. If you want to meet with me (other than your already scheduled project meeting), please email me to arrange a time.
  • 14 November: Note that there are no regularly scheduled lab hours for the rest of the semester. Instead, your team should arrange to meet with your designated consultant as necessary.
  • 14 November: Class 35: Slides [PPT, PDF], Notes
  • 14 November: PS8 Teams
  • 11 November: Exam 2 (due Monday)
  • 11 November: Class 34: Slides [PPT, PDF]
  • 9 November: What I said today about the size of the largest number was off by a few dozen digits. It was reported yesterday that RSA-640 (a 193-digit number that is the product of two large primes) was successfully factored. See RSA-640 Factored for details. It was done using 80 PCs working for 4.5 months.
  • 9 November: Class 33: Slides [PPT, PDF], Notes
  • 9 November: Exam 2 Study Guide, PS6 Comments
  • 7 November: Class 32: Slides [PPT, PDF], Notes
  • 4 November: Class 31: Slides [PPT, PDF], Notes
  • 2 November: Class 30: Slides [PPT, PDF], Notes
  • 31 October: Class 29: Slides [PPT, PDF]; PS7
  • 28 October: Class 28: Slides [PPT, PDF], Notes; PS8
  • 26 October: Class 27: Slides [PPT, PDF], Notes; PS5 Comments
  • 24 October: Class 26: Slides [PPT, PDF], Notes
  • 21 October: Class 25: Slides [PPT, PDF], Notes
  • 19 October: Class 24: Slides [PPT, PDF], Notes
  • 18 October: I will not be able to hold my usual office hours today. Please contact me by email if you would like to arrange a meeting time. I will have my normal office hours Thursday at 11am.
  • 17 October: Class 23: Slides [PPT, PDF], Notes; Problem Set 6
  • 14 October: Class 22: Slides [PPT, PDF], Notes
  • 12 October: Class 21: There are no slides or notes for today. Here are some articles related to today's class by Paul Graham that you might find interesting: What You'll Wish You'd Known (High School), Undergraduation (College, the start of this focuses mostly on people who want to program computers, but the rest is more general)
  • 10 October: Class 20: Here are the slides I didn't use today: Slides [PPT, PDF] (some may be used in a future class)
  • 9 October: Exam 1 Comments
  • 7 October: Class 19: Slides [PPT, PDF], Notes
  • 5 October: Class 18: Slides and notes not available.
  • 30 September: Class 17: Slides [PPT, PDF]; Exam 1
  • 28 September: Class 16: Slides [PPT, PDF]; Optional reading: Pancakes, Puzzles, and Polynomials: Cracking the Cracker Barrel, by Christopher Frost, Michael Peck, and David Evans. ACM SIGACT News, March 2004. This is a paper by two UVa undergraduates (now grad students at UCLA and Johns Hopkins) who worked on showing a variation of the Cracker Barrel puzzle is NP-Complete.
  • 28 September: PS4 comments
  • 26 September: PS3 comments
  • 26 September: Class 15: Slides [PPT, PDF]
  • 26 September: My office hours Thursday will start at 11:30am (instead of the normal 11am) and end at 12:30pm
  • 23 September: Class 14: Slides [PPT, PDF], Notes
  • 21 September: Class 13: Slides [PPT, PDF], Notes
  • 19 September: Class 12: Slides [PPT, PDF], Notes
  • 16 September: Class 11: Slides [PPT, PDF], Notes
  • 14 September: Class 10: Slides [PPT, PDF], Notes
  • 12 September: Due to a talk by Hector Garcia-Molena (Tuesday, 3:30 pm in MEC 205), I will not have my regular Tuesday office hours tomorrow. Instead, I will have office hours this week: Tuesday, 12:30-1:30pm, Thursday, 11am-noon and Friday, 11am-noon.
  • 12 September: Class 9: Slides [PPT, PDF], Notes
  • 10 September: There are a few minor changes to the file, if you already downloaded it (before 1:45pm Saturday), please download it again:
    • The original code did not include the definition of horiz-line that is in the ps3 handout. It has been added to
    • Question 4b asks you do define a vertical-line procedure. Unfortunately, the name vertial-line is already used for a procedure that does something else. For Question 4b (now revised on the web version), you should name your procedure make-vertical-line instead.
  • 9 September: Class 8: Slides [PPT, PDF], Notes
  • 7 September: Class 7: Notes (no slides)
  • 5 September: Dave's office hours Tuesday will be from 3:00-4:00pm (instead of the usual 3:30-4:30pm).
  • 5 September: Class 6: Notes (no slides)
  • 2 September: Class 5: Slides [PPT, PDF], Notes
  • 31 August: Class 4: Slides [PPT, PDF], Notes
  • 29 August: Class 3: Slides [PPT, PDF], Notes
  • 26 August: Class 2: Slides [PPT, PDF], Notes
  • The first staffed lab hours will be tomorrow right after class. Students are encouraged to go over to lab with the ACs right after class tomorrow to get started on the lab part of PS1.
  • 25 August: Everyone in the class should have now received a message to the cs150-students mailing list. If you didn't receive it, let me know.
  • 24 August: Class 1: Slides [PPT, PDF], Notes
  • 24 August: These will be handed out the first day of class: Syllabus, Pledge, Problem Set 1, Lab Guide.
  • CS150 will be offered in Fall 2005. Class will meet Mondays, Wednesdays, and Fridays from 1:00-1:50 in Thorton E316. CS150 is open to all University students and does not require any previous computing experience. CS150 will be very similar to a course previously taught as CS200. For information on the course, see CS200 websites from previous semesters: Spring 2004, Spring 2003 [Course Evaluations], Spring 2002 [Course Evaluations].

Assignments Past Due

  • Thursday, 25 August, 5pm: Complete a Registration Survey
  • Wednesday, 31 August, 1pm: CS150 Pledge
  • Wednesday, 31 August, 1pm: Problem Set 1: Making Mosaics
  • Friday, 2 September: Read SICP, Section 1.2
  • Monday, 5 September: Read GEB, Little Harmonic Labyrinth and GEB, Chapter 5
  • Friday, 9 September: Problem Set 2: Procedurally Predicting Poker Probabilities
  • Before Friday's class: Read Neil DeGrasse Tyson, Science's Endless Golden Age.
  • Monday, 19 September: Problem Set 3
  • Monday, 26 September: Problem Set 4
  • Wednesday, 28 September (7pm): Assistant Coaches' exam review
  • Wednesday, October 5, 1:01pm: Exam 1 (out September 30)
  • Monday, 17 October: PS5
  • Before Friday, 21 October: Read rest of GEB part I (Chapters 2-4 and 6-9, in addition to Chapters 1 and 5 you have already read). See the study guide questions on Notes 18. I recommend reading a chapter every few days rather than trying to read it all just before October 21.
  • Monday, 31 October: Problem Set 6
  • Wednesday, 2 November (11:59pm): Last chance to send PS8 idea and team request early (to have possibility of negotiating on PS7)
  • Friday, 4 November (10:59am): Problem Set 8 team requests
  • Monday, 7 November (class): Problem Set 7
  • Tuesday, 8 November (11:59pm): Problem Set 8 project descriptions (note: extended one day from PS8 handout)
  • Monday, 14 November: Exam 2 (out Friday 11 November)
  • Friday, 9 December (4:59pm): Final Exam (turn in to Brenda Perkins)
  • CS 150: Computer Science
    University of Virginia
    Using these Materials