CS 160: Introduction to Software Design and
               Implementation

In this class you will continue to develop the programming skills you learned in CS 150 by learning more elaborate programming technieques and concentrating on how to organize a solution to a problem you are trying to solve.  Computer Science is much more than computer programming.  But many CS educators believe that developing programming skills in a student also help to cultivate skills in such areas as problem  solving, logical thinking, and the understanding of how the computer works.   

Course Description

The first two weeks of the course will be devoted to assessing the overall background of the class and reviewing of the programming concepts and techniques learned in CS 150.  After this introductory period, topics listed in the Topics section below will be covered using lectures, labs, and hands-on exercises.  During the class you are encouraged to bring up questions and participate in discussions throughout the semester. In the last part of the course, you will be paired with a partner to work on a couple of programming projects.  In particular, you will learn the object-oriented programming method, which is used extensively in moder programming.

Course Objectives

At the conclusion of the CS160 course students will demonstrate their ability to: