This course provides an introduction to the problem of engineering computational efficiency into programs. Students will learn about classical algorithms (including sorting, searching, and graph traversal), data structures (including stacks, queues, linked lists, trees, hash tables, and graphs), and analysis of program space and time requirements. Students will complete extensive programming exercises that require the application of elementary techniques from software engineering. Class Notes: Sections 2-8 belong to this section. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. Enrollment Requirements: Prerequisites: "C-" or better in (CS 1410 OR EAE 1410) OR AP CS-A score of 5.
Fall 2019, Spring 2019, Fall 2018, Spring 2018, Fall 2017