This ICS80, called ICS80J to distinguish it from other ICS80 courses, provides an introduction to Java for those who are proficient in basic C++. The course will discuss fundamental object-oriented concepts as well as Java-specific methodologies; students apply the concepts and methods by writing Java programs.
ICS80 has a scheduled lecture makes use, on a drop in basis, of the ICS computer labs (the labs).
Lecture is where we impart course material and where you take the midterm and final exams.
Lab is where you can work on lab assignments. The TA is also available in the lab at times posted on the ICS80J mian web page to answer questions about course material and to assist you with your assignments.
Your attendance at lecture will not be taken into account when determining your grade. However, if you are absent from lecture, it is up to you to find our what material you missed. We suggest that you arrange with your classmates to borrow their notes.
Please keep this information at hand; it likely will come in very handy during the quarter!
Jacobsons office: | CS 408A |
Office Hours | Tues. & Thurs. 2:00pm to 3:15pm & by appointment, except for campus holidays |
Jacobsons phone: | 949-824-7300 |
Jacobsons email address: | jacobson@uci.edu |
Jacobsons home page: | www.ics.uci.edu/~jacobson |
Pans email: | pan@ics.uci.edu |
Questions to course staff | 80J-questions@ics.uci.edu |
Engineering Copy Center (ECC) | Engineering Tower 203
open M-F 8:00 am - noon, 1:00 pm - 4:00 pm. (closed Holidays) |
The ICS Distribution Center: | Back of the ICS trailer directly across campus circle from ELH100; look for the sign. Hours are posted on its door and periodically on the newsgroup ics.ugrad. |
Lecture
ICS80J lecture course code: | 36310 |
Web pages referred to in this Reference
ICS80J Course Web Page | www.ics.uci.edu/~jacobson/ics80J/ICS80J.html |
ICS80J Lab Manual | www.ics.uci.edu/~jacobson/ics80J/LabManual/00-LabManual.html |
ICS80J Course Announcements | www.ics.uci.edu/~jacobson/ics80J/Announcements.html |
ICS80J Course Grades
A Note on Course Grades |
www.ics.uci.edu/~jacobson/ics80J/CourseGrades.html
www.ics.uci.edu/~jacobson/ics80J/NoteOnGrades.html |
ICS & UCI Academic Honesty Policies | www.ics.uci.edu/~ucounsel/continuing_students/policies.html |
ICS Lab page | www.ics.uci.edu/~lab/ |
ICS Lab hours page | www.ics.uci.edu/~lab/about/hours.html |
Instructions for Account Activation | www.ics.uci.edu/~lab/procedures/activate.html |
ICS Instructional Lab Rules | www.ics.uci.edu/~lab/policies/ labguidelines.html |
UCInetID Services page | www.activate.uci.edu |
Forwarding UCI Email | www.nacs.uci.edu/help/handouts/forward.html |
You are not eligible to take ICS80J if you already have had a course, or equivalent experience, that includes learning basic Java. In particular, if you are currently enrolled in ICS21, ICS22, ICS23 or ICS52, or completed any of those courses when it was taught in Java, you are ineligible to take this course.
If you are enrolled in this class, but are ineligible to take it, you should drop it immediately. Ineligible students who remain in the course will not receive a course grade.
This course requires familarity with an Internet browser (such as Netscape or Internet Explorer) and Windows XP or a similar operating system. Importantly, it also requires a thorough knowledge of and significant previous practice in basic C++, from basic object and control concepts through pointers, arrays, sequential text file access, exception handling, inheritance and polymorphism. For instance, if you completed ICS21 or ICS22 when it was taught in C++, completed a C++ course at another educational institution that included the above topics, or passed the AP Computer Science AB or BC test with a score of 3 or higher, you should have this knowledge.
If you do not have this knowledge, we strongly recommend that you do not take this course.
ICS policy is that enrollment and grade changes, discussed below, are allowed only during the first two weeks of class except in extraordinary circumstances beyond your control. For the first two weeks of the class, follow the instructions below; after that time, see the instructor to discuss your proposed enrollment or grade change.
To add the course: See the instructor. He will verify your elgibility, and add you, if space permits, or put you on a waiting list if the section is full. We cannot guarantee you enrollment, even if you are on the waiting list. If you are on the waiting list prior to the end of week two, and a space for you becomes available at the start of week three, we will still allow you to add the course.
If you are an Access student
When you add the course, remind the instructor to write a note on your enrollment form stating that the late enrollment was because you were just allowed to add the class; in the past, such a note was sufficient for Extension to waive late enrollment fees.
Also remind the instructor to provide you with a phony ID number, an eight-digit number beginning with two zeroes that you and he agree upon. This is the number you will use in this course in place of a UCI student ID number. (For instance, it will be the number you use to access your graded lab work.) Whenever we refer to a student ID number, use this phony ID.
To drop the course: Take a drop card to the instructor for signature.
To change your grade option: Take a change card to the instructor.
The lab rooms (CS 183, CS 189, CS 192, CS 364): You may use CS 183, CS 189 or CS 192 (the first floor labs) to do your work as long as the room is open and there is no class meeting in it. You may not work in a room when a scheduled class is in session.
You may also use the computers in CS 364. 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 CS 364. The TA will be available in CS364 at times to be announced to answer questions about coursework; those hours will shortly be announced in lecture and posted on the course web page.
A lab attendant in each lab watches over equipment and can help you with things such as answering questions about your computer account, reviving a dead computer or adding toner or paper to a printer. An attendant cannot help you with your ICS 80J 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 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, which are part of the Network and Academic Computing Services (NACS) PayPrint system, youll need to obtain a PayPrint card. The Printing in ICS Instructional Computer Labs web page explains how to get one (and gives other details about the PayPrint system). You are free, of course, to print on any printer 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 ICS80J Lab Manual.
UCI provides all its students with basic computing, including electronic mail and worldwide Internet services, via a UCInetID computer account. All ICS 80J students need this account: if you have not yet activated your UCInetID, go to a drop-in NACS lab (they are in Engineering Gateway E1131, E1140 and E1151, and Humanities Instructional Building 343). Find an activation station, a computer set up to allow for UCInetID activation. (If you dont see one or otherwise need assistance, talk to the lab attendant on duty). Then go to the UCInetID Services page. Click on Activate a UCInetID and follow the instructions. Be sure to have your student ID and social security number handy; youll need them to complete the activation process.
You will also need an ICS Windows computer account to use the computers in lab. If you already have an active ICS Windows account, you need do nothing more; it is ready for use in this course.
If you do not have an account, but are already enrolled in the course, the ICS Department has created one for you. If you add the class, your account will be created a day or two after you turn in your add card to the Registrars (or to the Access) Office.
Once the account is created, you must activate it. In brief, bring your UCI student ID card (and yourself!) to the lab attendant in CS 364. Your ID will be verified; you then take an on-the-computer quiz about the rules regarding use of ICS computer resources and provide a password. Your account is now ready for use. For details on activating ICS accounts, see the Instructions for Account Activation Web page.
If you are waiting to add the class and do not have an ICS Windows account, you can use the account with user name ics80-guest to do your work until an account is created for you. You can get the password for the account from the instructor. Note this account is publically accessible, so dont store any of your work personal work on it.
At the same time your Windows account is activated, youll also receive an ICS Unix account that has the same login name and password. We wont use that account for this class, but it is a good place to store a backup of your computer work.
Explicit instructions for activating a Windows account, and more details about your Unix account, are provided at the ICS Lab web site.
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. 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 be happy to make appointments for other times during the week.
You can most easily get course-related questions answered by coming to lecture, or visiting the TA during his in-lab hours and asking them! You can also ask questions by sending email to 80J-questions@ics.uci.edu. (If you do not know how to use UCIs 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 me or the TA for a more in-depth discussion.
Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately to discuss his or her 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 me directly, or see the appropriate party in person.
Throughout the quarter, we post messages of general interest to the ICS80J 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 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 email to your preferred account; see the Forwarding UCI E-mail Web page for details.
Big Javaby Cay Horstmann (required). The bookstore has this text, which discusses object-oriented programming concepts, the basics of Java and several advanced Java topics. See the Course Schedule for the readings that correspond to each lecture.
ICS80J Lab Manual, Fall 2003 (the Lab Manual) by Jacobson, with material developed in conjunction with others (required). This document contains lab policies and procedures, the lab assignments, and information on how to turn in labs and lab grading.
We will use several software packages for lab exercises, including SecureCRT and Internet Explorer for access to your UCInetID account and Internet browsing, respectively; TextPad (a text editor) to enter your programs; and Sun Java version 1.4.2 as our Java implementation. You may also find the tools within Microsfot 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); TextPad is shareware, and Internet Explorer and Suns Java are free.
Some students like to get a copy of Suns Java and install it on their personal machines. See Setting Up Java at Home, prepared by Alex Thornton (faculty here in ICS) for some guidance on getting Java installed and working on your computer.
We also suggest you obtain a couple of 3.5" diskettes to use to back up your work. You can buy diskettes in boxes of ten or more at the UCI Computer Store and many off-campus locations. The ECC also sells disks singly.
Lab assignments: The Lab Manual contains them (30% of the course grade)
One midterm: (35% of the base course grade)
One final exam: (35% of the base course grade)
See the Course Schedule for the dates of the exams.
The lab assignments have you design, implement (in Java) and test computer programs.
Programming assignments always take longer to complete than you think they will. (This phenomenon occurs among professional computer scientists, not just students of computing.) Until we have one machine for every student, there will inevitably be times when more people will want machine access than there are machines available. You must allow for this in planning your time.
Your TA has the responsibility of insuring your lab assignment scores are accurate and correctly recorded. So, if you think your assignment was scored incorrectly, take the matter up with the TA. 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.
We will tell shortly where you can find your posted assignment and midterm grades (its usually on a web page).
We grade the electronic copy of your lab assignment by writing your score (and any comments we have) as comments in the Java code. You will be able to download and review your graded lab assignments by following the Review Graded assignments link on the course web page. You will be asked for some identifying information and your section, and then taken you to a page where you can choose which of your assignment files you want to review. Depending on the browsers settings, you can view or download the work. (The browser may warn you that a site certificate is new, or was not what was expected. If you are using Netscape Communicator, click Next on each dialog box that appears until you get to the last one; there, click on Finish. If you are using Internet Explorer, just click on Yes in the box that appears. You may also be warned you are entering a secure site; if so, just continue.)
More details about the lab assignments are in the Lab Manual.
We will assign final grades on at least the following scale; the cutoffs may be lower: Grades in the A range (A, A, and in exceptional cases, 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. Using an established point scale means that you are not graded in direct competition with your classmates.
Midterm exam answer sheets will be available for your review during my office hours; you can look over your final exam asnwer sheet by appointment. At quarters end, all answer sheets are placed in the ICS Distribution Center. You may review, but not take, your answer sheets.
Final course grades, the scores used to compute them, a number of statistics about the class and related end-of-quarter matters 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 UCI students, you are expected to know and follow the academic dishonesty policies of both the ICS Department and the University as a whole. Please take a few minutes to read the policies, which can be found (among other places) at the UCIs and ICS academic honesty policies Web page.
In addition to those rules, there are some specific rules regarding student-with-student cooperation in this class:
On programming assignments, the work you turn in must be your own; in particular, you may not do joint work. You also may not have another person write part of your program or let someone plan the detailed strategy you will use to attack the problem. You may ask other students for help on technical matters, such as how to use a Java feature or interpret a Java error message. You may, of course, get help from the TA (and the instructor): they are informed about what sort of help is allowable, so feel free to ask them any question you have (but they may decline to answer it if it means they would be doing your work for you). You may also use data and programs we provide to you.
You may not copy code from a text or any other source unless you have specific permission from the TA or the instructor to do so, or when a lab assignment specifically allows you to do so. When you are allowed to adapt code from another source for use in your program code, you must credit the source of that code in your programs comments and any related write-ups.
Note that we compare submitted lab work to other work done this and previous quarters and will consider it strong evidence of academic dishonesty if any assignments are inappropriately similar.
More detail about appropriate code reuse is given in the Lab Manual.
On exams, you must do your own work: Using answers from another source, such as a student sitting near you at the exam, is a particularly serious infraction of academic honesty rules.
If you are unsure whether certain behavior is acceptable, ask before you engage in it!
Make every effort to attend the lectures; we will make important announcements and often cover material that isnt directly in the textbooks. We will not repeat a lecture you missed, though of course we will answer questions about it. You may audio tape lecture, provided you use it only to study for this course.
Keep up with the reading; youll need it 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 youre 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 early working on the lab assignments; computer work always takes longer to complete than you think it will, even if you have previous experience.
Make use of insturctor office hours and TA hours in the lab; ask questions early on. If you wait until the last minute, you will have little time to put what you learn from your questions to work.