Announcements
-
06/01: Final grades are available.
-
05/19: The final grade will be available around June 2nd. Good luck in
your other finals and have a nice summer!
-
05/19: Final Exam (close book) Location: R5/150, Time: 2:00-3:15pm
-
05/03: I have to cancel today's class due to catching a cold. Those who
want to hand in the report of project 3, please submit online. Thanks.
-
04/01: The requirement for Project 3 stage 2 has been updated to include
the Java CGI API part. Check it out.
-
03/26: Due date for Project 3 stage 2 is extended to 04/28. On that day,
we will meet in T513 and you should be ready to demonstrate your work,
mainly CGI implementation. The detailed requirement for Java CGI programs
will be available no later than next Thursday - 04/01. But if you choose
other language for scripts, you may start right away.
-
03/08: Project/Homework online submission
-
03/05: Midterm Exam (close book) Location: R5/150, Time: 2:00-3:15pm
-
03/05: A sample of midterm problems
-
03/05: A good sample for project
#2 report, which got 100
-
03/05: Late homework and project submission will NOT be accepted from now
on, unless you notify me in advance to use some of your 7 flexible days
if available.
-
03/05: Please use your real name in Yahoo email-list so that I may know
whose email address is which one.
-
03/05: Information for running
Apache on Solaris in UNIX-Lab
-
03/01: The due date for the homework of Apache is extended to next Monday
- 03/08.
-
02/25: We will meet in the original room assigned to us on Wednesdays and
T513 on Mondays in the rest of this semester.
-
02/25: The requirement for Project #3 is updated.
-
02/25: The grades for Project #2 are available.
-
02/25: The due date for Reading #1 is extended to next Monday - 03/01.
-
02/24: Here are several issues you may
want to know regarding project work
-
02/23: If you haven't registered into our Yahoo email-list, please do so
ASAP to avoid missing important notices.
-
02/16: Happy President's Day!
-
02/09: The Helloworld client and server programs I mentioned today may
be a good start for implementing a web client and server, so please do
it first and we will cover the topic of socket programming with Java on
02/11.
-
02/09: Thinking
in Java (2nd Edition) has been added in the references section.
It is the best book about Java I have ever seen.
-
02/06: Norman Vasquez has set up an excellent tutorial about how to create
a personal webpage on the CS server. If you haven't figured it out yourself,
please refer to http://www-cs.ccny.cuny.edu/~vasq2042/howtounix.html.
-
02/03: Project #1 will be due on 02/09. Students are required to demonstrate
their work during the class..
-
01/26: An email-list has been set up. If you didn't receive invitation
or welcome email, please go to http://groups.yahoo.com/group/csc31800-ccny/
to join.
|
Grades
Lastest grades
Comments on Project #2
|
Syllabus
|
References
|
Instructor
Jinzhong Niu, jniu at gc.cuny.edu,
212-650-5378
Office Hours: T513, 3:15-4:15pm Monday. NOTE: Making an appointment in
advance is required.
|
Course
Objectives
This course provides advanced CSc/engineering majors with an
understanding of HTTP and Web-based application development. Emphasis of
the course is hands-on training on top of recent software development environment.
A project-based system development work will be an essential component
of the course. Topics include HTTP client/server communication and application
design, Common Gateway Interface (CGI) specification, servlet and Java
Server Page containers, session management, database connectivities, network
security, etc.. Students are required to develop all applications on UNIX
platform; students are strongly encouraged to install Linux on their home
computers as well as install and set up a web server.
|
Textbook
No specific textbook is assigned for this class. Several references
will be set online accessible for the course work.
|
Prerequisites
Good standing in CSc220 Algorithms, CSc212 Data Structures,
CSc221 Software Design Laboratory (or EE259 Programming for EE), and at
least junior standing. Working experiences in C++/Java programming language
are essential. Knowledge of using Unix/Linux programming tools such as
text editors, debugger, and common utilities is plus, but is not required.
|
Exams,
Projects and Grading Policies (Tentative)
We will meet Monday and Wednesday 2:00-03:15, at T513
(Mon) and R5/150 (Wed). See syllabus below for the tentative
schedule. There will be about 5 projects to be done throughout the semester
(counted roughly 60% of your final grade). The project must be demonstrated
under CCNY's Unix environment. There will be two in-class, closed-book
exams (40%) graded by me. Each will cover lecture and reading material
since the previous exam. Dates of these exams will be announced beforehand.
NOTE:
-
The course project work must be carried out in teams of two. Choose a partner
as soon as possible; work with the chosen partner throughout the semester.
Changing partner and/or working alone is unacceptable, except for the case
your partner has disappeared. Instructions to submit each assignment will
be given later. Once again, the programming work must be done individually.
Sharing the source code (including logic) and/or modifying the code to
fabricate and reproduce other versions (beyond team collaboration) is very
seriously treated, and is reported to both CS department and Deans office.
Do not underestimate my reaction resulted from breaking this rule.
-
Two exams will be given in class. You are expected to arrive at the beginning
of the class period, and no extra time will be given for late arrivals.
No make-up exams will be considered for absent students. You must not place
your seat close to other students. Violation or any unfair activity will
be treated as cheating.
|
Computing
Facilities
Both Unix labs (R7/105, R7/106) and PC labs (R7/118, T513)
will be open Monday through Thursday from 11:00AM to 9:00PM, and Friday
and Saturday from 11:00AM to 7:00PM. The computer environment and language
used for this class is Unix based. I will not use Microsoft to meet course
objectives. I rather strongly encourage you to install Linux and start
learning its environment (hundreds of professional software development
tools are free).
To access UNIX
lab remotely, you need first download SSH client for your local platform
and then connect to csultra.engr.ccny.cuny.edu with your
account. For Windows, you may visit http://www.ssh.com/support/downloads/
for the non-commercial version of SSH client program; for Linux, you may
use OpenSSH right away, which is an open source implementation of SSH and
part of standard installation.
|