The history and application of computers with a consideration of their possibilities and limitations. Special emphasis is given to practical applications of computers, such as word processing, electronic spreadsheet, graphics, and data management. The syntax and semantics of elementary Pascal. The emphasis is upon the writing of structural programs that are correct, general, readable, and modular. Included are the maintenance of sequential and random access files, sorting and the use of subprograms.
Emphasis is placed upon the development of portable programs.
An introduction to data structures with a consideration of the relationship between the choice of a data structure and the algorithm. An introduction to the efficiency of algorithms, using sort procedures as examples of more or less efficient algorithms. Data representation and arithmetic. A study of lists, trees, graphs, tables, etc., and the algorithms associated with these data structures. Applications of data structures to problems of searching, sorting, memory management, and pattern matching.