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.
Course Objectives
At the conclusion of the CS160
course students will demonstrate their ability to:
-
Implement
functions with greater ease
-
Write
programs of moderate size in C++, using algorithms chosen from several
alternate approaches
-
Use
top-down, step-wise refinement technique in structured programming
methodology to solve problems.
-
Show
understanding of abstraction in programming
-
Have an
understanding of the concepts of classes, objects, attributes, and
methods which are the basic elements of object-oriented programming
-
Write
programs in terms of C++ predefined classes using Standard Library
Templates (STL)
-
Differentiate strengths and weaknesses of different search and sort
algorithms
- Cooperate with partners in developing software systems