Description and Topics

Course Overview #

Software Design (SoftDes) is an introductory course in computing that teaches students how to design, write, and maintain software in the Python programming language. SoftDes is not a programming course, but rather a course that explores and teaches the process of software engineering. This includes describing problems and their solutions in a logically precise way, writing well-styled code that clearly communicates the intent behind the code, and analyzing the design, usability, and performance of software.

Thus while much of the day-to-day work of SoftDes involves programming, the course concepts cover a far broader range of ideas. Students will learn how to break a problem down into smaller, more concrete tasks, how to obtain and handle data in an ethical way, how to use version control to maintain and collaborate on code, and how to choose the right software or programming tools for a given task. Of course, students will also learn standard constructs in Python, including basic syntax, data types, common libraries and modules, classes, and object-oriented design.