Web Programming

COSC 436/540

Instructor: Matt Evett ; Dept. Computer Science; room 512E Pray-Harrold
Tel: 734-487-1227; e-mail: mevett AT-sign emich.edu; http://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.

This is an archival page.
Make sure you are registered for the online component of this course at canvas.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 Canvas.

Syllabus for COSC436/540

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, Javascript, PHP, MySQL, etc. We will be learning how to use a Linux environment in Amazon Web Services (AWS), where you will establish a basic web site.  You will also want to install web server software on your own PC.

For style requirements, please see here.

Lecture Notes

  1. Source code from Sebesta's book (and here's the source zipped up)
  2. Introduction to HTML and Cascading Style Sheets
  3. Lecture slides for chapter 3 (HTML).
  4. Lecture slides for chapter 4 (javascript).
  5. Lecture slides for chapter 5 (html & javascript)
  6. Lecture slides for chapter 6 (dynamic html via javascript)
  7. Javascript events
  8. Dr. Sverdlik's Javascript examples
  9. Learning Java. All the code from the lectures can be browsed here, or you can download all of it here and here.
  10. What to do if you are having trouble running your applets.
  11. Here is an example of Perl session, illustrating some of the basic datatypes in Perl.
  12. Perl Lecture 1.
  13. Perl Lecture 1.1.
  14. Perl regular expressions.
  15. Arrays as arguments. A small program demonstrating how arrays are passed as arguments to subroutines.
  16. The Perl Debugger
  17. How to install Linux on your PC
  18. An example program that uses the Comparable Interface.
  19. An example MySQL session on a linux machine.
  20. Installing MySQL.
  21. Source Code from Sebesta, et al. This is taken from the textbook.
  22. Running servlets and JSPs under Linux.
  23. Integrating servlets and JDBC. (This is very much under construction!)
  24. Java code for calculating public cryptography keys (JBuilder project). And here's a nice arbitrary precision calculator for use in calculating those large exponents.
  25. 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:

  1. A web page using frames and style sheets, due Tuesday, January 27.
  2. A dynamic page showing a bridge hand, due Thursday, February 5
  3. A few simple Perl scripts, due Thursday, ??.
  4. A Simple Bookstore, due Thursday, ??
  5. Retail Site Using Databases, due Thursday, ??
  6. First Java assignment (MouseBoxes), due ???.