CISC370-011

Object-Oriented Programming, Java, and the World Wide Web

Fall 2002
Mondays 1900--2200
Room 219 Smith
Prerequisites: CISC181 (Intro to Computer Science) and CISC220 (Data Structures)

Instructor: Walt Leipold
E-mail: leipold@udel.edu
Office: 447 Smith
Office hours: Mon 1800--1900
Web: http://udel.edu/~leipold/
  Teaching Assistant: Sonny Rajagopalan
E-mail: sundaram@udel.edu
Office: 124E Delaware Ave
Office hours: Tues 1530--1730
Mailbox: 214A Smith

This is the syllabus for section 011 of CISC370, "Object-Oriented Programming, Java, and the World Wide Web". This Web page will contain announcements, homework assignments, copies of the lecture slides, and other pertinent material for the course. It will be updated frequently---plan on checking for new or updated material at least once a week.


About the course
Textbooks
Schedule
Team project
Grading
Policies
Resources


About the course

CISC370 is a course about object-oriented programming using the Java programming language. It will cover the a wide range of topics, including:

The course will consist of weekly lectures, a number of programming assignments, a semester-long team programming project, and one test (the final).


Textbooks

Required: Core Java 2: Volume I -- Fundamentals, 6th Edition, ISBN 0130471771, Horstmann and Cornell, Prentice-Hall, 2002.

Required: Core Java 2: Volume II -- Advanced Features, 5th Edition, ISBN 0130471771, Horstmann and Cornell, Prentice-Hall, 2001.

Optional: Java How to Program, Fourth Edition, Deitel and Deitel, Prentice-Hall, 2001.


Schedule

You are expected to attend all classes, and to be prepared for each class by reviewing notes from the previous lecture and reading the scheduled reading assignments. You are responsible for all announcements and material presented during classes, whether you are present or not.

Date Topic Reading Notes Due
9 Sep Intro to Java
Java programming environment
Programming structures
CJ I -- Chap 1
CJ I -- Chap 2
CJ I -- Chap 3
Slides
 
16 Sep Objects and classes
Inheritance
CJ I -- Chap 4
CJ I -- Chap 5
Slides
HW#1 code
Homework 1
23 Sep Reflection
Interfaces and inner classes
Graphics programming
CJ I -- Chap 5
CJ I -- Chap 6
CJ I -- Chap 7
Slides
HW#2 code
Homework 2
30 Sep Graphics programming
Event handling
Exceptions
CJ I -- Chap 7
CJ I -- Chap 8
CJ I -- Chap 11
Slides
HW#3 code
Homework 3
7 Oct Event handling
Menus
CJ I -- Chap 8
CJ I -- Chap 9
Slides
HW#4 code
Homework 4
Project plan
14 Oct GUI components with Swing CJ I -- Chap 9 Slides
HW#5 code
Homework 5
21 Oct Dialogs
Deploying applets and apps
CJ I -- Chap 9
CJ I -- Chap 10
Slides
Homework 6
28 Oct Streams and files CJ I -- Chap 12 Slides
Sample code
HW#7 code
Homework 7
1st progress report
4 Nov Multithreading
CJ II -- Chap 1 Slides
Sample code
HW#8 code
Homework 8
11 Nov Collections
Networking
CJ II -- Chap 2
CJ II -- Chap 3
Slides
Sample code
HW#9 code
Homework 9
18 Nov Networking
Database connectivity: JDBC
CJ II -- Chap 3
CJ II -- Chap 4
Slides
Sample code
2nd progress report
25 Nov XML
Remote objects
CJ II -- Chap 12
CJ II -- Chap 5
Slides
Sample code
 
2 Dec Security
Review
CJ II -- Chap 9
 
Slides
Sample code
 
9 Dec Project presentations     Presentation
Project paper

Team project

Part of your grade will be based on a semester-long project. The project will involve designing and developing an application or applet of your own choosing. You will work in teams of two. Each team will present its project to the class during the last class session, and must submit a short paper describing the project.

The milestones and deliverables for the project are as follows:

Milestone Date Deliverable
Project plan 7 Oct Turn in a detailed description of your project plan, including (a) the team members, (b) the purpose of the project, and (c) the tools, classes, and technologies you intend to use.
1st progress report 28 Oct Turn in a short writeup (a few paragraphs) of your progress to date (particularly any architectural decisions you have made), the work remaining to be done, and your plan for completing the project. Be prepared to spend several minutes verbally describing your progress to the class.
2nd progress report 18 Nov Demonstrate your project to the instructor in a rough form. By this point, the only work left on the project should involve testing, polishing, and documentation (including the final report).
Presentation 9 Dec Give a 25-minute presentation of your project to the class. You must provide (or arrange for) hardware to conduct the presentation (although you may be able to persuade the instructor to set up a computer for all teams to share). If you intend to implement a multiplayer game or something similar, remember that the classroom projector can only display one screen at a time.
Report 9 Dec Turn in a 3--5 page report describing your project's purpose, design, and implementation, and the lessons you learned during it.

Grading

Your grade for the semester will be based on:

Programming assignments:  50% of final grade
Semester project:  40% of final grade
Attendance and participation:  10% of final grade

Each programming assignment will be graded as follows:

Correct interpretation of assignment:  20%
Correct behavior:  20%
Correct algorithm:  20%
Indentation and other formatting:  20%
Variable & method names, commenting, etc.:  20%
Extra credit (if assigned):  20%

Policies

Code conventions: With a few exceptions which will be discussed in class, your source code must conform to Sun's Java coding conventions.

Academic integrity: You will be expected to conform to the University's policy on academic integrity. In particular, the code you write in this course must be your own work. You are free to discuss the Java language and other programming topics with other students or the instructor, but you must not copy other people's code, from any source, and you must not allow your code to be copied by another student.

Late assignments: Late homework will be penalized 15% per day late. Late assignments must be turned in to the TA's mailbox (in 214A Smith) before the office closes at 4:30 PM. As an example, an assignment due at the start of class on Monday night will lose 30% of its grade if turned in at 3:00 PM on Wednesday.


Resources


Last modified: Saturday, 14 Dec 2002