ICS21 is the first of three courses that introduce you to fundamental concepts and principles of computer science; its primary objective is to teach you the basics of designing, implementing and testing computer programs. You will also learn a bit about object oriented design, a fair amount about object oriented programming, using Java as the language of practice. You also gain experience in working with a partner; working in a team is a common industry practice that, when properly done, produces better fasterthan when a person works alone.
This course is also known as CSE 21; thats its designation for the CSE major. For simplicity, well refer to this class as ICS 21, though it is indeed both ICS 21 and CSE 21. CSE 21 uses different course codes than ICS 21 (and there are two sets of course codes for CSE 21, one for CSE majors within the Samueli School of Engineering and another set for those CSE majors in the Bren School of ICS). You can find these codes at the ICS21/CSE21 WebSoc page.
ICS21 consists of a lecture, lab exams sections and the ICS 21 Help Center.
Lecture is where we impart course material and where you take the midterm and final exams. If you miss lecture, we suggest that you arrange with your classmates to borrow their notes: the instructor and TAs will not repeat lecture material you missed, though of course they will answer questions about it.
The ICS 21 Help Center is a computer lab, with TAs and tutors on duty, where you canand shouldwork on lab assignments and get help with them and other course material. TAs can answer questions on any aspect of the course, including Java programming, lecture material and grading issues. Tutors can (only) help you with your Java and programming questions.
When working on lab assignments, we have you use the pair programming approach. In pair programming, two programmers share one computer. One is the driver, who controls the keyboard and mouse. The other is the navigator, who observes, asks questions, suggests solutions, and thinks about slightly longer-term strategies. The two programmers switch roles about every 20 minutes. A pair of programmers, working as described here, nearly always beats the stereotypical solitary loner, producing more high-quality code in less than half the time (surprising, perhaps, but true). You will work with one partner for the first three labs, and another for the last two labs. Working in pairs should prepare you much more thoroughly for the lab exams than working alone. .
The assignments prepare you for the lab exams, five computer-based exams to test your knowledge of programming. You take these tests on lab exam days in the Help Center.
More about the lab assignments, lab exams, the Help Center and pair programming are discussed in the Lab Manual.
To be enrolled in ICS 21, you must be enrolled in lecture and one (and only one) of its lab sections; the (first hour) of your lab section is when you have a guaranteed seat to take your lab exams.
Procedures for dropping the class, changing your lab section, petitioning to add the class, changing your grade option and related matters are discussed in Enrollment Information.
Please keep this information at hand; it will likely be quite useful during the quarter!
| Jacobsons office | Donald Bren Hall (DBH) 4052 |
| Office hours | Tues. & Thur. 2:00 to 3:15 pm, except on school holidays, and by appointment |
| Jacobsons phone | 949-824-7300 |
| Jacobsons email address | jacobson@uci.edu |
| Jacobsons home page: | www.ics.uci.edu/~jacobson |
| ICS 21 Help Center Location and Hours | ICS183, Mondays and Wednesdays, 8 am to 10 pm, but closed on University holidays |
| Questions to course staff | 21-questions@ics.uci.edu |
| Engineering Copy Center | 203 Engineering Tower; Mon-Fri 8:00 to noon and 1 to 4 pm, closed University holidays |
| ICS21 WileyPlus Web page | edugen.wiley.com/edugen/class/cls46109/ |
| Name | Grades Last Names from | Hours in Help Center | |
|---|---|---|---|
| Natasha Flerova | nflerova@uci.edu | A - G |
M & W 11 am - 4 pm |
| Hao-Ju Ho | haojuh@uci.edu | H - O |
M 4 - 10 pm; W 8 - 11 am |
| Yi Yang | yyang8@uci.edu | P - Z | M 8 - 11 am; W 4 - 10 pm |
| Lin Shao | lshao1@uci.edu |
Guest Account
| Login: | ics-temp |
| Password: | Anteat3r |
Using our lab rooms (ICS183, ICS189, ICS192, ICS364): In addition to the ICS 21 Help Center, you may use ICS183, ICS189 or ICS192 if the room is open and there is no class meeting in it. You may not use a first-floor lab when a non-ICS 21 class is in session.
You may also use the computers in ICS364. This is a first-come, first-served open-to-all-students lab. The same computers and software that are available in the first-floor labs are available in ICS364.
A lab attendant watches over equipment and can help you with things such as answering questions about your computer account, reviving a dead computer or adding paper to a printer. An attendant cannot help you with your ICS 21 work.
The scheduled lab hours and open hours times for all lab rooms are posted on the ICS Lab hours web page, and often on the labs doors.
Lab Use Policies: In order to use our computer equipment and computer accounts, you must agree to abide by UCIs and ICS policies regarding them. The documents that describe these policies are kept on the Web; perhaps the best way to access them is from the ICS Instructional Lab Rules web page. Read this page, and follow its links to read the other pertinent ICS and UCI documents.
Printing: We do not require printouts in this class, so you only need a printout if you wish one for your own purposes. To use the printers in the ICS labs, see the Printing section of the Orientation to the Lab section of the ICS 21 Lab Manual. You are free, of course, to use any other printers to which you have legitimate access.
If you find a piece of lab equipment that is broken or otherwise needs attention, or you think someone is trying to steal or damage software or equipment, tell the lab attendant on duty.
Additional information about the lab rooms, their equipment and software is in the Orientation to the Lab section of the ICS 21 Lab Manual.
UCI provides all its students with basic computing, including electronic mail and Internet services, via a UCInetID computer account. You will also need an ICS Windows computer account to use the computers in the lab rooms. If you have not yet activated these accounts, follow the instructions in the Activate your UCInetID and ICS Windows Accounts section of the ICS 21 Lab Manual.
During my office hours, course-related matters will have first priority. Of course emergencies may come up, but Ill try to give advance notice of any changes to my hours. If Im not immersed in something else, Ill be glad to answer short questions whenever Im in my office, so feel free to drop by. Ill also gladly make appointments for other times during the week.
You can most easily get course-related questions answered by coming to lecture and the Help Center and asking them! The Help Center will also have an electronic chat line open, so you can use a computer to ask questions of Center staff. However, students physically present in the Center have priority in getting their questions addressed, so you may have to wait, sometimes quite a while if the Center is busy, for your request for a chat to be granted. How to use our chat program, called Pidgin, is discussed in the Orientation to the Lab section of the ICS 21 Lab Manual
You can also get help by sending email to 21-questions@ics.uci.edu. (If you do not know how to use UCI's email, see the Lab Manual for some pointers.) Course staff checks this email address regularly and will respond to your question within a few hours (somewhat less frequently on weekends and holidays).
If the response to your question, whether posed via Pidgin or email, would be complex or lengthy, we may provide a short response and ask you to meet with a staff member in person for a more in-depth discussion.
Any student who feels s/he may need an accommodation based on the impact of a disability should contact the instructor privately to discuss the specific needs. Also contact the Disability Services Center at (949) 824-7494 as soon as possible to better ensure that such accommodations are implemented in a timely fashion.
If you have a question or comment of a personal or private nature, please email your TA or the instructor directly, or see the appropriate party in person.
Throughout the quarter, we post important messages of general interest to the ICS 21 announcements Web page. Be sure to read it regularly.
We send urgent or particularly important announcements by email to your UCInetID account, so we require that you check your UCInetID email regularly, once daily during the week at least (and on weekends as well if feasible). If you prefer to read these messages from another account, you need to set your UCI account to forward your UCI email to your preferred account; see the Forwarding UCI E-mail Web page for details.
Java Concepts, 5th edition, by Cay Horstmann (required). This book discusses introductory programming and the basics of Java, the programming language we will be using to practice programming concepts. It is available in two forms: 1) as a paperback book, with or without an access code to the electronic version of the text, available in the bookstore and from various other bookstores and Websites, and 2) as an electronic book from WileyPlus.com. (You can also get it from VitalSource.Com, but it costs almost $20 more than obtaining it from WileyPlus, and you need to install special software to read it.)
As just noted, some versions of printed text have a code in them that will let you get a copy of the electronic version of the text; some do not; both are apparently available at the bookstore. If you do get a book from the bookstore, you only need one or the other of the versions, not both. If you buy a used copy of the book, it does matter which version you buy: the registration code, even if present, is not valid.
To get to the electronic version of the text:
If you do not have a registration code, follow these next three steps (otherwise, skip them):
Go to the the WileyPlus courses web page, computer science section. Then click on Horstmann / Big Java Third Edition AND Java Concepts Fifth Edition, WileyPLUS Registration Code; be sure to pick this link and not other, similar ones in the vicinity.
The next screen has a box to choose a State; choose California. There's another box, School Name; click on the Search button next to it. A new School box will appear with a pull-down menu; choose UNIVERSITY OF CALIFORNIA IRVINE and click on the nearby Continue button.
Now, Go to the WileyPlus ICS 21 home page.
Click on the Register link.
After reading through the license agreement, click on Accept.
On the next page, enter your email address.
You will next be asked to create your profile; enter (at least) the required information and click the Submit button.
You will next receive a confirmation message stating that your account has been successfully created and that an email has been sent to you. Click on the Continue button.
You will now be prompted to enter your registration code; enter it and click on submit. Upon successfully entering your registration code you will be brought to the ICS 21 home page
To read the text, click on the Read, Study & Practice link. Links to the text's chapters will appear. Follow them and subsequent links to read the book.
To read the text in the future, go back to the WileyPlus ICS 21 screen and enter your email address and password; youll be taken to the course home page.
You can print out pages of the book by using your browsers print command.
See the Course Schedule for the Horstmann readings that correspond to each lecture.
ICS21 Lab Manual, Fall 2009 (the Lab Manual) by Jacobson and other ICS faculty. This document contains lab policies and procedures, details about the lab assignments, pair programming, taking and scoring of lab exams, and instructions on evaluating your pair programming partner.
Additional materials are available to give you more information, extra practice, or a different perspective on ICS 21 topics. Some are available on line, some in the Reserve Room of the Science Library, available for two-hour loan. Be aware that copyright law and, in the case of software, license agreements apply to these materials.
We will use several software packages for lab exercises, including Eclipse for our Java environment, Sun's Java 6 Runtime Environment to run Java code, SecureCRT for you to access your UCInetID account, a web browser (e.g., Internet Explorer, Firefox) for Internet browsing. You may also find the tools within Microsoft Office useful. All these packages (and others) are available for your use on the machines in the ICS labs. If you want to obtain any of this software for use on your own machine, please ask the instructor for details. In brief, Office and SecureCRT must be licensed (for a fee), and Eclipse, Internet Explorer, Firefox and Suns Java are free.
You will also need a way to back up (make a copy) of your work. You can use a USB memory stick or portable external hard drive, available in several capacities from many sources, including the UCI Computer store. You can also use diskettes, though they are getting harder to find and not all of our computers accept them. And you can store files to the so-called H drive of your ICS account; details of using the H drive are in the Orientation to the Lab section of the ICS 21 Lab Manual.
Lab assignments: The Lab Manual contains them (0% of the course grade!)
The lab assignments have you design, implement (in Java) and test computer programs. Perhaps surprisingly, they are not gradedbut you are well advised to do them, as each prepares you for a corresponding lab exam.
You will work with one partner for the first three assignments, and a different partner for the last two. For each of these two pairings, we expect students to choose their partners. If you prefer not to choose your own partner, or cannot find a partner, let a TA know; she or he will find a partner for you. You or your partner must email the names of your team members to 21-questions@ics.uci.edu no later than the dates given in the Course Schedule.
.Programming assignments always take longer to complete than you think they will. (This phenomenon occurs among professional computer scientists, not just students of computing.) If you start each assignment no later than suggested, spend significant time in the Help Center completing assignments with your partnerworking diligently and asking questions while thereand spend time as needed outside the Help Center's hours with your partner thinking through and working on your assignments, 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: Five tests you take in the lab exam section to demonstrate programming competence (a minimum performance requirement)
You take each of the lab exams at the Help Center, on the days indicated in the Course Schedule.
Each lab exam is scored as not taken, not passing or passing.
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 and again and...) at a scheduled retake session, until you pass it, up through the last one offered, which will be during Finals Week. The place and times when retake sessions will be offered will be posted on the main ICS 21 web page by the time the first lab exam is given.
Much more detail about the lab exams and their grading is in the Lab Manual.
One midterm: (40 points, 40% of the base course grade)
One final exam: (60 points, 60% of the base course grade)
To help you study for the miderm and final, we have a sample exam for each on the course website; links to them are on the ICS 21 web page. TAs and the instructor will happily discuss the questions (and their answers) with you after you have come up with your own answers. Most, but perhaps not all, of the topics covered by the questions in a sample exam will appear in the respective actual exam.
You will need to bring to the midterm and final exams a Scantron answer sheet, Form No. 882-E or 2052 or equivalent (that is, a mark-sense form that is one-half of a regular sheet of paper cut lengthwise that has 50 questions on the front, with five possible responses for each question). Form 882-E is available at the UCI bookstore and the Engineering Copy Center, among other locales.
I keep your midterm and final exam answer sheets, so that you can review them for any errors you think may be present, for about a year after the course is over, and typically recycle them after that time.
During the quarter, your grades will be posted on UCI's Electronic Educational Environment (EEE) web site. (If you have not previously used EEE to look up your grades, its quite straight-forward. Just go to EEE, sign in to MyEEE, and follow the instructions for viewing course grades.)
If you think a lab exam was scored incorrectly, send mail to 21-questions@ics.uci.edu explaining the situation; well look into it and fix an error we find. If that does not resolve the issue, see the instructor. If you have a question about the grading of your midterm or final, contact the instructor directly.
Determining the final course grades requires several steps:
We first determine your weighted point total for the midterm and final exams.
Then we assign provisional course grades using the following scale, though the cutoffs may be, and often have been, lower: Grades in the A range (A, A, A+), 80% and above; grades in the B range, 70%79%; grades in the C range, 60%69%; grades in the D range, 50%59%; and F grades below that. A+ grades are reserved for the top scoring student or two, and are awarded only if those scores are significantly higher than the next highest scores.
This is not a curve. If it were, the cut points would be based on the distribution of scores in the class, rather than fixed cut points. Using an established point scale means that you are not graded in direct competition with your classmates.
For each of the two evaluations of your programmming partner (see the Lab Manual for details), we add 1 or 2 points to your total points. You earn 1 point for a cursory evaluation; you will earn 2 for an evaluation that is particularly thorough or insightful (and 0 points if you turn it in late or not at all). So you can earn from 0 to 4 additional points, which are added to your point total, thus perhaps raising your provisional course grade.
We may remove up to 4 points from your total (up to two points for each of the two pairs of which you are a part) if you did not fully participate in pair programming as described in course documents and the relevant documents they reference.
Then we determine how many exams you passed:
| If you passed this # of exams | Your course letter grade is the lower of the provisional letter grade and a grade of |
|
|
A+ |
|
|
C- |
|
|
D+ |
|
|
D |
|
|
D- |
|
|
F |
Please note two particularly important consequences of the course grading algorithm:
If you fail to pass just one lab exam, your grade in this course will be no higher than a C- and the more exams you do not pass, the lower your grade in the course.
You can pass all the lab exams and still not get at least a C in the course. Remember, your letter grade is primarily based on your midterm and final exam scores; if those are low, your grade will be low.
We will post lab exams scores to the eee grade sheet as soon after grading an exam as is feasible.
Final course grades, the scores used to compute them, a number of statistics about the class and and discussion of how grades were computed will be available on the course Web page soon after the course is over. Follow the links to Course Grades and A Note on Course Grades to access that information.
As ICS21 students, you are expected to know and follow UCI and Bren School academic honesty policies; do read them. The ICS policy can be found (among other places) on the ICS undergraduate web site; the UCI policy is on the UCI Academic Senate site.
In addition to those rules, there are some specific rules regarding student-with-student cooperation in this class:
You may cooperate on the assignments to any degree you wish, including, of course, asking questions of your partner and course staff.
While taking exams, you must do your own work. Among other things, this means you cannot memorize someone else's code particularly mine or a TA'sand just repeat it on the exam. The tests are closed book (and closed neighbor!), except that for the midterm and final you can use a dictionary and a non-programmable calculator. Lab and retake exams must be taken at the times and in the rooms in which they are scheduled. A violation of these rules will be considered cheating, and dealt with accordingly.
Read the mian course web page, the Course Reference, the Course Schedule, and Enrollment web pages, and the Web documents ithey reference.
Obtain a memory stick or diskettes, or access other means (e.g., your H drive) to back up your work.
Get a print copy of the textbook, or sign up for the on-line version.
Get a print card (if you plan to use lab printers).
Activate your UCInetID.
Activate your ICS account.
Find a pair programming partner.
As needed, learn about email, our lab set-up, Eclipse, and the other topicss described in the Orientation to the Lab section of the Lab Manual.
Read in the Lab Manual about Lab 1 and begin working on it; begin preparing for Lab Exam #1, including by reading in the Lab Manual about how to form a pair programming team and about how lab exams are conducted.
Go to the Help Center; its a great place to work with your partner, and where you can ask TAs and lab tutors about the assignments while you are working on them.
Take lab exams on the the days they are scheduled.
Keep up with the reading; youll need the information it provides to do your assignments and exams, and the quarter system goes so fast that a few missed pages can quickly become a few chapters if you're not careful. But dont try to memorize everything the first time you read it through. A good strategy is to read for the broad ideas before lecture, listen to lecture carefully, and then refer back to the text for reference as needed.
Start working with your partner on the lab assignments early on; computer work always takes longer to complete than you think it will, even if you have previous experience. You want to know each lab assignments material cold before you take the lab exam that corresponds to it.
Acknowledgement. Thanks to Prof. David G. Kay for permission to adapt text from his Fall 2006 Informatics 41 Pair Programming Guidelines.