I. PROGRAMMING AND SOFTWARE ENGINEERING. Principles of Programming and Software Engineering. Review of Advanced Pascal. Linked Lists. II. PROBLEM-SOLVING TOOLS. Data Abstraction: The Walls. Recursion: The Mirrors. Recursion as a Problem-Solving Tool. Algorithm Efficiency and Sorting. III. PROBLEM SOLVING WITH ABSTRACT DATA TYPES. Stacks. Queues. Tables and Trees. Graphs. Priority Queues and Heaps. IV. ADVANCED TECHNIQUES FOR THE MANAGEMENT OF DATA. Advanced Implementations of the ADT Table. External Methods. APPENDICES. Mathematical Induction. Conditional And, Conditional Or. Turbo Pascal Reserved Words and Standard Identifiers. Turbo Pascal Operators. ASCII Character Codes. Standard Functions. Standard Procedures. Compiler Directives. Glossary.