This structured lab, required in conjunction with CS 1110, allows the student to gain proficiency in computer programming by developing computer solutions to assigned problems. The student is also shown how to use the computer facilities for program development. Three lectures and one two-hour laboratory period every two weeks. This course continues the development and use of Abstract Data Types, such as lists, strings, tables and trees, for storing and retrieving data from memory. It also covers advanced searching and sorting algorithms.
Recursion is central to many of the topics discussed.
Additionally, data structures and algorithms are analyzed for their time and space efficiency. A study of the internal operating structure of computers via in-depth coverage of assembly language programming. Topics covered include addressing techniques, internal storage of data and instructions, machine language instructions, subroutines, macro facilities and the assembly process. A study of the basic logic circuits involved in modern digital computers. Topics include internal processor architecture, decoders, multiplexers, memory structure and state transitions.