Michael's office hours are by appointment, in Hill 409 or
Hill 427 (Lab).
EXCITING CS ELECTIVE: Learn about the science behind
computers!
Time: MW 3:20pm-4:40pm
Place: ARC 105
Semester: Spring 2007
Code: 01-198-105-01
AUDIENCE: Non-CS majors at all levels. (CS majors, curriculum
code 198, are not eligible for enrollment.)
DESCRIPTION: The course is designed to introduce non-majors to
the fundamental concepts of computer science. Students will be given
the background to appreciate the exciting and influential ideas that
have shaped this fast-moving discipline. Although it will provide a
broad context, the course will focus on specific examples of great
ideas and how they work. Students will learn about and solve example
problems drawn from major areas within computer science. Although
students will learn to read and understand short programs, the course
will not teach or require programming skills and cannot be taken for
credit for the CS major.
FORMAT: Lectures, hands-on demonstrations, written homeworks,
short online activities, written midterm and final.
PRE-REQs: None. (Mastery of high-school-level algebra will be
assumed.)
CREDITS: 3
Textbook:
Pattern on the Stone, the simple ideas that make computers
work. Basic Books, 1998.
Clicker:
iClicker. (Should be available at bookstore.)
Website support:
Sakai. (All course administration will be done there.)
Lecture notes
- 01/17/07: Preface (Barcodes)
- 01/22/07: Preface (The Title); Chapter 1 (Bits, Boolean Algebra)
- 01/24/07 Chapter 1 (Circuits, Relays)
- 01/29/07 Chapter 1 (Relays, Legos), Chapter 2 (Logic Blocks, Truth Tables)
- 01/31/07 Chapter 2 (More Logic Blocks, Binary)
- 02/05/07 Chapter 2 (Binary Number Trick)
- 02/07/07 Chapter 2 (Binary Arithmetic)
- 02/12/07 Chapter 2 (State Machines: Lights)
- 02/14/07 Chapter 3 (Hardware/Software)
- 02/19/07 Chapter 3 (Programs)
- 02/21/07 Chapter 3 (Hardware/Software)
- 02/26/07 Chapter 3 (Expression Trees/Compiling)
- 02/28/07 Chapter 3 (Subroutines)
- 03/05/07 Chapter 4 (Philosophy/Randomness)
- 03/07/07 Chapter 4 (Halting)
- 03/12/07 SPRING BREAK
- 03/14/07 SPRING BREAK
- 03/19/07 Review
- 03/21/07 Midterm
- 03/26/07 Chapter 5 (Python/Sock sorting)
- 03/28/07 Chapter 5 (Decision Problems, Growth Rates)
- 04/02/07 Chapter 5 (Growth Rates, Analysis)
- 04/04/07 Chapter 5 (NP Completeness, Graphs)
- 04/09/07 Chapter 5 (Selection Sort)
- 04/11/07 Chapter 5 (Quicksort), Chapter 6 (Compression)
- 04/16/07 (class canceled due to flooding)
- 04/18/07 Chapter 6 (Huffman Codes), Chapter 7 (Parallelism, Images)
- 04/23/07 Chapter 8 (Learning, robots)
- 04/25/07 Chapter 9 (Genetic algorithms)
- 04/30/07 Review
- 05/03/07 Thursday 8:30am-11am (Final, in classroom)
Links