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
Tuesday 5:45-9:00
CDM 220
Loop Campus
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
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.
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).
By the end of the quarter, students will be able to:
| 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.
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.
| 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 |