University of Memphis
COMP 4302/6302: Internet Application/Java Programming
Spring 2005 

Course Information

Instructor: Dr. Lan Wang

Objectives

This course is designed for senior undergraduate students and graduate students. It will cover a range of topics on the design and implementation of Internet applications. At the end of the course, students will have acquired the following knowledge and skills:

If you want to learn basic Java programming or Java GUI design, this is not the right course for you.   If you have a solid background in Java or C++ programming and you can handle the course load (see below), you are welcome to take the course.

Course Load

Students are required to do the following:

  1. Read various chapters in the textbook and some supplemental materials;
  2. Submit all the homework assignments (some of them are programming assignments);
  3. Take some quizzes;
  4. Take a midterm exam;
  5. Attend all the lab sessions;
  6. Work on a term project;

Resources

The required textbook for this course is Core Web Programming, 2nd Edition by Marty Hall and Larry Brown (publisher: Prentice Hall, ISBN: 0-13-089793-0). This book covers a wide range of topics including HTML, Basic Java Programming, Java GUI, Java Servlet and JSP. Although its content is a bit dated, its topics match this course very well. All the code used in the book can be downloaded from http://www.corewebprogramming.com/.

The following books are optional. The first three books all focus on Java programming, but Head First Java is more geared towards novice programmers. The fourth book provides comprehensive coverage of Java Servlet and JSP, but it does not teach the Java language.

In addition to the above books, there are also numerous on-line resources for Java programming:

Class Participation

Each student's class participation is evaluated based on the following:

Homework Assignments

There will be at least 6 homework assignments.  Some of them require a substantial amount of programming.  Students should hand in their homework at the beginning of the lecture on which the homework is due. Any homework handed after the due date will NOT be accepted.

Quizzes

There will be several pop-up quizzes. There will NOT be makeup quizzes, so it is very important for students to attend every lecture.

Exam

The midterm exam will be on Tuesday, Mar. 15. There will be no makeup exam for the midterm exam unless the student is in a documented emergency.

Term Project

Students will design and implement a network application using Java. Teamwork of 2 people is preferred. Since an early start is key to the success of the project, students are encouraged to discuss project ideas with the instructor as early in the course as possible (e.g. around the third week). Below are the due dates of the deliverables:

No late project proposal, late progress report and late final report will be accepted.

Grading

Letter grades will be assigned as follows -- A: 90, A-: 87, B+: 84, B: 81, B-: 79, C+: 75, C: 72, C-: 68, D+: 64, D: 60, F: < 60. A student's final score will be composed of the following components*.

Class Participation

10%

Homework

24%

Quizzes

12%

Midterm Exam

24%

Term Project

  • Project Proposal: 5 points
  • Progress Report: 5 points
  • Presentation and Demo: 5 points
  • Final Report: 15 points

30%

* Note that the homework and term project of graduate students will be evaluated using a higher standard.

Tentative Schedule of Lectures

Week

Date

Content

Week

Date

Content

1

Jan. 18

Course Overview and Java Basics

(Chap. 6)

9

Mar. 15

Midterm

 

Jan.  20

O. O. Programming

(Chap. 7)

 

Mar. 17

Guest Lecture

2

Jan.  25

Advanced O. O. Programming

(Chap. 7)

10

Mar.  22

Java Servelet

(Chap. 19)

 

Jan.  27

Multi-threading

(Chap. 16)

 

Mar.  24

Java Servelet

(Chap. 19)

3

Feb.  1

Multi-threading

(Chap. 16)

11

Mar.  29

Java Servelet

(Chap. 19)

 

Feb.  3

Basic Networking Concepts

(reading assignment)

 

Mar. 31

JSP

(Chap. 20)

4

Feb. 8

Client-Server Applications

(reading assignment)

12

Apr. 5

JSP

(Chap. 20)

 

Feb.  10

Peer-to-Peer Applications

(reading assignment)

 

Apr. 7

JSP

(Chap. 20)

5

Feb. 15

Socket Programming

(reading assignment & Chap. 17)

13

Apr. 12

JSP

(Chap. 20)

 

Feb. 17

A Generic Network Client

(Chap. 17)

 

Apr. 14

Web Performance

(reading assignment)

6

Feb. 22

A Generic Network Server

(Chap. 17)

14

Apr. 19

Web Security

(reading assignment)

 

Feb. 24

HTTP

(reading assignment)

 

Apr. 21

Presentations

7

Mar. 1

HTML Forms

(Chap. 18)

15

Apr. 26

Presentations

 

Mar. 3

Java Servlet

(Chap. 19)

 

Apr. 28

Demo

8

Mar. 8

Spring Break

16

May. 3

Final Report Due

 

Mar. 10

Spring Break