CSC 172
Introduction to Algorithms and Data Structures

Fall, 2001

What's this course about?

This course serves several purposes: it's a second course in computer programming; it teaches more of the C++ computer language; and it begins the systematic treatment of algorithms, data structures, and object-oriented programming. First and most simply, you'll get more experience in programming, with larger and more complex programs than you've written before.

Second, most of you studied the C++ language last semester, but didn't get to some of its most important capabilities, such as classes. You'll learn some additional language features this semester, but the emphasis will gradually shift away from language syntax towards design principles that work in any programming language.

Third, we undertake algorithms and data structures as a topic of study in themselves. An algorithm is a method of solving a computational problem, typically embodied in a computer program, but the same algorithm can form the basis of different programs in different languages. A data structure is a way of organizing information (e.g. an array, structure, list, or tree) so that we can find the parts we want easily and efficiently. Object-oriented programming is an approach to programming that has proven extremely useful in writing and modifying large, complex programs; Java, C++, some versions of Scheme, and most other modern programming languages specifically support object-oriented programming.

For more information, see the syllabus.

Last modified: Fri Aug 17 13:17:37 EDT 2001
Stephen Bloch /