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
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).
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.
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 |
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. |
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% |
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.
Last modified: Saturday, 14 Dec 2002