Web Programming
COSC 436/592
(5:30-6:45, Tues PH520, Thurs PH301)
Instructor: Matt
Evett ; Dept. Computer Science; room 512E Pray-Harrold
Tel: 734-487-1227; e-mail: mevett@emich.edu;
http://www.emunix.emich.edu/~evett
Office Hours: See my page for hours
I try to maintain an "open door policy": you are welcome to drop by
at times other than office hours, and generally I'll be able to talk to you, but
sometimes I may be too busy.
GRADER: The grader for our class is Divya Mandha (dmandha@emich.edu) She will be helping me with grading, so be nice to her if you see her in the hall!
Make sure you are registered for the online component of this course at webct2.emich.edu. There are announcements there for the assignments!!
This is the official mechanism for distributing information about the
course. All students in the class are required to attend to webct2.
Programming Environment
This is a project-oriented, upper-division level course. We will be doing a
fair amount of programming in a Linux environment, using different software
tools, including: Java, Perl, PHP, MySQL, Apache, etc. We will be learning how
to install Linux on your PC, allowing you to start your PC either in Windows
or Linux.
For Java coding, I would suggest using one of the many free commercial IDEs,
such as JBuilder, JavaBeans,
SunONE Studio (formerly Forte) (Sun's
download page is here), etc., or Eclipse.
The department also maintains a Linux box that you will be provided an account
on, so that you can complete the assignments even if you don't have a PC at
home, and so that you will be able to demo your assignments here.
Lecture Notes
- Source
code from Sebesta's book (and here's the
source zipped up)
- Introduction to HTML and Cascading
Style Sheets
- Lecture slides for chapter 3 (HTML).
- Lecture slides for chapter 4 (javascript).
- Lecture slides for chapter 5 (html & javascript)
- Lecture slides for chapter 6 (dynamic html via
javascript)
- Javascript
events
- Dr. Sverdlik's Javascript examples
- Learning Java. All the code from the lectures can be browsed here,
or you can download all of it here
and here.
- What to do if you are having
trouble running your applets.
- Here is an example of Perl session, illustrating some of the basic datatypes in Perl.
- Perl Lecture 1.
- Perl Lecture 1.1.
- Perl regular expressions.
- Arrays as arguments. A small program demonstrating how arrays are passed as arguments to subroutines.
- The Perl Debugger
- How to install Linux on your
PC
- An example program that
uses the Comparable Interface.
- An example MySQL session on
a linux machine.
- Installing MySQL.
- Source Code from Sebesta, et al.
This is taken from the textbook.
- Running servlets and
JSPs under Linux.
- Integrating servlets and
JDBC. (This is very much under construction!)
- Java code for calculating public
cryptography keys (JBuilder project). And here's a nice arbitrary
precision calculator for use in calculating those large exponents.
- Source code from
Eberhart's Java Tools.
Assignments
Submitting assignments:
To submit assignments, use the "drop boxes" associated with each assignment at the courseware site: webct2.emich.edu.
In addition, you should hand in a hardcopy of your code, at the beginning of
class on the due date.
The assignments:
- A web page using frames and style sheets,
due Tuesday, January 27.
- A dynamic page showing a bridge hand,
due Thursday, February 5
- A few simple Perl scripts, due Thursday, ??.
- A Simple Bookstore, due Thursday, ??
- Retail Site Using Databases, due Thursday,
??
- First Java assignment (MouseBoxes),
due ???.