As a successor to ENGS 20, this course covers intermediate topics in programming and software design with an emphasis on engineering applications. Students will learn software design principles and basic data structures. Topics covered will include object-oriented design, user interface design, lists, stacks, queues, binary trees, hash tables, and simulation. Students will learn techniques for developing maintainable, extensible, and understandable software.
ENGS 20 or COSC 1 and COSC 10