IT 231 Web Development I

Fall 2011

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

Wednesday 5:45-9:00
CDM 200 (but verify with CampusConnect)
Loop Campus

Text

Agile Web Development with Rails, Fourth Edition by Sam Ruby, Dave Thomas and David Heinemeier Hansson ISBN=10: 1934356549. Make sure you have the fourth edition.

Useful online references

Overview

Students design and develop dynamic web applications. Basic skills in programming, databases and web design are reviewed and developed as needed. As the final project, students create a database-backed web application that supports user login and allows users to post content.

We will use the Ruby on Rails framework for web development in this class.

Preparation

The official course prerequisite is IT 130. Students should be familiar with elementary programming concepts including the use of variables, assignment statements and conditionals (e.g. if statements). Students should also have prior experience with formatting web pages using HTML and CSS.

Goals

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

Tentative Projects

Grade Determination

45% (90 points) Projects
20% (40 points) Midterm exam
35% (70 points) Final exam

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 expected to attend every class. Attendance will be informally kept even though it is not a part of the course grade.

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.

The goal of assignments is to practice the concepts taught in class. You are expected to do your own assignments. However, some collaboration with other students is allowed and even encouraged. The following types of collaboration are allowed:

The following types of collaboration are not allowed:

Engaging in these last two types of collaboration will be considered a violation of the university's policy on academic integrity. Violators will receive a 0 for the corresponding assignment and will be reported as required by the policy.

Late assignments will be accepted up to 3 days late, with a penalty of 10% for each day that is it late. Assignments submitted more than 3 days after 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 Explanations in text (Parts I and III) Worked example in text (Part II) Assignment / Lab / Exam
Sep 7 Course overview, Rails installation, MVC Overview, scaffold creation Ch. 1 - 3 pp. 61 - 67  
Sep 14 Models, validation, ORM and Rails console Ch. 18, pp. 265 - 271 pp. 75-78 Installation with scaffold assignment
Sep 21 Ruby overview, arrays, hashes; ORM and console examples Ch. 4, pp. 274 - 279   ORM scripting assignment
Sep 28 Adding simple controllers and views, layouts, view helpers Revisit Ch. 2, pp. 333 - 335, 349 - 354 pp. 89 - 96 Non-scaffolded components assignment
Oct 5 Review     Midterm exam
Oct 12 Forms, Helpers and Parameters pp. 335 - 339 Ch. 8 Extensive scaffold customization assignment
Oct 19 Relations between data models, migrations pp. 272 - 273, Ch. 23 Ch. 9  
Oct 26 Examples with relations and migrations     Preliminary Project
Nov 2 Session variables, authentication Ch. 20 Ch. 14 Lab
Nov 9 Other frameworks, advanced topics Class notes   Final Project
Nov 16       Final Exam