Explores the principles of software design in detail, with an emphasis on software engineering aspects. Includes exposure of software lifecycle activities including design, coding, testing, debugging, and maintenance, highlighting how design affects these activities. Peer reviews, designing for software reuse, CASE tools, and writing software to specifications are also covered. (3H,3C)
Prerequisites: A grade of C or better required in CS 3114.
Note: CS majors must achieve a grade of C or better in CS 2104 before attempting CS 3704.
Taught By: Osman Balci