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.
-
Fundamental concepts
-
Hardware, software, data, algorithm, program
-
Source code (human-prepared, e.g., Scheme or
HTML) vs. interpreted code (e.g., rendered web page) or object (executable,
machine language) code
-
The reasons that underlie the design choices
we make.
-
Forms of information
-
Models, abstraction, and abstraction hierarchies
(levels of abstraction)
-
Hierarchical (tree) organization
-
Representing information in computers
-
Bits and bytes; ASCII; numbers as ASCII, binary
numbers, BCD; size and scale (KB, MB, GB, ...)
-
Digitizing pictures (and other real-world information)
-
Sampling, quantization, color; resolution and
bit depth
-
Compression and redundancy
-
Lossless vs. lossy; syntactic vs. semantic
-
Delta encoding, run-length encoding
-
The Internet
-
Services: World-Wide Web, Email, file transfer/ftp,
telnet (remote login), chat/IM
-
Client machines, server machines, network backbone;
what contributes to delays
-
Decentralized design; packet switching vs.
circuit switching
-
The Web
-
Web browsers, concept of HTML, URLs, domain
names, WYSIWYG web editors
-
Web index and search services
-
Computer characteristics and organization (including
the Deus X)
-
Memory, registers, instruction format
-
Sequential execution of instructions (fetch,
decode, execute)
-
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)
-
Operating systems: managing computational
resources
-
process control (multitasking/timesharing),
security/authentication (what you know/have/are), memory management (virtual
memory)
-
User interface: GUI vs. command-line
-
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).
-
Human-computer interaction, user interfaces
(ease of learning vs. ease of use)
-
Pattern recognition and less-than-perfect matching
-
Social and legal impact of computing
- Identifying stakeholders
- Changes in the skills and knowledge that are
important
- Electronic voting: Why it's a hard problem and some possible resolutions
-
Maxims
-
People time is more expensive than computer
time
-
Electronic components are faster, cheaper,
and more reliable than mechanical ones
David G. Kay, kay@uci.edu
Wednesday, November 23, 2005 -- 8:40 AM