CSCI 136(F,S) Data Structures and Advanced Programming

This course builds the programming skills acquired in Computer Science 134, placing special emphasis on the software design techniques of modularization and data abstraction. Students are introduced to some of the most important and frequently used data structures: lists, stacks, queues, trees, hash tables, graphs, and files. Other topics covered include analysis of algorithm complexity, program verification, and simulations. The object-oriented language Java is introduced and used to support modularization and abstraction. Programming assignments focus on the design and implementation of algorithms and data structures. The combination of Computer Science 134 and 136 provides a strong background in programming. Evaluation will be based on programming assignments and exams. Prerequisite: Computer Science 134 or equivalent. (Mathematics 251 is recommended, but not required as a prerequisite or corequisite for the course.)

Hour: First Semester: DANYLUKSecond Semester: DANYLUK