ICS 142 Winter 2004
Lab Manual

The assignments


This quarter, you'll work on six assignments. Most will involve some amount of programming, though some may also require written answers or analysis. It is not necessarily the case that the assignments will increase in size or difficulty throughout the quarter; they will be centered around topics that are covered in lecture, which vary in difficulty (and different people will find different aspects of this course to be more difficult than others).

Submitting your assignments

When you complete each assignment, you must submit it to us electronically. Follow this link for a detailed description of how to submit your assignments. Understand that we will only accept projects submitted using the procedure described there; we do not accept printed copies of your assignments, nor do we accept them via email under any circumstances.

Evaluation of your work

Each of your assignments will be broken into parts and graded using a 100-point scale. When you write code, it is naturally your primary goal to write a program that works correctly. However, writing a correctly-working program is not your sole objective. Each of your programs will be evaluated for style and quality of approach, in addition to correctness.

If you submit a program that does not compile, we will not be able to execute it and, thus, will not be able to evaluate its correctness. It is your responsibility to turn in code that compiles. We reserve the right to assign zero points to any program that cannot be executed, though we will try to assign some partial credit to such programs if possible.

This course moves forward at a rapid pace. Therefore, late submissions of assignments will not be accepted. Bear in mind that you will receive partial credit for an assignment which is partially completed, so I encourage you to submit what you have when the assignment is due.

How do I use the course newsgroup?

I've written a brief document that explains how to read the course newsgroup.

How do I set up Java at home?

Here is a document I've written that describes how to set up J2SE (the Java 2 Standard Edition SDK) at home on your Windows-based machine.

Academic honesty

As ICS 142 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 at this link.

All of your lab work is expected to be completed solely by you. Group work and/or sharing of code between students is not permitted. Note that "high-level discussion of course material for better understanding" is permitted and encouraged, but when it comes time to sit down and write code, that is expected to be done by you and you alone. All submissions are compared to one another using an automated plagiarism detection system. This system is extraordinarily good at finding similarities between submissions, even when there are superficial differences. (Note that we also compare your submissions to those submitted during previous quarters whenever one of these assignments was given during a previous quarter, so it is an exceedingly bad idea to turn in, or even refer to, code written by a friend of yours who took the course already.)

Since all of your work is expected to be completed solely by you, you will be held responsible even if you plagiarize only a small portion of someone else's project.

Academic dishonesty is a two-way street. Providing your code to other students for them to turn in as their own is not permitted anymore than turning in someone else's code. Resist the temptation to give code to your friends "for reference." Based on my experience, I can say that your "friends" may very well betray you and turn it in, anyway.

Violators of academic dishonesty policies are subject to the penalties described in the ICS Department's policy. They are also subject to an immediate course grade of F, and you will not be allowed to drop the course to avoid the grade. Also be aware that a single documented case of academic dishonesty may preclude you from switching into the ICS major, registering for the ICS minor, joining the ICS Honors Program, and graduating from ICS with honors.