|
Description Syllabus Policies Quizzes/Homework Grading
This page was last accessed on 02/21/2014
Lectures are held on Tuesday and Wednesday in R201 from
10:00am to 10:50am
Labs are on Friday in S210 from 10:00am to 11:50am
As stated in my general course policies, attendance is mandatory for all lectures and labs. Email me when you foresee yourself to be absent. If you miss a lab, you will receive a 0 grade for that assignment. Be sure to read the entire document for all relevant policies that apply to this course.
This course is an introduction to the development, using various technologies, of Web sites of varying complexity and functionality from simple Web pages and forms to a data-driven commercial Web site capable of secure e-commerce transactions. Topics covered include HTTP, HTML, CSS, Java servlets, Java Server Pages (JSP), JavaScript, AJAX, jQuery, web services, and security.
You can use the following list of detailed Daily Learning Objectives as a study guide throughout the course.
CS-2852 - that implies a good degree of proficiency in Java.
There are many different technologies that can be used for server-side development; many continue to evolve and displace others, although there seems to be no dominant approach. In this course, you'll be introduced to the Java servlet-based approach. Many of the concepts apply universally to web app development.
The textbook is available as a Kindle ebook. It covers, to some depth, the structure and configuration of Java-based servlets, which comprise those parts of a dynamic web application that reside and execute on a Tomcat-based web server. It does not cover the technologies (HTML, CSS, JavaScript, the DOM) that address the client (i.e. browser) side of web application development.
There is no single textbook that can adequately cover the broad span of all the technologies that you must ultimately master in order to become proficient at web application development. However, much is available online, so we'll be making use of online resources to provide supplemental coverage of browser-side topics.
Available as Kindle ebooks, these textbooks present good introductions to HTML5 and JavaScript/jQuery, with plenty of examples and thorough explanation of key concepts.
You'll need both Chrome and Firefox in this course. Chrome has really a really nice JavaScript debugger. Firefox can be augmented with a decent debugger as well - Firebug - as well as an HTML Validator.
Here are a number of useful links to programs and utilities that we'll be using in this course:
Tools and Utilities:
References:
Week | Day | Topic | Reading | Lab |
1 |
T | Course Introduction | Install/update the latest version of Google Chrome Install/update Firefox, along with theFirebug and HTML Validator add-ons |
Lab 1: Simple Web Server Demo due before start of Lab 2! Submission files due in Blackboard by 10am day of Lab 2. |
W | Foundations of the www |
Textbook: ch 1
Sample Code: ServerApp.zip |
||
2 |
T |
Introductory HTML HTML elements: headers, metadata, block elements vs. inline elements, list elements, table elements, <div> and <span> elements, attributes Sample code: HTML documents |
HTML Reference HTML Introduction through HTML Layout |
Lab 2: Static web page authoring using
HTML and CSS Submission files due in Blackboard by 10am day of Lab 3. Quiz 1: WWW foundations, |
W | The Document Object Model (DOM) |
DOM Reference: DOM Home, DOM Nodes
CSS Reference |
||
3 |
T |
Intro to client-side scripting:
Javascript Basic language elements Sample code: demo.html |
wiki:
JavaScript Intro
JavaScript Guide: |
Lab 3: JavaScript
Demo during Lab 4! Submission files due in Blackboard by 10am day of Lab 4. Quiz 2: HTML and CSS |
W |
JavaScript: Functions and Objects The Browser Object Model (BOM) JavaScript and the DOM: Sample code:
Javascript examples |
JavaScript Guide: Chapters 8-10 W3Schools DOM Reference: Mozilla's DOM Reference |
||
4 | T | User input elements & scripting |
HTML Reference HTML Forms
DOM Reference: |
Lab 4: DOM
Scripting and Event Handling Demo during Lab 5! Submission files due in Blackboard by 10am day of Lab 5. Quiz 3: JavaScript fundamentals |
W |
Layout and positioning with CSS Sample code: LayoutDemo.html |
w3schools CSS Reference: CSS Positioning |
||
5 | T |
Introductory jQuery Sample code: jQDemo.html |
jQuery Basics |
Lab 5: jQuery Demo during Lab 6! Submission files due in Blackboard by 10am day of Lab 6.
Online Quiz 4: Dynamic HTML with JavaScript |
W | jQuery, continued | |||
6 | T |
The life of a Servlet: Introduction to dynamic web applications using Servlets and the Tomcat Container Request and Response structures |
J2EE Eclipse and Tomcat
installation Review: HTTP Protocol Specification Textbook: ch 1, 2, 3 Java EE Javadoc (includes Servlet API's) |
Lab 6: Dynamic web
app with Java servlets
Demo (30% of lab grade) of working J2EE Eclipse/Tomcat due
during lab. Quiz 5: jQuery DOM scripting |
W |
The Deployment Descriptor Form data as Request parameters
Sample code: Phone.html More on Form elements & scripting |
|||
7 | T |
Threading and Sessions Servlet and Context Attributes |
Textbook: ch 4,5,6 |
Lab 7: Maintaining State with
Sessions Submission files due in Blackboard by 10am day of Lab 8. Deployment to sapphire.msoe.edu due by 8am day of Lab 8, with demo during Lab 8. |
W | Maintaining Conversational State with Sessions and Cookies | |||
8 | T |
Java Server Pages Sample code: shopper.zip |
Textbook: ch 7, 8 |
Lab 8: Java Server Pages Submission files due in Blackboard by 10am day of Lab 9. Deployment to sapphire.msoe.edu due by 8am day of Lab 9, with demo during Lab 9. Quiz 6: Deployment descriptor, servlet and context attributes, threading and sessions |
W |
JSP, continued Forwarding
Requests to JSP's |
|||
9 | T |
Ajax
|
Sample code: AjaxIntro.zip |
Lab 9: Ajax-based web services Submission files due in Blackboard by 10am Friday of W10. Demos due by end of W10 lab. No deployment to sapphire is required. Quiz 7: JSP, request attributes, request dispatching |
W | Ajax with jQuery |
Live site: http://sapphire.msoe.edu:8080/AjaxIntro Sample code: StudentServlet.zip |
||
10 | T |
Web app
deployment revisited: Security Security continued: custom login pages |
Textbook: ch 13, 14
Sample code: SecureApp.zip |
Course Outcomes Quiz 8: Ajax, XML, and JSON |
W |
HTML5: Drawing using the Canvas | Sample code:
CanvasDemo.html Sample code: GeolocationDemo.html Sample code: |
||
11 |
Final Exam 8:00-10:00am Wednesday Feb 26, 2014 R201 |
Quizzes will be given generally each week. No make-up quizzes will be given.
The following course policies apply to this course.
Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.
Labs | 40% |
Quizzes | 30% |
Final | 30% |