Syllabus      Schedule       Resources


Syllabus

SWE 432

Design and Implementation of Software for the Web

Fall 2008


Office: S&T II 435

Email:jbaldo@gmu.edu

Class Hours: Monday 4:30 - 7:10, Enterprise Hall 176

Prerequisite: Math 125 and CS 421

            Office Hours: Anytime electronically or by appointment 


TEXTS:

         Designing Web Usability, Nielsen, New Riders Publishing, 2000, ISBN: 1-56205-810-X. Amazon New Riders Errors in text

         Programming the World Wide Web, Sebesta, Addison-Wesley, 2002, third edition. Amazon

         Reference books:

o    HTML 4 for the World Wide Web, Castro, Peachpit Press.

o    Java Gently, Bishop, Addison-Wesley.

OBJECTIVE:

This course teaches students how to develop software for web applications. The concepts of client-server computing, theories of usable graphical user interfaces, and models for web-based information retrieval and processing are covered. In the past few years, the way software is built has been rapidly changing. As use of the world wide web has shifted from information presentation to information gathering to direct customer sales (e-commerce) and to business-to-business e-commerce (b2b), the amount and complexity of software has steadily been increasing. At the same time, new models of programming and new technology for designing and developing the software has made this complex software easier to build. As a result, there are many opportunities for personnel that have a light background in Computer Science theory, but a solid level of knowledge of software and web-based technology. Thus, the topic of this course is of interest to and accessible to students in a wide variety of specializations.

CONTENT:

SWE 432 covers some of the topics related to the exciting new programming models that are used to support web and e-commerce applications. We will be studying the software design, interface design, and development side of web applications. Programming skills are required and students are expected to learn HTML on their own. The class will be very practical (how to build things) and require several small programming assignments.

 

COURSE OUTCOMES:

Upon completion of this course, students should be able to:

  • Understand how to design usable software interfaces and implement them on the web
  • Understand how to build software that accepts information from users across the web and returns data to the user
  • Understand how to interact with database engines to store and retrieve information
  • Understand and acquire basic skills in utilzing the following technologies for designing and implementing web software: HTML, CGI programming, Java, Java applets, Javascripts, and Java servlets

READING:

We will read from the texts, various sources on the web, and transparencies that will be made available on the web site. The schedule for the readings are given on the schedule web page.

MAKEUPS:

Unless arrangements are worked out in advance, missed assignments cannot be made up, and 10% per week will be deducted for late submissions. I understand that your job may occasionally take you out of town; so does mine. If you are going to be forced to miss class on the day something is due, let me know ahead of time by email or in writing.

HOMEWORKS:

A number of homework assignments will be given. I will make the assignment available on the class web site and discuss each in class. You will submit your solutions by placing them on your web sites. You should submit links to executable versions of programs, but may not post source files. Posting program source on your website will be considered an honor code violation! Be sure that you are on the class mailing list, as refinements and hints for the assignments will be sent through email. Homeworks must be submitted before class on the day they are due. Late submissions will be assessed a 10% penalty per class meeting, and you must inform the professor and TA by email when a late assignment is ready for grading. All assignments must be submitted before final exams start and will not be graded thereafter.

IN-CLASS COMPUTERS AND COMMUNICATION:

Phone calls, text messages, instant messages, email, and general web surfing are not allowed during class time. Computers may only be used to follow the material in class. Violators will have their devices confiscated or asked to leave the room.

HONOR CODE STATEMENT:

As with all GMU courses, SWE 432 is governed by the GMU Honor Code. In this course, all assignments, exams, and project submissions carry with them an implicit statement that it is the sole work of the author, unless joint work is explicitly authorized. Help may be obtained from the instructor or other students to understand the description of the problem and any technology, but the solution, particularly the design portion, must be the student's own work. If joint work is authorized, all contributing students must be listed on the submission. Any deviation from this is considered an Honor Code violation, and as a minimum, will result in failure of the submission and as a maximum, failure of the class.

GRADING POLICIES:

         There will be several computer assignments (total 40%).

         Each class (except the first one) will have a quiz. The lowest three quizzes will be dropped, thus you can miss up to three quizzes. The 10 quizzes with the highest scores will be used to calculate the final grade (10 * 3% = 30%).

         There will be a closed book, in-class, comprehensive final exam (30%).

 


Schedule

Design and Implementation of Software for the Web

Fall 2008


Note: N-Ch x means chapter x in Nielsen; S-Ch x means chapter x in Sebesta

Meeting

Date

Topics

Readings

Handouts

Web Resources

Quizzes

Homework

I. Web Site Usability

1

8/25

Usability Overview

N-Ch 1, S-Ch 1
Slides:
Intro 
Slides:
Overview
Slides:
Responsibilities
Internet history

Hwk 1 assigned

9/1

Labor Day/No Class

2

9/8

Menus, Forms, Pages

N-Ch 2:pg 18-42
Slides:
Menus
Slides:
Error Msgs

Quiz 1
Hwk 2 assigned
Hwk 2 notes

3

9/15

GUIs, Page design

N-Ch 2:pg 42-97
Slides:
Hyper
Slides:
GUIs

Quiz 2
Hwk 3 assigned

4

9/22

Widgets, Content design

N-Ch 3
Slides:
Widgets

Always remember
Focusing in HTML

Quiz 3

5

9/29

Color, Site design

N-Ch 4
Slides:
Color
Slides:
Ch 4
Slides:
Science

Dilbert: [1] [2]
Color wheel
Unix-Vim

Quiz 4
Hwk 4 assigned

II. Client Side Programming

6

10/6

Web Page Development
Client Side Events
(HTML, CSS, JS)

S-Ch 5, 6
(2, 3, 4 as background)
Slides:
HTML Examples
JS Examples

W3 Web Schools
HTML References
Advanced HTML
HTML editor
DHTML and CSS
JavaScripts

Quiz 5
Hwk 5 assigned

7 10/13 Form Handling
(PHP)
S-12.1-12.10
Slides:
PHP (no IE)
PHP Examples
PHP deployment Quiz 6
Hwk 6 assigned
III. Server Side Programming
8 10/20 Java & Client-Server
Programming Model
Web Applications
S-Appendix A
Slides:
Java I
Slides:
Java II
Fraction:
java out
Slides:
Servlets
Java origins
Java style
Eclipse intro
Quiz 7
Hwk 7 assigned
9 10/27 Java Servlets S-Ch 1.4, 1.7, 11.1-11.3
Slides:
Servlets (cont.)
Examples
Servlet deployment
Tomcat installation
Servlets
eclipse.org
Quiz 8
Hwk 8 assigned
10 11/3 Servlets S-Ch 11.4
Slides:
Sessions
Slides:
Deploying
Quiz 9
11 11/10 Java Server Pages S-Ch 11.5-11.6
Slides:
Intro
JSP Tutorial
Examples
JSP
JSP installation
JSP debugging
Quiz 10
Hwk 9 assigned
12 11/17 Java Server Pages
Design
Slides: JSP Maint
Slides:
J2EE Design
J2EE Tutorial
J2EE X .NET
Quiz 11
Hwk 10 assigned
13 11/24 XML and JDBC S-Ch 8,
14.1-14.4, 14.7
Slides:
XML
Slides:
JDBC
XML
XML Schema
Quiz 12
Hwk 11 assigned
IV. Web Site Management
14 12/1 Web Application Security Slides: Security Quiz 13
15 12/8 No class: Reading Day
16 12/15 Final Exam 4:30 PM - 7:10 PM

 

word to html






 converter