Prerequisites: CS 010C with a grade of C- or better; CS 111 recommended; or consent of instructor
Description: Explores techniques and skills applicable in developing software solutions to real-life algorithmic problems. Emphasizes systematic and rigorous approaches to problem- solving. Covers the end-to-end solution process including formulating models, choosing appropriate algorithmic tools and data structures, designing algorithms, implementation, and testing. Course is repeatable to a maximum of 4 units.