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.
Students
are
required to do the following:
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:
Each student's class
participation is evaluated based on the following:
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.
There will be several
pop-up
quizzes. There will NOT
be makeup quizzes, so it is very important for students to attend every
lecture.
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.
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.
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
|
30% |
* Note that the homework
and term project
of graduate students will be evaluated using a higher standard.
|
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 |
|
|
|