Graduate Computer Science

CS G107: Program Design Paradigms

This graduate course for students in the MS program introduces modern program design paradigms. It starts with functional program design, introducing the notion of a design recipe. The latter consists of two parts: a task organization (ranging from the description of data to the creation of a test suite) and a data-oriented approach to the organization of programs (ranging from atomic data to self-referential data definitions and functions-as-data). The course then progresses to object-oriented design, explaining how it generalizes and contrasts with functional design. In addition to studying program design, students also practice pair programming and public code review techniques, as found in industry today. STUDENT MUST REGISTER FOR CS G108 LAB IN ORDER TO GET CREDIT FOR THIS COURSE. This course is mandatory for all MS students beginning in Fall 2008.
Credit hours: 4