An introduction to techniques and building blocks for organizing large programs. Topics include: modules, abstract data types, recursion, algorithmic efficiency, and the use and implementation of standard data structures and algorithms, such as lists, trees, graphs, stacks, queues, priority queues, tables, sorting, and searching. Students become familiar with these concepts through weekly programming assignments using the Java programming language.
To enroll in CS 230, students need an explicit authorization of concept mastery from faculty of one of the following courses CS 111, CS 111M, CS 111X, or CS 112; or have taken CS 200. Students who did not take CS 111 or equivalent at Wellesley complete a placement questionnaire.
Units: 1
Max Enrollment: 24
Prerequisites: One of the following (CS 111, CS 111M, CS 111X) or CS 112, or CS 200; or permission of the instructor.
Distribution Requirements: MM - Mathematical Modeling and Problem Solving
Typical Periods Offered: Spring; Fall
Semesters Offered this Academic Year: Fall; Spring
Notes: Does not fulfill the laboratory requirement.