Mon, Wed, 3 - 3:50, LC E1
Labs are in SEL 2250, Wed starting at 8, 9 or 10
[General Information] [Course Grading] [Programs Grading] [Course Notes] [Pair Programming] [How to Succeed] [Academic Dishonesty]
|email:||reed @ uic.edu|
|On the Web:||http://www.cs.uic.edu/~reed|
|Office Hours:||See above web page|
|Prerequisites:||Credit or concurrent registration in Math 180|
Absolute Java 4th Edition, by Walter Savitch
Make sure that you are on the class email list. I will be sending class email to your UIC email, so if you read your mail somewhere else be sure to forward your email. Please send email to me requesting to be added to the list if you do not receive an email from me by the beginning of the second week of class. I'm assuming students check email every day. All critical announcements, changes to assignments, etc. will be distributed via email.
You will be given the opportunity to take a make-up exam only in cases of medical or personal emergencies, which must be verified. If such an emergency occurs, call me or leave a note (or phone message) with the department secretary as soon as possible. If you will be out of town when an exam is scheduled, I must be told in advance and may require you to take the exam early. Otherwise, if you miss an exam you will receive 0 points.
You are responsible for all information (handouts, announcements, notes, etc.) covered during class. You should ask fellow classmates for missed information, not the instructor or the T.A.
No incompletes will be given for poor performance in the course. An incomplete can only be given if there are extenuating circumstances and the student has at least a 'C' average in the course. No extra work or extra credit will be given.
If you feel that you deserve more points than you have been given on a quiz, assignment, or test, you must see the instructor about this within one week of the time the work in question is first returned to the class. After this deadline, no claims will be considered, justifiable or not.
Be sure to check the course web page for further information, handouts, programming assignment descriptions, and hints.
|Midterm # 1||10%|
|Midterm # 2||15%|
Quizzes will be given during during the first few minutes of lab, and will be closely based on the text's self-test exercises from the textbook assigned readings. No makeup quizzes will be given, but the lowest quiz grade will be dropped. Lab exercises will be assigned during lab and must be completed during that lab session. Labs are graded on a 3 point scale (0: didn't do it, 1: some effort, 2: average, 3: outstanding). The lowest Lab grade will be dropped. CodeLab exercises are available on the web and must be completed before 11:59 pm on the posted deadlines.
See the tests description for more information on test format and examples of old tests.
Each program will be graded out of 100 points as follows. Note that some of the criteria do not apply to early programs (e.g. functional decomposition) since we will not have learned those topics yet.
|55%||Runs correctly: conforms to assignment description for input and output, follows instructions given. Make sure to test your program thoroughly.|
|45%||Programming style, further broken down as follows:|
Each program should include a descriptive header at the top of the first page which must have at least as much information as the following:
/** --------------------------------------------- * This program implements a calculator that does * addition, subtraction, multiplication, and division. * * Class: CS 102, Fall 2008 * Lab: Billie Joe Armstrong, Wed. 6:00 AM * System: BlueJ 1.3, jsdk 1.5, Windows XP * * @author Dale Reed * @version August 25, 2008 * ---------------------------------------------- */Additionally your program must print out your name, assignment number and name, TA name and lab information. For instance, if your first program assignment was called "Average the Numbers," then when you run your program the first thing that should appear on the screen is something like:
Author: Dale Reed Program: #1, Average the Numbers TA: Englebert Humberdink, T 4-5
Do not modify your program after it has been turned in. In case of a turnin problem, the last modification date of your original program can still be verified. If you want to change it, make a copy first.
Experience has shown that students who develop their programs on PC's and then port them over sometimes encounter mysterious problems. Plan ahead, since no late programs are accepted.
Course notes will be available online through both Blackboard as well as UIC's iTunesU in semesters where this course is taught in one of the UICast classrooms. Most other semesters see the Notes link on the course web page for a copy of class notes.
You may program with a partner on one or both of programs 3 and 4, but must work on programs 1, 2 and 5 on your own. For pair programming you must choose a partner ahead of time, communicating this by email to the TAs and to me at least one week before the program is due. When programming with a partner you must take turns being the "designated driver" and the "non-driver." To do this you must also both read the article by Williams and Kessler entitled "All I Need to Know about Pair Programming I Learned in Kindergarten."
When doing pair programming, you will only turn in one program solution, with both of your names on in. If you do more than 2 programs with a partner, then you will receive a grade of 0 on those partner-programs after the first 2.
A nifty tool for pair-programming is Google Wave, that lets multiple people type the same document at the same time. It is both free and useful.
My job in class is to organize the material coherently, give helpful lectures, provide a framework that combines enough challenge and support for success, and grade reasonably. For you to succeed my expectation is that you will do the following. Note that a reasonable academic expectation is that you spend 2 hours outside of class for every hour spent in class. For a few of your programming assignments you may go over this time estimate.
When writing programs, you may consult with me or the TA at any stage of your program development. It helps if you bring a current print-out. You may seek help about the system or the editor from anyone at any time.
To avoid cheating via collaboration, do not show any other classmates your code, and certainly don't send anyone an electronic copy, even of a draft of your program. If a classmate consults you for help after attempting to run his or her program, you may assist in determining why his or her code doesn't work, but don't write it for them based on your own code. Do not lead your classmates into temptation: guard your print-outs. We use an automatic cheating-verification program called MOSS that is capable of detecting partial logical similarities. Don't even take the risk. In a recent class 10% of the students failed due to MOSS picking up program similarities. In recent semesters students have failed the course for hiring programmers online as well. If MOSS detects your program as similar to another, and you then tell me "Oh, we worked on it together," but you did not 1. turn in a single copy with both your names on it, AND 2. you did not notify me at least one week ahead of time, then likewise you will fail the course.
You may not get help of any kind from anyone else for the midterm and final
exams. These exams must be exclusively your own work.
[CS Dept] [UIC] [Prof. Reed]