Instructor: David G. Kay,
5056 Donald Bren Hall (kay@uci.edu
). TAs: Xinning Gui (guix@uci.edu
) and Saloni Khasgiwala (skhasgiw@uci.edu
)
Quick links: Assignments Partner App Blown to Bits book Piazza Q&A (public) Email archive Resources
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
text form (files whose names end in .txt
, not .doc
or .html
). 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 11:00 a.m. to 12:20 p.m. in Humanities Hall 178.
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. UCI Replay recordings are good as a backup, but they're no substitute for regular in-person attendance.
Lab hours: The TAs will schedule optional office/lab hours as needed for each assignment; stay tuned to your Email for days and times. These will probably be held in the ICS Open Lab, ICS 364.
Office hours: You are welcome to drop by my office at any time. If I'm there and not immersed in something else, I'll be glad to chat about the course material or other topics. I will definitely be in or near my office Tuesdays from 1:30 to 2:00 and Thursdays from 10:00 to 10:30, during which course-related matters will have first priority. I may adjust these times at the end of the first week. Of course emergencies may come up, but I will try to give advance notice of any change. I'll also 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.
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 TAs, send us 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.uci.edu/18s/w3m3/36440
.
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. It also helps to give good answers on Piazza occasionally.
One midterm, given in class on Tuesday, May 8 (20%)
One final exam, on Tuesday, June 12, from 10:30 a.m. to 12:30 p.m. (35%)
Your TAs have primary responsibility for grading your work; go to them first for any questions about grading or scoring. If that does not resolve your question, then see the instructor. The TAs 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 "Spring 2017," 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 and one reason it provides General Education credit. 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 or your TA. 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. UCI and the School of ICS
take academic honesty very seriously; under current policy, every incident and the parties involved must be reported to the campus Office of Academic Integrity and Student Conduct. 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. | 3 April |
Introduction to the course, computers, and information |
5 April |
Introduction to Snap/Scratch | |
2. | 10 April |
Overview of the internet |
|
12 April |
Internet operation and implications |
3. | 17 April |
The processor (CPU): fundamental machine operations |
|
19 April |
The processor (continued) |
4. | 24 April | Software and programming |
26 April | Evolution of programming languages and tools |
|
5. | 1 May | Algorithms and efficiency |
3 May |
Representing information digitally | |
6. |
8 May | Midterm
|
10 May |
Midterm return and review | |
7. | 15 May | Information visualization (online) |
17 May | Secondary storage and peripheral devices; operating systems, networks, security
|
|
8. | 22 May
|
Redundancy and compression |
24 May |
Human-computer interaction | |
9. |
29 May |
|
31 May |
Legal and social issues (continued) |
|
10. |
5 June |
Future trends and developments |
7 June | Epilogue and review
|
|
Tuesday |
12 June |
Final Exam, Tuesday 12 June, 10:30 a.m. to 12:30 p.m. |