![]() |
|
The laboratory is complementary to the classroom work, uses PCs and MACs (pick one), and is based on the Internet and the World Wide Web. Students will construct their own home pages in the first couple of weeks. They will then add to them throughout the semester, while exploring a broad spectrum of practical applications, including graphics and digital sound. The final three labs are a gentle introduction to programming in Java.
Instructor: Douglas Clark, 309 CS Building, 258-6314, doug@cs,
Graduate teaching assistants: Rege Colwell, rege@cs, and Chris Dunworth, ctd@cs, both in room 215 CS Building, 258-1794.
To reach any of us, either stop by our offices, or make an appointment by phone or by sending e-mail.
Brookshear's book is the course's basic text. We will read most of it, skipping chapters 6, 8, and 9. The book is an overview of the field of computer science, and does not focus on programming in any particular language. Success in the course will require a thorough understanding of the assigned sections of this book.
The Dewdney book is a collection of short, mostly self-contained chapters covering a large number of discrete topics in computer science. We will cover about one-third of the book. Some students will find that some assigned chapters require mathematical sophistication or background well beyond the level of this course. Success in the course will not depend on mastery of all the Turing Omnibus material; it is intended for student enrichment and supplementation of the basic text, and will sometimes provide material for class discussions.
The laboratory rooms are located in the Engineering Quadrangle: the PC lab is room E-203; the Mac lab is room D-229. Lab section assignments will be based on student preferences, and will be posted before the start of the first lab.
To receive credit, students must complete labs in the week they are assigned, unless there are extraordinary circumstances and/or prior arrangements.
week | lab | prob. set | date | Topics | Readings | |
---|---|---|---|---|---|---|
Brookshear | Turing Omnibus | |||||
1 | 1 | -- | 2/3 | Introduction to the course | -- | -- |
2/5 | Introduction to Algorithms | Preface, Chapter 0 | Preface, Chapter 1 | 2/7 | Gates , Boolean logic | Section 1.1 | Chapters 13, 20, 56 |
2 | 2 | 1 | 2/10 | Flip-flops, memories | Sections 1.2, 1.3 | Chapters 28, 38 |
2/12 | Representations in bits | Sections 1.4, 1.5 | Chapter 42 | 2/14 | Guest lecture: Prof. Ed Felten on the Internet and World-Wide Web | |
3 | 3 | 2 | 2/17 | Binary arithmetic | Sections 1.6, 1.7, Appendix B | -- |
2/19 | Error correction | Section 1.8 | Chapters 12, 49 | 2/21 | CPU, machine instructions | Section 2.1 | -- |
4 | 4 | 3 | 2/24 | Assembly-language programming | Sections 2.2, 2.5, pp. 184-6, App. C | -- |
2/26 | Program execution | Section 2.3 | Chapter 48 | 2/28 | Guest lecture: Prof. Tom Levin (Germanic Lang. & Lit.) on digital imaging and the citability of the cinematic image | |
5 | 5 | 4 | 3/3 | Other approaches, compression | Sections 2.4, 2.6 | Chapter 52 |
3/5 | Operating system basics | Sections 3.1, 3.2 | Chapter 53 | 3/7 | Processes | Sections 3.3, 3.4 | -- |
6 | -- | 5 | 3/10 | Networks, viruses | Sections 3.5, 3.6 | Chapter 60 |
3/12 | Midterm Examination | 3/14 | Guest lecture: Prof. Perry Cook | |||
Spring Break | ||||||
7 | 6 | -- | 3/24 | Algorithms | Sections 4.1, 4.2, 4.3 | -- |
3/26 | Iteration | Section 4.4 | Chapter 9 | 3/28 | Guest lecture: Prof. Margaret Martonosi (Elec. Eng.), ``Silicon to Supercomputers: How Computer Hardware is Built'' | |
8 | 7 | 6 | 3/31 | Recursion | Section 4.5 | Chapters 24, 55 |
4/2 | Efficiency and correctness | Section 4.6 | Chapter 10 | 4/4 | Programming languages | Sections 5.1, 5.2 | -- |
9 | 8 | 7 | 4/7 | Programming languages (cont.) | Section 5.3, App. D | -- |
4/9 | Arrays | Section 7.1 | Chapter 44 | 4/11 | Guest lecture: Prof. David Dobkin, ``What makes computer-generated animation hard to do?'' | |
10 | 9 | 8 | 4/14 | Lists, stacks, queues | Sections 7.2, 7.3, 7.4 | -- |
4/16 | Trees, hash tables | Section 7.5 | Chapters 11, 43 | 4/18 | Knowledge representation | Sections 10.1, 10.2 | Chapter 19 |
11 | 10 | 9 | 4/21 | Reasoning | Sections 10.3, 10.4, 10.5 | Chapter 6 |
4/23 | Turing machines | Sections 11.1, 11.2 | Chapter 31 | 4/25 | Guest lecture: Prof. Andrea LaPaugh, ``Can computers design computers?'' | |
12 | -- | 10 | 4/28 | Computable functions | Section 11.3 | Chapter 51 |
4/30 | Noncomputable functions | Section 11.4 | Chapters 39, 59 | 5/2 | Complexity | Sections 11.5, 11.6 | Chapters 15, 41, 54 |
FINAL EXAMINATION: Friday, May 16, at 1:30 PM in C.S. room 104 |