CS 56   Advanced Java Programming

Fall 2001

J. Ken Geddes, Jr.  310/434-4628  BUS 220T
Office Hours:  5:05p - 6:05p M in B231; 5:45p - 6:45p TTh;
and by appointment and email
kengeddes@earthlink.net  http://home.earthlink.net/~kengeddes/

Class Info

Section 4171    6:45p - 9:50p Th        BUS 201
Arrange - 2 hours    3 units    Transfer: CSU    Prerequisite: CS 55

Course Description

This course continues where CS 55 leaves off in developing mastery of the Java programming language and its extensive Application Programming Interface (API). Topics covered include exceptions, multithreading, multimedia, input/output (I/O), Java Database Connectivity (JDBC), servlets, Remote Method Invocation (RMI), and networking.

Course Objectives

Upon completion of this course the student will be able to:
  1. use all features of the Java programming language
  2. use most of the packages in the core Java API
  3. trace the activity of a program using the contour model
  4. complete at least 10 well-written Java programs

CS 56 Website

Point your browser to my homepage  http://home.earthlink.net/~kengeddes  Then take the link to CS 56, Advanced Java Programming.  This website contains this syllabus, assignment information, announcements and reminders, examples, links to Java development resources, and other pertinent information. I will make extensive use of the website to communicate with you. You are responsible for awareness of the information posted there.

Sending Email To Me

The following format is required in the Subject line: CS 56section lastName, firstName. E.g., Subject: CS 56 Th Smith, James

Required Text

Java How to Program, Third Edition, Deitel & Deitel, Prentice Hall, 1999.

References

  1. Thinking in Java, 2nd edition, Bruce Eckel, Prentice-Hall, June 2000.  This is considered by many to be the best book there is on Java. There are over 400 examples, all clearly explained line by line in the text.  You can download both the text and the examples for free.
  2. The Java Tutorial: Object-Oriented Programming for the Internet, Mary Campione and Kathy Walrath. Addison-Wesley, September, 1996. 720 pp., $39.76, ISBN: 0-20-163454-6. Also available for free online at  http://java.sun.com/docs/books/tutorial/. Both a reference and a tutorial, it was originally designed to be read online and is continually being updated.  Very well-written, detailed explanations make this book especially good for less experienced programmers.

Tests

There will be four tests. They will be based on material from the textbook, lectures, and assignments. The lowest test score will be dropped. Makeup tests will not be given. If more than one test is missed they will remain as zeros.
Grading
3 tests
70%
homework
20%
team project
10%
Total
100%
Letter Grade
90 - 100% A
80 - 89% B
70 - 79% C
60 - 69% D
0 - 59% F

Attendance

There will be assigned seating and attendance will be taken.  Very important:  If you miss class, it is your responsibility to find out what you missed.  It would be very helpful to get the phone numbers or email addresses of a few classmates so you can get missed information.  Everything is subject to change and will be announced in class.  Please do not expect the instructor to repeat lecture material because you missed a class. For chronic absence I will reduce the final calculated grade at my discretion (usually by one letter). If you enroll please attend; if you don’t attend please don’t enroll.

Lab / Homework Assignments

Assignments are always due in one week at the start of class. You may turn in an assignment late by the start of the next class; the lateness penalty is one point. Any homework turned in after that will receive no credit.  Homework due the day of a test will not be accepted late.  You are encouraged to help each other with the lab assignments; however, if you simply copy someone else's work, points will be deducted from both students' scores for plagiarism. Homework will be graded as follows: 3 - good to excellent, 2 - significant error(s), 1 - missed more than half of the requirements, 0 - pretty much worthless.

Method of Presentation

Lecture and discussion solving problems from original statement to solution, demonstration and analysis of existing problem solutions through flowcharting and tracing,  and discussion of the strengths and weaknesses of different algorithms.

Academic Honesty

The academic honesty policy of Santa Monica College will be strictly enforced. See Code of Academic Conduct in the Student Planning Guide for Success.

Disabilities, Medical Problems

Accommodations will be made for disabilities; see me regarding such or medical problems.

Team Projects

You are expected to participate in a team project. You may organize your team any way you like.  One way is user, designer, coder, and tester. Another way is an architect / chief programmer with a team of programmers each of whom works on one part of the program.  Your team will make two presentations. The project shall consist of the design, development, test, debug, and presentation to the class of some Java program of your choice. This is a good opportunity to solve a problem of interest to you, to be creative, and to show the fruits of your labor to the class.

Study Habits

Please take pride in your work and do not turn in garbage.  Learning to program in Java requires goodly amounts of logical talent, preparedness, time, and effort. Plan to study and write code for at least 2.5 hours outside of class for each hour in class.  This course is demanding and time consuming, but the reward is that at the end of this course you will have a good foundation in Java programming.

Policy on disputed scores for tests, assignments, etc.

Occasionally a student may feel he has received an incorrect or unfair score for his work.  If you feel this is the case, you may ask me to grade your work a second time.  Understand that your score may go up or down in this case.  Understand, too, that partial credit is at the discretion of the instructor.  Whether an error deserves, say, a half point or a full point deduction depends on the instructor's standards and point allocation for that program.  If there is some particular line of code that you insist is correct but for which points were deducted, I will re-examine the code.  If you are right, your score will be increased by the deducted number of points times two.  If you are wrong, your score will be decreased (a second time) by the deducted number of points. If you still refuse to accept the instructor's judgement, the burden of proof is on you to show that your code is correct. Typically, this will require running the program, or a small test program that proves your point, in the lab.
 
Week# Date
Chapter / Topic
Lab
Assg'd.
Proj.
Due
Test
08/30
Syllabus; 14 - Exception Handling lab14    
09/06
15 - Multithreading lab15    
09/13
16 - Multimedia: Images, Animation, Audio and Video lab16  
09/20
17 - Files and Streams lab17  
 test 1
09/27
18 - Java Database Connectivity lab18    
10/04
19 - Servlets lab19  
10/11
20 - Remote Method Invocation lab20
10/18
Review; project teamwork
 Part 1
test 2
10/25
21 - Networking lab21
10  11/01
22 - Data Structures lab22
11  11/08
23 - Java Utilities Package and Bit Manipulation lab23
12  11/15
Review; project teamwork
test 3
11/22
Legal Holiday
13  11/29
24 - Collections lab24
14  12/06
25 - JavaBeans
15  12/13
6:45p - 9:45p
Part 2
test 4
Course Topics and Tentative Schedule
CS 56 Home Email Last Modified November 2, 2001