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
Wednesday 5:45-9:00
CDM 200 (but verify with CampusConnect)
Loop Campus
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.
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.
By the end of the quarter, students will be able to:
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.
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.
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 |