Course Description
The course teaches principles and practices of collaborative software development. The topics include fundamentals of programming, software design, software development process, and advanced tools in modern software construction. The assignments consist of initially individual and then group projects designing, implementing, and deploying distributed software components interacting through Web-based interfaces. One third of the class time will be used for students to practice technical presentation in various stages of software design. Depending on availability, some projects may involve local industry advisors and use of smart phones.
The instructor encourages participation from non-computer science students. An aim of studying collaborative design is for collaboration among people of different background and interests. The topics, although wide-ranging in scope, are composed of basic concepts and accompanied by hand-on practice for them to be grasped by people who merely want to use the technology. Textbooks and reading material will be accessible through on-line book sites (through university subscription) and provided as handouts.
Current and previous course pages
- Spring 2010 (no longer on-line, see instructor for the class repository)
- Spring 2009