How do we develop software that solves problems efficiently and reliably? How do we write programs that work correctly and can be refactored and improved over time? This course continues and expands on content from Computer Science I, with a greater focus on theoretical concepts, abstraction, and larger programs. Topics include object-oriented programming, unit testing and refactoring, basic algorithm analysis, searching and sorting, linear data structures (lists, maps, stacks, and queues), trees, and graphs.
Introduction
offering time
Spring 23
Major
Computer Science
Faculty
Thanh-Trung Phan
Category
Exploratory
Course code