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: SEC-117
Semester: Fall 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
-
09/05/07:
Preface (Barcodes).
Marlon Brando returns,
my UPC demo,
Nicer UPC demo.
-
09/10/07: Preface (The Title); Chapter 1
(part 1 only) (Bits, Boolean Algebra).
On-off switch,
two switches in series,
switches in parallel.
-
09/12/07Chapter 1 (part 2 only)
(Circuits, Relays).
Nim 5
demo,
Domino/Lego Logic.
-
09/17/07
Chapter 2 (Logic Blocks, Truth Tables).
4 Million Dominoes.
-
09/19/07 Chapter 2 (More Logic Blocks, Binary).
number trick,
counting with our sound effects,
Octopus's Counting
-
09/24/07 Chapter 2 (Binary Arithmetic)
-
09/26/07 Chapter 2 (Binary Arithmetic, State Machines)
-
10/01/07 Chapter 3, part 1
(Scratch programming):
Guess Who
-
10/03/07 Chapter 3 (Scratch programming)
-
10/08/07 Chapter 3, part 2 (CPU, Evaluation Trees)
-
10/10/07 Chapter 3, part 3
(Subroutines):
Gilligan/Clementine,
Old McDonald,
Mystery Tour/Bottle/Recursive Song,
Lambchop's Song That Doesn't End.
-
10/15/07 Chapter 3 (Recursion), Chapter
4 (Philosophy):
Teddybearian Recursion, Paintcan video
-
10/17/07 Chapter 4 (Randomness)
-
10/22/07 Chapter 4 (Self-contradiction, Halting):
Answer Man video
-
10/24/07 Chapter 4 (Halting Problems):
A View of Information
- 10/29/07 Midterm Review: sample midterm
- 10/31/07 Midterm
-
11/05/07 Chapter 5 (Sock sorting, Algorithms,
Decision Problems on Lists)
-
11/07/07 Chapter 5 (Decision Problems on Lists, Growth Rates)
-
11/12/07 Chapter 5 (Growth, Exponentially, Analysis)
-
11/14/07 Chapter 5 (Graphs)
-
11/19/07 Chapter 5 (Reachability)
- 11/21/07 FRIDAY SCHEDULE, no class
-
11/26/07 Chapter 5 (Selection Sort, Quicksort)
-
11/28/07 Chapter 6 (Compression, Huffman Codes)
-
12/03/07 Chapter 6 (Huffman Codes), Chapter 7 (Parallelism)
-
12/05/07 Chapter 7 (Images), Chapter 8 (Learning, robots)
-
12/10/07 Chapter 8 (Reinforcement learning), Chapter 9 (Genetic algorithms)
-
12/12/07 (last class)
Review:
Sample final.
- 12/19/07 Wednesday noon-3pm (Final, in lecture hall)
Links
-
- Octopus's
Counting video on YouTube.
- The Answer Man video on YouTube.
- The
Sorter video on YouTube.
- How does Google find stuff?
- scarchel: A word that google didn't know on November 3rd, 2006.
- elgoogification: The act of flipping a search engine around.
(Unknown February 5th, 2007.)
- tookiplat: A phonetic spelling of "Tukey plot". (Unknown
September 24th, 2007.)
- googleseekeasy: Something easy to index. (Unknown November 3,
2007; known by November 28th)