Course Information

CIS 35B: Advanced Java Programming

 

De Anza College

Computer Science Department

September-December 2003 (Fall 2003)

 

Class Time: Tuesday & Thursdays 5:30- 8:10 p.m.

Lecture: 5:30 – 6:45 p.m.

Lab: 6:45 – 8:10 p.m.

Class room: L75

Instructor: Mahmoud Parsian, Ph.D.

e-mail: mparsian@yahoo.com

 

Course URL: http://www.oocities.org/mparsian/fall2003

 

Course Description:

·        Interfaces, Inner classes

·        Collections

·        Exceptions

·        I/O

·        Reflection

·        Cloning

·        JavaBeans

·        Swing

·        Threads

·        Packages

 

 

Prerequisites:

This is an advanced level Java course.  It is assumed that the typical student

has taken sufficient courses and has gained complete understanding of basic topics

in Java programming language, data structures, and computer architecture.

Official Prerequisite: Computer Information Systems 35A. Advisory: English Writing 100B

and Reading 100 (or Language Arts 100), or English as a Second Language 24 and 72

(or English as a Second Language 4).

 

Text:

 

·         Java in a Nutshell, 4th Edition, By David Flanagan
Fourth Edition March 2002, ISBN:  0-596-00283-1 (required)

 

·        Learning Java, 2nd Edition, By Patrick Niemeyer, Jonathan Knudsen
2nd Edition July 2002, ISBN: 0-596-00285-8 (required)

·         Big Java: http://www.horstmann.com/bigjava.html
by Cay Horstmann, Publisher: Wiley,
ISBN: 0-471-40248-6 (optional reference)

 

 

Tests and Grading Policy:

The weightiness by which your grade will be determined is as below.  Note that

Project (i.e., programs, homework, Labs) will be reduced 25% in value for each

class-day they are late. The course work consists of:

 

Exam/Program

Points

Midterm Exam

100

Final Exam

200

8 Programs (programs + labs)(50 points each)

400

Total Points

700


 

Grading Scale:

 

Percentage

Letter Grade

100%-91%

A

90%-81%

B

80%-71%

C

70%-61%

D

below 61%

F

 

Programs/Labs:

You will be assigned a programming problem/lab. A solution to a programming problem/lab

is a working documented (with human readable comments) program that

 

    1. Gets the right answers

    2. Is reasonably efficient

    3. Is well documented (this is of prime importance

          since human beings are to read your programs)

    4. Is well designed (simple/easy/efficient)

    5. Follows the instructions of the assignment (all specifications must be satisfied)

(i.e., must match the program/lab specifications)

 

IMPORTANT NOTE:

you may discuss problems/labs, but programs/labs MUST be written

by an individual student; identical (or nearly identical) programs/labs

will be regarded as cheating and will be severely dealt with.

 

Procedures for Making Up Missed Work:

If you are going to miss a lecture/lab/exam you must explicitly notify the Computer Science

department (Chairman or myself) before the event takes place.  Without such a notification

there will NOT be any make up.

 

If you miss a lecture/lab/program/homework/quiz then there is NO make up (grade = 0).  If

you miss an exam then there will be a make up test if you satisfy all of the following conditions:

 

        Condition-1: have notified the Computer Science dept (Chairman or myself)

Condition-2: have been sick (or an emergency situation), then you must

bring a written notification from your medical doctor.

 

Submitting Exercises

Here are directions on how to submit your answers to the programming exercises. This is only

for the programming exercises, not for the projects or any other course work.

 

1.  The answers for each program must be submitted in two forms:

a. a compiled listing of the program on paper turned in during class on the due date;

turn in a printed copy of your programming exercises in class on the due date and

annotate the beginning of each program as shown below. Staple the entire set of

exercises together in one packet.

 

b. by electronic mail (see below) mailed before class on the due date.

The answers for each programming exercise should be sent together

in one electronic mail message to the address mparsian@yahoo.com.

This message must contain the answers in plain, readable, ASCII text.

This message must not contain any attachments, zip files, UUENCODEd

contents, tar files, executable files – only ordinary text. Each mail message

must contain the answers to one programming exercise.  Send only one

email message.

 

2. Each mail message must have a Subject line in the following format:

 

            FirstName:LastName:program:number

 

For example, student John Doe submitting an exercise would use as the subject line:

 

                John:Doe:Program:1

 

3. Each mail message may contain several programs. The programs must be separated

from each other by a line of '=' characters (each separator line will have exactly

10 “=”). This separator will look something like:  ==========

 

                Be sure to make the separator long enough to be clearly and easily visible.

 

 

4. In the program for each exercise there must be valid Java comments at the

                beginning that give the name of each exercise and the name of the student. For

                example, the student John Doe would annotate his program for the exercise named

                "Program 1” by including the following comments:

 

//

//  Program: 1

//  First name: John

//  Last name: Doe

//  Date: August 19, 2002

//

 

 

        5. Hand-crafted outputs will NOT be accepted at all. You have to capture the output

                and submit the output (as captured); for example see:

 

http://www.oocities.org/mparsian/fall2003/java-sample-output.jpg

 

 

 

Order of Book Chapters:

 

·        TBDL

·       

·        Extra: javadoc.

·        Extra: Collections (Hashtable, bag, set, list, arrays)

·        Extra: Concept of package, class, …

·        Extra: Introduction to Servlets