Special Topics in Software Development : Ruby, Rails, and Ajax
Dr. Venkat Subramaniam
COSC 4397 and COSC 6397
5:30 - 7:00PM MW Spring 2007

Update: The Pragmatic Programmers have kindly agree to give a 50%
discount on the three books we will use in this broad topic course.
You are not required to buy the book for this course.
If you are interested in buying the books at discounted price 
please contact me.

The objective of this course is to bring the students up to speed on the 
current trends in the field of Software Development. Each time this course
is offered, it may focus on different evolving trends. 

For Spring 2007 semester, the focus is on Ruby, Rails, and Ajax.
Ruby is a dynamic agile object-oriented language.  It is popular for
its ease of use and productivity it brings. The Rails framework
allows for rapid development of web applications. It ties
the data model to visual representation and follows some of the good
principles in software development. Ajax is the set of techniques to
bring richness to the web applications. We will introduce frameworks
and tools to build web application using Ruby, Rails, and Ajax.


Pre-requisite:
You must have completed COSC 2320. Must have completed or be currently 
enrolled in COSC 3480.

Topics:

Programming using Ruby
Benefits, strengths, and power of Ruby
Detailed study of the Ruby language
Quick introduction to Web Development
MVC and Web Applications
What is Rails?
Benefits of Rails
Rails fundamentals
Model, control
Active Records
Generators 
Rich client and Web
Ajax support in Rails
Frameworks for Ajax

Projects:
Each student will be part of a group involved in developing an application. 
The application will be build, iteratively and incrementally, using
Ruby, Rails, and Ajax. 

Recommended Books:
Programming Ruby - 2nd Edition by Dave Thomas with Chad Fowler and Andy Hunt
Agile Web Development with Rails by Dave Thomas, David Heinemeier Hansson, Andreas Schwarz, Thomas Fuchs, Leon Breedt, Mike Clark
Pragmatic Ajax by Justin Gehtland, Dion Almaer, Ben Galbraith