Software Design

CSC 223
Grinnell College
Fall 2007
MWF 1:15-2:05, Science 3819
Instructor: Janet Davis (office hours as posted; contact me)
Teaching assistant: Christine Wang (office hours TBA;


About this course

This course is an introduction to software design for those who already have a year or more of experience programming in a variety of paradigms. The learning goals for the course are as follows:

Is this course for me?


Seriously, this course has as a prerequisite a grade of C or better in CSC 152 or CSC 153. I expect you to be reasonably comfortable programming in Java so that we can consider higher-level design principles and so that you are prepared to learn a new object-oriented language (Python).

This course fulfills the requirement to complete CSC 223 or 362 as part of the Computer Science major. It is highly recommended for those who intend to seek a career in or related to software development (and everyone else, too).


All of our textbooks are available through the Grinnell College Bookstore, the Safari online subscription service,  and your favorite online booksellers. You can find more information on the resources page.


Janet Davis (

Created July 23, 2007
Last revised December 12, 2007