ICS 21 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 and 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 programs and faster than 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 ICS 21/CSE 21 WebSoc page.
ICS 21 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. This quarter, the Help Center gets to use two rooms during the afternoon and evening hours, an often particularly busy time (see Important Information, below, for details).
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. 3:30 - 4:45 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, 1:00 - 7:00 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 |
ICS 21 WileyPlus Web page | http://edugen.wileyplus.com/edugen/class/cls253067/ |
Finding a Pair Programming Partner message board | https://eee.uci.edu/toolbox/messageboard/m12062/ |
Name | Position | Grades Last Names | Hours in Help Center (ICS183) | |
---|---|---|---|---|
Stylianos Doudalis | TA | sdoudali@uci.edu | F - Z |
Mon 1:00 - 5:00, Wed 3:00 - 7:00 |
Matt Kayala | TA | mkayala@uci.edu | A - E |
Mon 5:00 - 7:00, Wed 1:00 - 3:00 |
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 lab room when a non-ICS 21 class is in session in that room.
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 Guidelines 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 make appointments for other times during the week, my schedule permitting.
You can most easily get course-related questions answered by coming to lecture and the Help Center and asking them! In-person assistance is by far faster and better than distance communications (such as sending emails back and forth).
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 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 Email Delivery Point and Forwarding Email Web page for details.
See the Course Schedule for the readings that correspond to each lecture.
Java Concepts, 6th 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 three forms: 1) as a paperback book, loose leaf or bound, and with or without an access code to the electronic version of the text, available from various bookstores and Websites, 2) as an electronic book from the publisher, Wiley Press, accessible via the Web, and 3) as an download file; you copy the text to your hard drive and read it using special software.
The Web-based version of the text has sections that the printed copy does not, in particular, a number of special topics, some of which we cover in this course. (And it has a number of additional chapters. The on-line text is actually a copy of the text Big Java, a book that has all that is in Java Concepts and then some. We do not cover the chapters that are in Big Java but not in Java Concepts.) I strongly urge you to obtain access to the electronic copy of the text (whether or not you obtain a hard-copy version) so that you can read the special topics.
The bookstore has a new print copies of the book, loose leaf, with the code, for $94.60, and used copies (which may not have a still-valid code) for $70.95, both plus tax. For comparison, Amazon.com is selling the text, bound, for $86.16 (with free shipping) and in electronic book (Kindle) form for $77.54 (or as a Kindle rental starting at $42.71). Wiley's main site is selling it for $125.95, plus tax and shipping; you can also rent it from Barnes & Noble for $37.26 for 90 days, or buy it outright for $85.30 (with free shipping).
A new book (loose leaf) is being offered by Wiley through a UCI-specific web site; from the page //www.wiley.com/WileyCDA/Section/id-406856.html you can purchase the book with an access code for $83.95 plus shipping (from $6.00 to $25.00, depending upon how fast you want the book) and tax.
A new printed text with an access code costs more than the on-line text alone, but you get both a printed book and access to the online version of the text. If you buy a used print copy of the book, from any source, it does not matter whether you buy a version with the online access code: the code, even if present, will likely be invalid.
To get access to the electronic version of the text, go to the Computer Science section of the WileyPlus Courses website and click on Horstmann / Big Java Fourth Edition AND Java Concepts Sixth Edition, WileyPLUS Registration Code. From the dropdown menu next to state; choose CALIFORNIA. Then, click the Search button next to the School Name box; a new School dropdown menu will appear; choose UNIVERSITY OF CALIFORNIA IRVINE and then click the Continue button. A Shopping Cart screen should appear, with the cart containing WileyPLUS eCommerce to accompany Big Java 4e & Java Concepts 6e, for (as of this writing) $55.00.
With your credit card ready, click on CHECKOUT NOW and complete the billing and shipping information. When you are done, you will be shown a registration code: copy it down; you'll need it to get access to the text.
Now, Go to the WileyPlus ICS 21 home page.
Click on the Create Account link.
After reading through the license agreement, click on I agree to these terms.
On the next page, enter your registration code; click Continue.
Provide the requested information to create your WileyPlus Student Account. Upon successfully completion, 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.
If you prefer to have a complete copy of the text on your hard drive, you can obtain said from vitalsource.com (or from Wiley directly, but it is the same text and process; Wiley uses VitalSource to deliver the text. So we just give instructions here for obtaining the text from vitalsource.com). The book itself is available for $75.50, from the Java Concepts page; add it to the shopping cart and then click on CHECK OUT (it is on the right, under Your Cart). Under Sign In, youll need to click on New user? Register here and complete the requested information and Save it. To complete purchase of the text, enter the School Name where indicated, click on Purchase, and follow the instructions that appear for paying for the text. To read the book, youll need to download a copy of Bookshelf, available at the Bookshelf download page. Be sure your computer meets Bookshelf&146;s system specifications; if it does not, Bookshelf may not run and you will not be able to read the downloaded text.
ICS 21 Lab Manual, Winter 2012 (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, Suns Java 7 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 on the lab assignments uising the pair programming approach discussed above. Pair programming almost always enables you to learn more about programming, and to complete the labs much more quickly, than working alone. 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. One good way to find a partner is to go to the Help Center and ask around; another is to post a note on the courses Finding a Pair Programming Partner message board on eee. If you prefer not to choose your own partner, or cannot find a partner, let a TA know; she or he will assist you in finding a partner. 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.
Details about pair programming and choosing a partner are in the Pair Programming section of the Lab Manual.
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 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; 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 scores will be posted on UCI's Electronic Educational Environment (eee) web site. (If you have not previously used eee to look up scores, its quite straightforward. 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, contact the staff member who grades your work; email often works best: Who grades your work, and that person's email address, is given in the Important information section, above.) Well look into the matter and fix any 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 determine your weighted point total for the midterm and final exams.
We add in your pair programming evaluation scores. For each of the two evaluations of your programming partner (see the Lab Manual for details), we add 0, 1 or 2 points to your total points. You earn 1 point for a cursory evaluation, 2 for an evaluation that is particularly thoughful or insightful, or 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 deduct any pair programming adjustments. You may lose up to 4 points from your total (up to 2 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. If there is not an adjustment, that is a good thingit means that we were notified, on time, of your partnerships, that you worked in a pair (or otherwise, with the needed permission) and we have no evidence that you were a bad partner. (In the posted scores on eee, the appearance of "--" means there was no adjustment.)
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.
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 scores on the course eee grade sheet as soon as is feasible; it typically takes a few days. Monitor these postings: if you do not see a score for a particular lab exam or evaluation you turned when scores for the class are posted, promptly contact the person who grades your worksee the Important Information section above; promptly contact the instructor if you do not see your score for the midterm or final. Well work with you to determine what has happened. Often, a missing score means you did not turn in your work, or email it to, the right place, or it was lableled improperly to the extent we could not figure out whose work it was. If we can find the item, well grade it; if we cannot, youll need to contact the instructor to determine what can be done.
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 Grade Calculation to access that information.
As ICS 21 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.