CGS4854 Section 01
Web Site Construction and Management
Spring 2013

Office
Room: ECS 316
Phone: (305) 348-3329 (FIU-D-DAY)
Regular mail: My mailbox is in the ECS building, 3rd floor, Computer Science, room 354
Office Hours
I have two types of office hours: general and advising. Everyone may see me during either type of hours, but advising students will be given priority during advising hours. All office hours are handled on a walk-in basis.
 
Advising
General
Mon
 
3:30-4:50pm; 6:30-7:40pm
Tue
10:00pm-3:00pm (1/15 only)
 
Wed
 
3:30-4:50pm; 6:30-7:40pm
Thu
12:00pm-5:00pm (except 1/17)
 
Internet Information
E-mail: downeyt
  At Least Five Extra Credit Assignments
Weight One point of extra credit each (possibly more)
  Four Homework Assignments
Weight 12.5 points each
  Three ExamsFinal Exam
Weight 40 points each 80 points
Scoring Do not take final exam and count lowest exam score twice
-or-
Take final exam and drop lowest exam score. If you take the final exam, its grade will be used.
Grading Scale
Scale A: 189; A-: 180.5; B+: 172; B: 163.5; B-: 155; C+: 146.5; C: 138; C-: 129.5; D+: 121; D: 112.5; D-: 104
Text
Guide to Web Development with Java: Understanding Website Creation
Downey, Tim
ISBN: 978-1447124429
On-line References
HTML Reference
Apache Reference
Tomcat Reference
CSS 1 Reference
CSS 2 Reference
Java API
Java Servlet and Servlet HTTP API
Room and Time
ECS 145 MW 2:00 - 3:15pm

Special Dates
No class: Monday, January 21; Monday, March 11; Wednesday, March 13 Drop Date: Monday, March 18

Attendance I recommend that you attend every class. Those who attend class have a better chance of passing the course.

Homework Policy Working together on homework is allowed. Please form study groups and solve all the problems. Review the solutions so you are familiar with all the concepts. Homework will not be graded, but a quiz will be given on each homework assignment. The quiz will contain questions that are similar (if not identical) to the homework questions.

Prerequisites

Things you should already know

Course Content

  1. Accessing School Resources
    1. FTP
    2. Telnet
    3. MySQL
    4. Uploading HW
    5. Mailing List
  2. Simple HTML
    1. HTML - basic codes, anchors, paragraphs, and line breaks
  3. Configuring a web server
    1. Configuring and starting the Apache server
    2. TCP/IP, IP addresses, Domain Names, MIME, Daemons
    3. Creating a Web site on ocelot
  4. Tomcat
    1. Access Restriction
    2. web.xml
    3. Web Application
  5. MIME Types
  6. Simple JSP
    1. Configuring the Apache server with Tomcat
    2. HTML Forms - form tag, text elements, submit and reset buttons.
    3. Using the Query String to pass data
    4. JSP - accessing parameters
    5. Initializing form elements
  7. Multiple JSP
    1. Sending Data to Another JSP
    2. Sending Data Back using Hidden Fields
    3. Sending Data to Different Pages
    4. Using a Controller JSP
    5. Using a Servlet Controller
    6. Tomcat Servlet Mapping
  8. Servlets and MVC
    1. Using a Bean
    2. Validation by Using Default Values
    3. Validation by Informing the User
    4. Using a Session to pass data to JSPs
    5. Using Java Standard Tag Library to add Looping to a JSP
    6. Persist Data to a Database Server
  9. Using CGI
    1. Query String for GET Requests
    2. Content Length for POST requests
  10. Debugging Servlets
    1. NetBeans
    2. Server Logs
  11. More HTML
    1. Lists
    2. Tables
    3. Images
  12. Cascading Style Sheets
    1. Colors
    2. Text Attributes
    3. Fonts
    4. Margins
    5. Borders
  13. More Form Elements
    1. Radio Groups
    2. Checkboxes
    3. Select Lists
    4. Textareas
    5. Password
    6. Initializing Form Elements
    7. Saving Data from Complex Form Elements
  14. Advanced Web Server Configuration
    1. Access controls, Log files
    2. Aliases, Scripting, Log Files, Connection Types, Negotiation, Indexes
    3. SSI
  15. Cookies
    1. Identify User
    2. Retrieve and display User Data from a database
  16. Additional topics as time allows
    1. Shopping Cart
    2. Request Headers, Response Headers, Status Codes
      1. Distinguishing Browsers
      2. Recognizing Browser Preferences: Accept, Accept Language, Accept Encoding
      3. Content Type
      4. Status Codes
    3. Java Mail - Adding Email Notification to a web application
    4. Model 1 Architectures Using Java
      1. PERL style applications
      2. Servlet Only
      3. Limitations of Servlets
    5. PHP style applications
      1. JSP Only
      2. Limitations of JSPs.
    6. Tomcat
      1. JDBC Connection Pooling
      2. Contexts

In a nutshell, you will learn about both sides of the web - the browser side and the server side. You will learn enough HTML and CSS to create web pages that send data to the server and display the response. On the server side, you will create dynamic Java programs that will receive data from the browser, process the data, and send a response to the browser. You will also learn how to configure a web server. You will run your own copy of a web server and investigate the how to restrict access to your server. This course serves as an introduction to many topics. Hopefully, you will be inspired to explore many of these topics in more depth.

Course Objectives