Teaches students to implement common data structures and the
algorithms associated with each data structure, through progressively
difficult exercises. Topics include big "O" notation; pointers,
recursion (induction), and dynamic allocation; linked lists and list
processing; stacks, queues, binary trees and binary search trees;
simple sorting techniques and simple search techniques. Students
will gain a working knowledge of the elements of the Java and C
programming languages. Prior experience with Unix is assumed.
An additional competence is gained with a number of important
software development tools, languages, and techniques. Included
are advanced Unix features and utilities such as grep, find,
diff, the shell, and pipes; C programs utilizing I/O, arrays,
pointers, and structures; a scripting language to perform simple
text and file manipulation; and the make utility.