Chris Pollett>Old Classes>PIC 20, Winter 2000

Winter 2000 PIC 20 Home Page/Syllabus

Programming for the Internet in Java

Instructor:Chris Pollett
Office: 6183 Math Sciences
Phone Number: (310) 825-2814
Hours: MW 1-2 pm F2-3

Class: MWF 11-11:50 in BOELTER 3400
Sec 1bd TA: Lynn Goh
Office: MS 2963
Hours: MW 10-10:50 Tu4-5

1b: TR 1-1:50 in PUBPOL2319
1d: TR 11-11:50 in PUBPOL2232
Sec 1ac TA: Goetz Grimm
Office: MS 2963
Hours:M3-4 Th2-4

1a: TR 1-1:50 in BOELTER5272
1c: TR 11-11:50 in GEOLOGY4660
Enrollment info
Course Info:
Homework Assignments:
Practice Exams:


To enroll in this course, you must have taken PIC 10b or the equivalent.

Texts and Links

Available on Reserve at Powell Library

Required Text: Java: How to Program (3rd Ed.), by Deitel and Deitel.
Online References
& Other Links:

How to get the Java 2 Plug-In.
HTML to force the Java 2 Plug-In to be used.
Sun's Java site.


Java is currently one of the most popular languages for client side and to a lesser degree server side programming on the web. The control structures and base data types of Java are similar to C++, and so should be relatively familiar. Its inheritance model, however, is much more elegant and this tends to make for cleaner looking code. One reason for Java's popularity is that it comes packaged with an extensive, standard set of class libraries for graphics, multimedia, security, threading, etc. In this class we will introduce the basic programming concepts of Java. We will discuss both writing applications and applets. We will also talk about basic Java constructs, classes and inheritance, the Swing graphics libraries, how to use timers for animation, the Java event model, layout managers, Java2D, how to incorporate multimedia sources into one's programs, exception handling, and threading.

Below is a tentative time table for when we'll do things this quarter:

Week 1 Jan.10,12,14 Ch 1-3 D&D
Week 2 Jan.17 (Holiday), 19 (hw1 due), 21 Ch 4-6 D&D
Week 3 Jan.24, 26, 28 Ch 7-8 D&D
Week 4 Jan.31 (hw2 due), Feb. 2(In Class Midterm), 4 Ch9 D&D
Week 5 Feb 7, 9 (hw3 due Feb10), 11 Finish Ch9, Ch11 D&D
Week 6 Feb.13 , 15 , 17 Ch12 D&D
Week 7 Feb. 21 (Holiday),23 (hw4), 25 Ch13 D&D
Week 8 Feb. 27. Mar. 1 (hw5 due), 3 Ch14 D&D
Week 9 Mar.6 , 8, 10 Ch15 D&D
Week 10 Mar. 13, 15, 17(hw6 due) Ch 16 D&D
Week 11 Mar.21 (Final) Held in Boelter 3400 from 8a.m.-11a.m.

Grade Breakdown / Grading Policy

Homeworks       50% 
Midterm         20%    
Final           30%

When I assign grades the high score has an opportunity to receive an A+. I do curve grades and my curving will be in line with previous times this class has been taught.

Homework Info

| General Info | Submitting Programs | Regrades | Required Formatting | Academic Honesty |

General Info

There will be 6 homeworks this quarter. Links to the current list of assignments can be found at the top of this page. After an assignment has been returned a link to its solution will be placed off the assignment page. Each homework will be a combination of a reading assignment and a programming assignment. Programs will be graded using the version of JDK at the PIC labs and so you should always test your code to make sure it works there. Late homeworks will not be accepted; however, your low homework score will be dropped.

Submitting Programming Assignments

To submit an assignment, simply copy the required files to your \SUBMIT directory. Leave them there for the rest of the quarter, even after they have been collected and graded. You may be able to submit files remotely with ftp, but it is best to make sure your submission works in the Lab before you submit. This check generally requires a trip to the PIC Lab. If you wish, you may overwrite a previous submission with a new version at any time before the due time on the due date.

Please do not store any files in your submit directory other than those that are to be or have been collected.

To confirm that you have submitted correctly, run the checksubmit program, but be advised that this program does not always work correctly.

Your assignment grade will be placed in your \RETURN directory each week; create the directory if it doesn't exist. Please check your \RETURN subdirectory each week to verify that your previous submission is received and graded. This is very important; it is the only way to know for sure that you actually received credit for your assignment.


If you believe an error was made in the grading of your program or exam, you may submit a request for regrading to me, Professor Pollett. These requests must be submitted no more than a week after the work is made available to you to be picked up. No requests for regrades will be considered unless they meet this deadline. Be forewarned that the whole piece of work will be regraded, so the grade may go down rather than up. Pick up graded work not returned online from your TA.

Required Formatting

Since some of the grading process will be automated, it is important that your program follow the specifications in the assignment exactly. In particular, make sure submitted filenames are correct and data items in your program are inputted and outputted in the proper sequence and format. Please include the following items in the header of every programming assignment you submit:

This is a link to an example of a properly formatted homework header. Except for the description, honesty pledge, and list of known bugs, the same information should be provided in the header of your written homework as well. Please staple the pages in your written homework together and put your name on every page. Written homework need not be typed, but it should be neatly arranged, with the assigned problems in order, so that the grader can read it easily.

Your code should be as easy to read as possible. Use indentation carefully and consistently to delineate levels of nesting. Disjoint blocks should be well separated by concise and informative comments. Although you are allowed a fair amount of choice in style, please try to conform to the conventions used in lecture and in the text.

Academic Honesty

You are both allowed and encouraged to discuss general algorithms and approaches to programming problems with your classmates. But these discussions must remain at a high level and not involve actual code being exchanged. In particular, THE CODE YOU SUBMIT AS SOLUTIONS TO PROGRAMMING ASSIGNMENTS MUST BE YOUR OWN INDEPENDENT WORK. DO NOT SHARE CODE.

You are required to include the following Academic Honesty Pledge at the top of each program you submit:

Honesty Pledge:

I, (insert your name here), pledge that this is my own independent work, which conforms to the guidelines of academic honesty as described in the course syllabus.

The pledge must be worded precisely as above, with your own name inserted. Be aware that any detected activity even bordering on an infringement of these academic honesty guidelines will be forwarded to the Dean of Students for full investigation. The penalties may be severe, in several recent cases, students have been suspended and have had the incident permanently recorded. If you witness any cheating by classmates, please report it to Professor Pollett as soon as possible.


As shown above in the grade breakdown there will be both a midterm and final in this course. Both of these are closed book, closed notes. You will be allowed only the test and your pen or pencil on your desk during these exams. Beeper or cell-phone interruptions will result in immediate excusal from the test. The midterm will be in class on Feb. 2. The final will be on March 21 in class from 8a.m-11a.m. A photo ID will be required to take these tests. The final will cover material from the whole quarter although there will be an emphasis on material after the midterm. No make up exams will be given. The final exam may be scaled to replace the midterm if the midterm was missed under provably legitimate circumstances. These exams will test whether or not the student has mastered the material both presented in class or assigned as homework during the quarter. I will try to avoid both tricky and ambiguous questions. The week before each exam I will give out a list of problems representative of the level of difficulty of problems the student will be expected to answer on the exam. Any disputes concerning grades on exams should be directed to me, Professor Pollett.