CS/CSL 234. Programming Methodologies

A study of several modern approaches to practical software development at both a high and low level of abstraction.  Students will become familiar with the Client-Server and Event-Driven models of software design, with elementary design patterns such as Adapter and Model-View-Controller that support these models and with techniques such as test-driven design and refactoring that aid in the implementation of these ideas.  The course is primarily project-based and includes three lecture hours and one two-hour laboratory session each week.

Offered: Spring
Credits: 4
Prerequisite: CS 132