Consideration of logical and physical structures of both programs and data. Topics include arrays, lists, trees, searching, sorting, file management, and their application to problem solving. Students will be expected to complete a variety of computer programs in a high-level language. Systems Software and Operating Systems. The influence of computer architecture on these issues is also discussed.
Data structures their usefulness in algorithm construction and their efficient implementation.
Theoretical results and programming techniques such as data abstraction and modularity are emphasized. CIS 307 or 544. Automata and Formal Languages. Types of grammars. Finite automata and regular languages.