Summer 2013 — Informatics DepartmentBren School of ICSUC Irvine
ICS 10 Course Reference

How Computers Work

Instructor: David G. Kay, 5056 Donald Bren Hall (kay@uci.edu). TA: Caitlin Lustig (clustig@uci.edu). Course-related e-mail is best sent to ics10@uci.edu.

Quick links: Assignments Blown to Bits book Piazza Q&A (public) Email archive References

Course goals and learning outcomes: These days, everybody has to make decisions about computer systems and information technology. What computer or cellphone should you (or your company) buy? Whom should you hire to design your web site or to set up a network for your business? What precautions should you take before doing online banking from your cellphone or posting pictures on Facebook? How do you decide which way to vote on ballot propositions that relate to the internet?

Because technology changes rapidly, the best answers to these questions won't be the same next year as they are today. Your best strategy for making good decisions over the longer term is to know not just the current details but the underlying concepts of computing; they'll have a longer "shelf life." This course looks "under the hood" at modern computing systems, not because most students will become computer professionals and have careers working under the hood, but because gaining some concrete knowledge about how computers work is the best way to learn those underlying, long-shelf-life concepts.

Prerequisite courses and concepts: This course was designed for majors outside of the School of Information and Computer Sciences; it has no academic prerequisites. We do expect you to have these basic computing skills: Searching and browsing the Web, reading and sending Email, downloading files, viewing and printing PDF (Adobe Acrobat) documents, creating simple documents in a conventional word processor (like Word or Pages or NeoOffice or Google Docs), and creating or saving documents for Email and other purposes in plain ASCII text form (not HTML or Word attachments). If you need to brush up on any of these, let us know and we'll help.

Meeting place and times: Lecture meets Tuesdays and Thursdays from 9:00 to 11:50 a.m. in Social Science Tower (SST) 120.

The computer screen and audio of each class will be recorded and available through UCI Replay; after each class, you will receive electronic mail with the link for access. The UCI Replay process is not 100% reliable; some classes may end up not being recorded and classes where we use the whiteboard or overhead projector will not have those visuals captured at all. Practically, this means you should plan to attend class in person and not count on recordings being available.

Office hours: If you'd like to chat about anything individually, let's touch base after class on Tuesday or Thursday. If that's not a good time to have the conversation, I'll be happy to make arrangements for other times during the week; "making an appointment" is no big deal (but if you make one, don't skip it without getting in touch). The quickest and most effective way to reach me is by electronic mail; the quickest way to get most course-related questions answered is on piazza.com. The TA will schedule office/lab hours as needed.

Questions and announcements: We'll use piazza.com for public course-related questions. If you have an individual issue you'd like to raise with the instructor and TA, send electronic mail to the address ics10@uci.edu. We will never intentionally ignore a message, so if you don't receive a response, write again; sometimes overactive spam filters snag a legitimate message. Using course-specific subject lines and your UCInet Email address will help your messages get noticed.

We will also send course announcements by Email to the official course mailing list, so you should check your Email regularly. Note that this mailing list goes to the Email address that the registrar has for you (your UCInet ID). If you prefer to read your Email on another account, you should set your UCInet account to forward your Email to your preferred account (see how in the Advice section below). Don't let this slide; if you miss official announcements, your grade could suffer.

This course has a home page at http://www.ics.uci.edu/~kay/courses/10/; there's an archive of official course Email at http://eee.uciedu/13y/w3m3/36540.

Readings and course materials: There is no single textbook that covers all the course material. We may assign readings from a variety of sources, nearly all of them available on line. One source of readings may be Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion, by Hal Abelson, Ken Ledeen, and Harry Lewis; the full text is available for free on line at www.bitsbook.com.

Course structure:
Assignments (35% of the course grade), some with pencil and paper and some on the computer in the lab. Typically the next assignment will show up on the assignments page right around the time the previous one is due; it will be up to you to find and read them.
Class participation (10%). This mostly involves showing up to class and participating actively in partnered assignments. Note that missing one class is like missing a whole week of a regular quarter. It also helps to give good answers on Piazza occasionally.
One midterm, given in class on Tuesday, July 16 (20%)
One final exam, on Thursday, August 1, from 9:00 to 11:00 a.m. (35%)

Your TA has primary responsibility for grading your work; go to him or her first for any questions about grading or scoring. If that does not resolve your question, then see the instructor. The TA and instructor will be happy to correct any errors that do occur, but we must ask that you bring us your grading questions with a week after the item is returned; the course moves quickly and we imply can't deal with assignments long past.

We determine final grades neither on a formal curve (with equal numbers of As and Fs, Bs and Ds, and so on) nor on a straight, fixed scale. Grades below C are rare in this course; they result mostly from not completing assignments or otherwise not being engaged with the course. We recommend that you focus not on letter grades but on learning what's necessary to earn high scores; the grades will follow from that.

We're required to say that in unusual circumstances, these criteria could change, but we do not expect that to happen.

Special needs: Any student who feels he or she may need an accommodation due to a disability should contact the UCI Disability Services Center at (949) 824-7494 as soon as possible to explore the possible range of accommodations. We encourage all students having difficulty, whether or not due to a disability, to consult privately with the instructor at any time.

What you must do right now to get started in ICS 10:
— If you do not have a UCInet ID, get one. See http://activate.uci.edu/.
— If you prefer to read your electronic mail on an account other than your UCInet account (which is a good idea, since if your UCInet account's mailbox fills up, you stop receiving mail), redirect your mail at http://www.oit.uci.edu/email/deliverypoint.html
— Complete the ICS 10 Questionnaire at eee.uci.edu (by the end of the first week).
— Sign yourself up for ICS 10 on Piazza.com; that's where course-related questions will mostly be answered.
— Go to checkmate.ics.uci.edu, log in with your UCInet ID, choose "Course Listing" and "Summer 1 2013," click "Go" next to ICS 10, and then click "List me for this course." You'll submit most of your work electronically; this step is necessary to set that up.

Good advice and helpful hints:

Check your electronic mail regularly; this is an official channel for course announcements. When sending course-related mail, start the subject line with "ICS 10" or "How Computers Work".

Attendance in class is essential; concepts and issues will come up in class that aren't easily available from other sources, and those concepts will find their way into the assignments and exams. Also, class participation in various forms will count towards the course grade.

Read each assignment with care, more than once. Reading technical specifications requires different skills than reading non-technical material; acquiring those skills is one goal of this class. Expect to refer back to the assignment often, and check it first when you have questions about what's required or how to proceed.

Don't expect to complete every assignment in one sitting, especially not the night before it's due. If you start early,you'll have plenty of time to ask questions.

Always keep your own copy of each assignment, both electronically and on paper; if an assignment should get lost in the shuffle (or if the Checkmate machine should crash), we'll expect you to be able to supply a replacement easily.

If you find yourself having trouble or getting behind, speak with the instructor. But never take the shortcut of copying someone else's work and turning it in; the consequences can be far worse than just a low score on one assignment. The School of ICS takes academic honesty very seriously; for a more complete discussion, see the ICS academic honesty policy: http://www.ics.uci.edu/ugrad/policies/index.php.

Approximate course outline:

Week Date Topic
1. 25 June
Introduction to the course, computers, and information

Introduction to Snap/BYOB/Scratch
 
27 June
Overview of the internet



Internet operation and implications
2.
2 July
The processor (CPU): fundamental machine operations



The processor (continued)
 
4 July
— Holiday —

3.

9 July
Software and programming
 
Evolution of programming languages and tools
11 July
Algorithms and efficiency
 
Representing information digitally
4.
16 July
Midterm

Redundancy and compression
18 July
Secondary storage and peripheral devices
 
Operating systems, networks, security
5.
23 July
Human-computer interaction
Information visualization
25 July
Legal and social issues
6.
30 July
Future trends and developments
   
Epilogue and review
1 August
Final Exam, Thursday 1 August, 9:00–11:00 a.m.