ICS 21 / CSE 21: Introduction to Computer Science I
Summer 2012
Course Reference

Instructor information

Contacting me: I tend to be much easier to reach via email than by phone, so I would suggest using email to contact me under normal circumstances. When you write me an email, please take a few moments to make sure that the following information is placed somewhere in your message: your name, your student ID#, and which course you're enrolled in (important since I'm teaching more than one this quarter).

Teaching assistant

There is one teaching assistant for this course: Kyle Benson (kebenson AT uci DOT edu).

Times and places


The lecture meets on Tuesdays and Thursdays from 3:30-4:50pm in PSCB 140.

Labs (The ICS 21 Help Center)

There is a scheduled lab section, meeting on Tuesdays and Thursdays from 11:00am-12:50pm in ICS 183. We will refer to this as the ICS 21 Help Center. This is where you will do at least some of your work on the assignments, together with a partner, and is also where you will take lab exams; more on the labs below.

Office hours

Beginning on Thursday, June 28, I will be available on Tuesdays and Thursdays from 7:15-8:50pm in ICS 253 — not my office, as it's in a building that will be locked during at least part of that time — during which I'm available to chat with you about whatever's on your mind. (Note that this block of time may listed as a discussion in the UCI Schedule of Classes, but it is actually my office hours, so you do not have to feel obligated to enroll in the discussion in order to attend, and attendance is purely optional.)


The UCI Bookstore should have copies of this textbook available. If you prefer, there a few other ways to get a copy of it:

Lab sections

In order to be enrolled in ICS 21 or CSE 21, you must be enrolled in both the lecture and a lab section. Lab sections meet twice per week for two hours. Your attendance at lab sections is not an explicit requirement of the course (in the sense that we will not be recording attendance) — except on certain days when "lab exams" are held — but it is expected that successful students in this course will attend almost every time. The lab section offers real benefits:

Lab sections will begin meeting Thursday, June 28. Your TA will attend each lab section to help support you and your partner as you work.

Obtaining additional assistance

Asking questions of course staff

You can most easily get course questions answered by coming to the lecture, the ICS 21 Help Center, or office hours and asking them. I am happy to help you in person when I'm available. You can also ask questions by sending email to me or your TA (or both); we check our email frequently throughout the day, so you can usually get an answer to course-related questions within a few hours (and often much more quickly). If the questions require a complex or lengthy response, we may ask you to see one of us in person. As projects approach their due date, particularly on days when projects are due, we begin to receive quite a bit of email all at once, so we may not be able to respond to all messages before the project is due. We aren't ignoring you on purpose, but unfortunately it's not always possible for the relatively small course staff to answer questions from a large number of students at once.

Accommodations for disabilities

Any students who feel that they may need an accommodation based on the impact of a disability should contact me privately to discuss these specific needs. Also, contact the Disability Services Center online or by phone at (949) 824-7494 as soon as possible to better ensure that such accommodations, such as alternative test-taking environments or note-taking services, can be arranged for you in a timely way.


Weights of graded artifacts

Your course grade will be determined from the weighted combination of your scores on four lab assignments, four lab exams, one Midterm, and one Final Exam. The weights of each of these are:

Lab assignments

The lab assignments ask you to design, implement (in Java), and test computer programs. Perhaps surprisingly, they are neither submitted nor graded — but you are well advised to do them, because each one prepares you for a corresponding lab exam.

Programming assignments almost always take longer to complete than you think they will. (This is true not only of students, but also of professionals; programming is a difficult task to estimate.) Start each assignment no later than suggested, come to your lab sections, work diligently, ask questions, and plan for significant additional time outside of your lab sections to complete your assignments, and you will be ready to take the lab exams. Students who do not follow this advice typically have a much harder time passing the lab exams.

Lab exams

Lab exams are given in your lab section. Each one corresponds to one of your assignments, and each asks you to complete tasks similar to those you did in that assignment. In general, if you understand how to solve the assignment, you'll be able to pass the lab exam.

You must pass every lab exam to obtain a grade of C or better in the course. If you fail to pass a lab exam, you can take that test again (and again) until you pass it. If you need to retake an exam, you must do so during a scheduled retake section; these will be offered through the tenth week.

Even though you're permitted to retake lab exams, you are required to take each one when it is first offered for your section; you cannot take it later unless you have the instructor's specific approval.

Your TA has the responsibility of ensuring that your lab exam scores are accurate and correctly recorded. If you think your exam was scored incorrectly, please take the matter up with your TA. If your issue is not resolved, see the instructor.

Midterm and Final Exam

In addition to the lab exams, there are two on-paper exams. You are required to take these when scheduled and you are not permitted to retake them. More information about the format and content of these exams will be made available when they get closer.

Calculation of your course grade

Your final course grade will be determined using the following procedure:

Please note two particularly important consequences of the course grading algorithm:

Dropping the course or changing grade option

During Summer Session, you may drop the course or change grade option until the end of Week 8 (Friday, August 17), though refunds of course fees are not issued if you drop after the end of Week 4 (Friday, July 20).

I should point out here that I'm generally not able to be on campus on Fridays, so the last day that I'll be able to sign required forms for this course is Thursday, August 16 (or Thursday, July 19 to be eligible for any kind of refund).


As ICS 21 or CSE 21 students, you are expected to know and follow the academic honesty policies of both the Bren School of ICS and the University as a whole. Please take a few minutes to read the policies, which can be found at this link.

In addition to those rules, there are some specific rules regarding student-with-student cooperation in this course:

A violation of these rules will be considered acadenic dishonesty and dealt with accordingly.