cs1120  Spring 2010

cs1120: Computer Science
from Ada and Euclid to Quantum Computing and the World Wide Web


Instructor
Westley Weimer

Teaching Assistants
David Noble
Kinga Dobolyi
Nick Wasilewski
Patrick Mutchler
Rachel Rater
Zak Fry
Email Address
cs1120-staff@cs.virginia.edu

Class Meetings
Mondays and Wednesdays, 3:30-4:45pm in MEC 341
Office & Lab Hours
Mon 12:30-13:30 Small Hall Lab
Mon 13:30-14:00 Olsson 219
Mon 14:00-15:00 Small Hall Lab
Mon 17:00-19:30 Thornton Stacks
Tue 11:00-12:30 Olsson 001
Wed 10:30-13:00 Thornton Stacks
Wed 13:30-14:00 Olsson 219
Thu 10:00-12:30 Thornton Stacks
Sun 13:00-14:30 Olsson 001
Sun 14:30-17:00 Olsson 001

Classes

Lecture slides will be available in PDF form for printing (6 slides per page).

Wed Jan 20 Class 1. Introduction & Formal Systems
Mon Jan 25 Due Before Class: Read Course Book Chapters 1, 2 and 3 (Computing, Languages, and Programming)
Class 2. Formal Languages, Scheme, Rules of Evaluation
Due: Complete the course registration survey.
Due: Read the Lab Guide and the text of Problem Set 1
Wed Jan 27 Signed Honor Pledge due at beginning of class.
Class 3. The Value of Everything & Procedure Practice
Mon Feb 01 Due Before Class: Read Course Book Chapters 4 & 5 (Procedures and Data)
Problem Set 1 (Photomosaics) due.
Class 4. Procedure Practice & Programming with Data
Wed Feb 03 Class 5. List Recursion Practice & Examples
Mon Feb 08 Problem Set 2 (Poker) due.
(Extension to Noon, Monday the 9th)

Start Problem Set 3 (Fractals) now — it's long.
Class 6. List Recursion Examples & Recursive Procedures
Wed Feb 10 Class 7. L-System Fractals & Procedure Practice
Mon Feb 15 Due Before Class: Read Course Book Chapter 6 (Machines)
Class 8. Costs & Sneezewort & Growth
Wed Feb 17 Due Before Class: Read Course Book Chapter 7 (Cost)
Problem Set 3 (Fractals) due.
Class 9. The Cost of Sorts & Asymptotic Growth
Mon Feb 22 Class 10. Sort Procedures & Quicker Sorting
Wed Feb 24 Problem Set 4 (Cryptography) due.
Due Before Class: Read Course Book Chapter 8 (Sorting)
Class 11. Quickest Sorting & Double Deltas
Mon Mar 01 Exam 1 out.
Class 12. Banburismus, Tree Sorting & Story So Far
Wed Mar 03 Due Before Class: Read Neil DeGrasse Tyson's Science's Endless Golden Age
Optional: Watch Neil DeGrasse Tyson explain the history of the universe on The Daily Show
Exam 1 due.
Due Before Class: Read Course Book Chapter 9 (Mutation)
Class 13. Programming With State & Golden Ages
Sat Mar 06.
Mon Mar 08.
Wed Mar 10.
Sun Mar 14.
No class: Spring Break.
(you might get an early start on the reading)
Mon Mar 15 Class 14. Sex, Religion & Politics
Wed Mar 17 Problem Set 5 (Economics) due.
Due Before Class: Read Course Book Chapter 10 (Objects)
Class 15. Python and Object-Oriented Programming
Mon Mar 22 Class 16. Inheritance & Godel
Wed Mar 24 Due Before Class: Read Course Book Chapter 11 (Interpreters)
Likely Date of Short In-Class Quiz #1
Class 17. Godel's Proof
Mon Mar 29 Due Before Class: Read Course Book Chapter 12 (Computability)
Due Before Class: Read Steve Lohr's New York Times obituary of John W. Backus
Problem Set 6 (Narrative) due.
Class 18. Uncomputability, Viruses, OOP
Wed Mar 31 Due Before Class: Re-Read Course Book Chapter 11 (Interpreters)
Class 19. Viruses & OOP & Python
Thu Apr 01 Barbara Liskov talk at 2pm in Chemistry Auditorium (CHM 402)
(3 points extra credit on Exam #2)
Mon Apr 05 Class 20. Implementing Interpreters & Charme
Wed Apr 07 Due Before Class: Re-Read Course Book Chapter 11.4 (Laziness)
Class 21. Lazy Evaluation & Types
Mon Apr 12 Problem Set 7 (Interpreter) due.
Guest Speakers: Ray Buse, Claire Le Goues, Ethan Fast, Briana Satchell, Kinga Dobolyi.
Wed Apr 14 Class 22. Static Type Checking & StaticCharme & The Internet
Fri Apr 16 Problem Set 9 (Final Project) Team Requests due.
Mon Apr 19 Problem Set 8 (Communities) due.
Class 23. Networking & Security
Wed Apr 21 Problem Set 9 (Final Project) Description due (Midnight).
Exam 2 out.
Class 24. Semi-Secure Websites & Modeling Computation
Problem Set 9 (Final Project) Design Review signup (hang around after class).
Mon Apr 26 Exam 2 due.
Class 25. Universal Machines & Lambda Calculus
Wed Apr 28 Class 26. Lambda Calculus
Mon May 03 Java Extra Credit due.
Problem Set 9 (Final Project) Presentation requests due.
Class 27. Glue & Photons & P = NP?
Tue May 04 Courses end.
Wed May 05 Problem Set 9 (Final Project) Presentation Materials due (Noon).
Problem Set 9 (Final Project) Presentations due.
(PS9 peer evaluations are due at the same time if you're doing a presentation)

Presentations Start at 5pm in MEC 341 (normal room; extra credit for attending)
Reading day.
Thu May 06
Wed May 12 Problem Set 9 (Final Project) Reports due (Noon: Email PDF).
(PS9 peer evaluations are due at the same time if you're doing a report)


cs1120: Computer Science
University of Virginia
weimer@virginia.edu
Using these Materials