Informatics 41 * Fall 2008 * David G. Kay & Rich Pattis * UC Irvine

Final Exam Details

As originally scheduled and announced on the syllabus, our final exam will be on Tuesday, December 9, from 10:30 a.m. to 12:30 p.m. in our regular classroom. It will cover the whole course (emphasizing topics from class, from the assignments, and from the quizzes, and not emphasizing other material from the textbook).

You may bring with you to the exam one page of notes (8 1/2 by 11 inches, both sides), on which you may place any information you think will help you on the exam. Computer-printed pages are fine. You may not bring any electronic devices aside from a conventional digital wristwatch.

One excellent way to review, as we've mentioned before, is to go back and retake the quizzes. They're all available on line, or will be shortly. You should also go back, read, and make sure you can do all the problems from the homework and lab assignments, especially the ones that don't come from the textbook. (You're not responsible for knowing how to do file handling in Scheme, as we said earlier.)

There is also a set of additional questions, including some longer ones of the sort that couldn't fit on a quiz but might show up on the final. There are also answers available in a separate document, but once more we urge you to work out the problems as fully as you can before you consult the answers.

We will have a review session on Monday, December 8, at a time and place to be arranged. The price of admission is (at least) one written question about the course material. The best strategy would be to go through all the materials suggested on this page before the review session, so you can bring any unresolved questions to the review session itself. We also recommend a good night's sleep before the exam.

Finally, below is a rough list of the topics we covered outside of the HtDP textbook [the list may change a little, since we have a few more class days]. Between 15% and 25% of the final will address these topics. The questions will tend towards larger concepts and away from small detail-level memorization. We will supply a copy of the Deus X instruction set with the final exam, as we did with one of the quizzes, so you don't have to devote any of your page of notes to that.

  1. Fundamental concepts
    1. Hardware, software, data, algorithm, program
    2. Source code (human-prepared, e.g., Scheme or HTML) vs. interpreted code (e.g., rendered web page) or object (executable, machine language) code
    3. The reasons that underlie the design choices we make.

  2. Forms of information
    1. Models, abstraction, and abstraction hierarchies (levels of abstraction)
      1. Hierarchical (tree) organization
    2. Representing information in computers
      1. Bits and bytes; ASCII; numbers as ASCII, binary numbers, BCD; size and scale (KB, MB, GB, ...)
      2. Digitizing pictures (and other real-world information)
        1. Sampling, quantization, color; resolution and bit depth
    3. Compression and redundancy
      1. Lossless vs. lossy; syntactic vs. semantic
      2. Delta encoding, run-length encoding

  3. The Internet
    1. Services: World-Wide Web, Email, file transfer/ftp, telnet (remote login), chat/IM
    2. Client machines, server machines, network backbone; what contributes to delays
    3. Decentralized design; packet switching vs. circuit switching
    4. The Web
      1. Web browsers, concept of HTML, URLs, domain names, WYSIWYG web editors
      2. Web index and search services

  4. Computer characteristics and organization (including the Deus X)
    1. Memory, registers, instruction format
    2. Sequential execution of instructions (fetch, decode, execute)
    3. Storage hierarchy (registers, RAM, secondary storage, e.g., disks); relative capacity vs. access time of various media; direct or random access storage (e.g., disks or CDs) vs. sequential access (e.g., tapes)
    4. Operating systems: managing computational resources
      1. process control (multitasking/timesharing), security/authentication (what you know/have/are), memory management (virtual memory)
      2. User interface: GUI vs. command-line
    5. Machine-level vs. high-level programming languages: Going from a problem description to an executable program, how much is done automatically? Procedural (how) vs. non-procedural (what).
    6. Human-computer interaction, user interfaces (ease of learning vs. ease of use)
    7. Pattern recognition and less-than-perfect matching

  5. Social and legal impact of computing
    1. Identifying stakeholders
    2. Changes in the skills and knowledge that are important
    3. Electronic voting: Why it's a hard problem and some possible resolutions

  6. Maxims
    1. People time is more expensive than computer time
    2. Electronic components are faster, cheaper, and more reliable than mechanical ones

David G. Kay, kay@uci.edu

Wednesday, November 23, 2005 -- 8:40 AM