cs150  Spring 2009

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


Instructor
Westley Weimer

Teaching Assistants
Zak Fry
Paul DiOrio
Rachel Lathbury

Email Address
cs150-staff@cs.virginia.edu

Class Meetings
Mondays and Wednesdays, 3:30-4:45pm in MEC 341
Structured Lab Hours
Wednesdays, 7:00-8:00pm and 8:00-9:00pm in OLS 001
Staffed Lab Hours
(Small Hall Lab)

Monday 5:00-6:00 (Zak)
Tuesday 3:15-4:15 (Rachel)
Thursday 5:00-6:00 (Paul)
Sunday 3:00-4:00 (on request)
Office & Lab Hours
(Small Hall Lab)

Monday 2:00-3:00 (Rachel)
Tuesday 11:00-12:00 (Wes in Olsson 219)
Tuesday 3:00-4:00 (Zak)
Wednesday 1:00-2:00 (Paul)

Required Course Book (1 of 2)

Computational Thinking

A Whirlwind Introduction to the Third Millennial Liberal Art
from Ada and Euclid to Quantum Computing and the World Wide Web

David Evans
University of Virginia

This book is referred to as the course book. The author of the course book is a UVa professor. He has made the course book available freely on-line for use in UVA CS 150.

Contents

Part I: Defining Procedures

Chapter 1: Introduction [PDF]

Chapter 2: Language [PDF]

Chapter 3: Programming [PDF]

Chapter 4: Problems & Procedures [PDF]

Chapter 5: Data [PDF] [Scheme Code]

Part II: Analyzing Procedures

Chapter 6: Machine [PDF]

Chapter 7: Cost [PDF]

Chapter 8: Time [PDF]

Chapter 9: Sorting and Sequencing [PDF] [Scheme Code]

Part III: Improving Expressiveness

Chapter 10: State [PDF]

Chapter 11: Objects [PDF]

Chapter 12: Interpreters [PDF] [Python Code]

Chapter 13: Laziness [PDF] [Python Code]

Chapter 14: Types [PDF] [Python Code]

Chapter 15: World Wide Web

Part IV: The Limits of Computing

Chapter 16: Computability [PDF]

Chapter 17: Intractability

Chapter 18: Alternative Computing Models

Book Comments

Because the book is relatively new, we are always on the lookout for feedback that will improve it. Particularly useful feedback including noticing any technical mistakes, improving the writing, and suggesting a less pretentious title will be rewarded with bonus stars.


Required Course Book (2 of 2)

Gödel, Escher, Bach

an Eternal Golden Braid

Douglas R. Hofstadter
Indiana University

The book is referred to as GEB. It can be obtained from many bookstores (e.g., Amazon $15.61, the UVa Bookstore, etc.).


Optional Course Book (1 of 1)

Structure and Interpretation of Computer Programs

Harold Abelson
Gerald Jay Sussman
with Julie Sussman

The book is referred to as SICP or the Wizard Book. It is available free on-line from MIT Press. It can also be purchased (e.g., from Amazon).
cs150: Computer Science
University of Virginia
weimer@virginia.edu
Using these Materials