Computer Science 111:
Computers and Computing

Spring 1997

  • General Information
  • Labs
  • Problem Sets
  • Course newsgroup
  • Links


  • What's New?

  • General Information

    This course is intended for students from the humanities and social sciences who want a one-course introduction to computers, and have little or no computer experience. No mathematics or science background is assumed. The course is a broad introduction to computer science, including topics from hardware design, algorithms, data structures, and theory.

    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.

    Administration

    Where and when: the course meets Monday, Wednesday, and Friday, 11:00--11:50, in room 105, CS Building (the small auditorium). Labs meet Tuesday, Wednesday, and Thursday afternoons (see below).

    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.

    Reading

    We will use two books: Computer Science: An Overview, by Glenn Brookshear, and The New Turing Omnibus, by A. K. Dewdney.

    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.

    Class format

    This course will use a discussion, rather than lecture, format. Most class meetings will focus on a small number of topics from the assigned reading. Students will be expected to have carefully read, and to be prepared to discuss, the relevant assigned readings, which are specified in the Schedule below. Participation grades will reflect the quality of the student's analysis as well as the student's contribution to the process of discussion: making connections with other students' remarks, raising overlooked issues, asking good questions.

    Problem sets

    Ten problem sets, drawn mainly from the Brookshear text, will be assigned. They are intended to be straightforward and should take at most 2 hours to complete, not counting the reading. Problem sets are due by 5 PM sharp on Tuesdays, starting the second week of class. No credit will be given for late assignments, unless there are extraordinary circumstances and/or prior arrangements. Students may collaborate on problem sets, but must turn in separate solutions.

    Labs

    Ten hands-on computing laboratory exercises will be assigned, starting the first week of classes. Students may choose either the Apple Macintosh or the Intel PC with Windows 95. The labs are designed to be easily completable in two-and-a-half hours or less, during the scheduled lab sections, which are: PC lab, Tu-W-Th 1:30--4:20; Mac lab, Tuesday only 1:30--4:20. Assistants will be in the labs to help out. Most labs requires about one hour of preparatory reading.

    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.

    Guest lectures

    About every other Friday we will have guest lecturers, some from other university departments, who will speak about their own uses of computers.

    Examinations

    An open-book midterm examination will be given in class on Wednesday March 12. An open-book final examination will be given during the Spring-term exam period.

    Grading

    Course grades will be computed as follows:

    Schedule

    weeklabprob.
    set
    date TopicsReadings
    BrookshearTuring Omnibus
    11 -- 2/3 Introduction to the course----
    2/5Introduction to Algorithms Preface, Chapter 0Preface, Chapter 1
    2/7 Gates , Boolean logic Section 1.1Chapters 13, 20, 56
    22 1 2/10 Flip-flops, memoriesSections 1.2, 1.3Chapters 28, 38
    2/12Representations in bits Sections 1.4, 1.5Chapter 42
    2/14 Guest lecture: Prof. Ed Felten on the Internet and World-Wide Web
    33 2 2/17 Binary arithmeticSections 1.6, 1.7, Appendix B--
    2/19Error correction Section 1.8Chapters 12, 49
    2/21 CPU, machine instructions Section 2.1--
    44 3 2/24 Assembly-language programmingSections 2.2, 2.5, pp. 184-6, App. C--
    2/26Program execution Section 2.3Chapter 48
    2/28 Guest lecture: Prof. Tom Levin (Germanic Lang. & Lit.) on digital imaging and the citability of the cinematic image
    55 4 3/3 Other approaches, compressionSections 2.4, 2.6Chapter 52
    3/5Operating system basics Sections 3.1, 3.2Chapter 53
    3/7 Processes Sections 3.3, 3.4--
    6-- 5 3/10 Networks, virusesSections 3.5, 3.6Chapter 60
    3/12 Midterm Examination
    3/14 Guest lecture: Prof. Perry Cook
    Spring Break
    76 -- 3/24 AlgorithmsSections 4.1, 4.2, 4.3--
    3/26Iteration Section 4.4Chapter 9
    3/28 Guest lecture: Prof. Margaret Martonosi (Elec. Eng.), ``Silicon to Supercomputers: How Computer Hardware is Built''
    87 6 3/31 RecursionSection 4.5Chapters 24, 55
    4/2Efficiency and correctness Section 4.6Chapter 10
    4/4 Programming languages Sections 5.1, 5.2--
    98 7 4/7 Programming languages (cont.)Section 5.3, App. D--
    4/9Arrays Section 7.1Chapter 44
    4/11 Guest lecture: Prof. David Dobkin, ``What makes computer-generated animation hard to do?''
    109 8 4/14 Lists, stacks, queuesSections 7.2, 7.3, 7.4--
    4/16Trees, hash tables Section 7.5Chapters 11, 43
    4/18 Knowledge representation Sections 10.1, 10.2Chapter 19
    1110 9 4/21 ReasoningSections 10.3, 10.4, 10.5Chapter 6
    4/23Turing machines Sections 11.1, 11.2Chapter 31
    4/25 Guest lecture: Prof. Andrea LaPaugh, ``Can computers design computers?''
    12-- 10 4/28 Computable functionsSection 11.3Chapter 51
    4/30Noncomputable functions Section 11.4Chapters 39, 59
    5/2 Complexity Sections 11.5, 11.6Chapters 15, 41, 54
    FINAL EXAMINATION: Friday, May 16, at 1:30 PM in C.S. room 104

    D.W. Clark, 4/1/97