Computer
Science 632H Syllabus
for Fall 2012
Dr.
Carol E. Wolf Office
215
Website:
http://csis.pace.edu/~wolf E-mail:cwolf@pace.edu
Office
Hours: Mondays and Wednesdays, 1:30-3:30. Phone:
212-346-0799
Text: Sam Ruby, Dave Thomas and David Heinemeier Hansson, Agile Web Development with Rails,
Fourth edition, The Pragmatic Programmers, 2011
The text is available in PDF
form from the Pragmatic Programmers’ website, http://www.pragprog.com.
Week |
Topic |
1 |
Lecture:
Three tier applications, Ruby and Rails history Lab:
Install Ruby on Rails on laptops and set up an application using scaffold |
2 |
Lecture:
Ruby language, Lab: Cascading Style Sheets |
3 |
Lecture: Model-View-Controller
paradigm in a Rails project Lab: Validation and seeds |
4 |
Lecture: Controller and ERB Lab: Controller, Views, Forms and Routes |
5 |
Lecture: Database design,
model and migrations Lab: Add an image column and modify views |
6 |
Lecture: More HTML forms Lab: Add radio
buttons, checkboxes and choice boxes to forms |
7 |
Lecture: Controller and routes, more on Ruby Lab: The
home page controller: list and find |
8 |
Lecture: The controller, some Ajax Lab: The manager’s controller: create, update and delete |
9 |
Lecture: Security Lab: Login for the manager |
10 |
Lecture: Sessions Lab: A
shopping cart |
11 |
Lecture:
Testing |
12 |
Lecture:
More on Security |
13 |
Presentations |
Students
are required to do all ten labs. They
are due one week after assignment and will not be counted late until after two
weeks. Students may work ahead. When finished upload the lab assignment to the discussion board on
Blackboard. The final grade will
mainly be based upon a project to be completed over the course of the
semester. This should be a Rails
application with at least two database tables, a cascading style sheet,
security features and a login. It may be
considerably more elaborate. Students
may either work with one partner or alone.
Possible applications could involve sports teams, clubs, bank accounts,
stock portfolios, libraries or some other use that involves a lot of data. Choose realistic data for your database
tables. If possible, students should
demonstrate their final projects in person to the professor.