CGS4854 Section 01
Web Site Construction and Management
Spring 2021

[an error occurred while processing this directive]
  Tutorials
  Tutorial 1 Tutorial 2 Tutorial 3 Tutorial 4 Tutorial 5 Tutorial 6
Date 1/24 2/3 2/17 3/3 3/31 4/14
Weight At least 1 point of extra credit each; up to 3 points each
  Homework
  HW 1 HW 2 HW 3 HW 4 HW 5 HW 6
Date 1/28 2/10 2/24 3/10 4/7 4/21
Weight 10 points each; lowest will be dropped
  Exams
  Exam 1 Exam 2 Exam 3 Exam 4 Final
Date 2/9 3/2 3/30 4/18 Monday, April 25, 5-7pm
Weight 30 points each; lowest will be dropped 60 points; mandatory
Grading Scale
Scale A: 181; A-: 174; B+: 167; B: 161; B-: 154; C+: 147; C: 134; C-: 127; D+: 121; D: 114; D-: 107
Text
Web Development with Java
Using Hibernate, JSPs and Servlets
Downey, Tim
ISBN: 978-1-84628-862-3
On-line References
HTML Reference
Apache Reference
Tomcat Reference
CSS 1 Reference
CSS 2 Reference
Java API
Java Servlet API
Java Servlet Http API
Room and Time
ECS 134 MW 5:00 - 6:15

[an error occurred while processing this directive]

Attendance I recommend that you attend every class. Those who attend class have a better chance of passing the course. I will take attendance during each class.

Tutorials These will be implementations of examples that are covered in the book.

Late Policy for Tutorials Tutorials may not be handed in late. If they are one minute late, then they will not be graded.

Homework The homework asignments will be related. Each one will use details from the previous assignment. You must correct the previous assignment before handing in the succeeding assignment, if you don't want to lose more points for the same errors.

Late Policy for Homework Each homework may be submitted, with penalty, up to one day late. After that time, they will not be accepted. A late homework will lose 10% if it is submitted within 12 hours of the due time. It will lose an additional 10% for if it is handed in within 24 hours.

Working Together on the Homework is NOT ALLOWED. There is a large difference between discussing general aspects of the course and discussing specific aspects of a project. Do not discuss your solution of a problem with others. Do not share your solution with others.

For assignments that are too similar, an Academic Misconduct will be filed with the University. If the student does not have any prior Academic Misconducts, then an informal resolution can be granted which will result in the assignment being graded as a zero or at least one letter grade being deducted from the student's final grade, whichever penalty is more severe.

By registering for this course, all students have agreed to the University's Academic Integrity policy.

CODE OF ACADEMIC INTEGRITY

This Code of Academic Integrity was adopted by the Student Government Association on November 28, 2001 and reflects the values articulated in the Student Code of Standards. Florida International University is a community dedicated to generating and imparting knowledge through excellent teaching and research, the rigorous and respectful exchange of ideas, and community service. All students should respect the right of others to have an equitable opportunity to learn and honestly to demonstrate the quality of their learning. Therefore, all students are expected to adhere to a standard of academic conduct, which demonstrates respect for themselves, their fellow students, and the educational mission of Florida International University.

Pledge

As a student of this university:

All students are deemed by the University to understand that if they are found responsible for academic misconduct, they will be subject to the Academic Misconduct procedures and sanctions, as outlined in the Student Handbook. If you are looking at someone else's code or someone else is looking at your code, then you are working together.

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