IT 432 Web Architecture for Non-Programmers

Winter 2012

Instructor

Dr. Craig Miller
Office: 745 CDM Building, 312-362-5085
Email: cmiller@cs.depaul.edu
Web page: http://facweb.cs.depaul.edu/cmiller
Office Hours: Announced on Web page

Course Meeting

Tuesday 5:45-9:00
CDM 220
Loop Campus

Recommended Texts

Beginning Rails 3 By Cloves Carneiro Jr., Rida Al Barazi. ISBN13: 978-1-4302-2433-4 ISBN10: 1-4302-2433-9

Agile Web Development with Rails (Fourth Edition) by Sam Ruby. ISBN: 978-1-93435-654-8

Useful online references

Overview

Students study the organization of dynamic web applications by designing and creating working systems. Topics cover technologies associated with web applications including object-based data models, HTML/CSS, cookies and AJAX. Covered concepts include the Model, View, Controller (MVC) framework, functional abstraction, sessions, authentication, security threats and development strategies.

Preparation

This course does not require any specific knowledge of programming or web development. However, prior experience with some scripting will be beneficial. Students with no scripting experience are nevertheless encouraged to take the course with the understanding that learning scripting basics may take extra time and practice.

This course is not recommended for students with extensive programming experience. A substantive amount of class time will include coverage of basic programming concepts (e.g. variables, assignment statements, if statements).

Goals

By the end of the quarter, students will be able to:

Tentative Projects

Grade Determination

25% (50 points) Individual projects
25% (50 points) Team projects
10% (20 points) Midterm take-home quiz
30% (60 points) Final exam
10% (20 points) Individual contribution to class and team projects

The score for individual contribution to class and team projects is based on contributions to class activities, documented contributions in team reports, observed team activities (in class, email or group message boards) and team member reports at the end of the quarter.

At the end of the quarter every student is expected to submit a completed evaluation form for each group member.

Team presentations occur in the last week of class. All students must contribute to the presentation, although all members do not need to be physically present for the presentation.

Team projects will generally be completed in groups of three, four or five. To form groups, students review designs from the individual project and submit preferences to work on them. Groups will then be formed based on the preferences. Most groups will consist of students from both the on-campus section and the online section. Some class time will be used to coordinate among group members. When possible, online members are encouraged to communicate with the in-class groups using collaborative tools such as Skype and chat programs.

All group members are jointly responsible for the entire assignment, although the group may assign primary roles to each group member. Generally, each group member will receive the same score on each project. However, in some cases, additional credit may go to those who make an exceptional contribution to a project and reduced credit to those who contribute little to a project. Any adjustement will be based on a variety of indications including group participation in class, contribution summaries in reports, and student feedback at the end of the quarter.

Students receiving more than 90% of possible points are guaranteed at least an A-, more than 80% at least a B-, more than 70% at least a C-, and more than 60% at least a D.

Policies

Students are responsible for all material presented in class by either attending class or viewing the content presented online.

Tests and quizzes can be made up with a serious documented excuse (e.g. illness, death in the family) and must be arranged as soon as possible. Arrangements involving other excuses require prior permission from the instructor.

Late assignments will be accepted without penalty until 2pm the day following the due date. Assignments turned in later than 2pm the day following the due date will not be accepted.

Additional assignments for extra credit will not be offered.

All grade challenges must be submitted in writing and include an explanation why the given score or grade should be reconsidered.

School policies on instructor evaluation, email, plagiarism and incompletes.

Tentative Schedule

Week Topic Text Reading Assignment
Jan 3 Course overview, web concepts, Rails installation Ch. 1, 2, 3  
Jan 10 Scripting examples for MVC components Ch. 4; pp. 105-110 Starter Project; Lab Reserved (7:30)
Jan 17 Review scaffold customization; Application design; Multiple table overview Ch. 5 Individual Web Application
Jan 24 Ruby overview, Controller Actions, Search Appendix A, Ch. 6  
Jan 31 Midterm quiz   Individual Design
Feb 7 Sessions and Authentication pp. 115-118, Ch. 7  
Feb 14 Authorization Ch. 7 Midterm quiz
Feb 21 Nested resources, Comprehensive example and file uploading Ch. 7, Class notes Preliminary Team Project; Lab Reserved (7:30)
Feb 28 File uploading, Deployment, Ajax Class notes and Ch. 8  
Mar 6 Presentations, Deployment and caching, Security, Other frameworks Class notes and online references Final Team Project
Mar 13     Final Exam