To determine if a course is remote, hybrid, or in-person use the catalog search tool to narrow results. Otherwise, when browsing courses, the section indicates teaching mode:
Teaching modes (remote, hybrid, in-person) are subject to change at any point. Please pay close attention when registering. Depending on the timing of a teaching mode change, faculty also may be in contact with students.
This course builds on the programming skills acquired in Computer Science 134. It couples work on program design, analysis, and verification with an introduction to the study of data structures. Data structures capture common ways in which to store and manipulate data, and they are important in the construction of sophisticated computer programs. Students are introduced to some of the most important and frequently used data structures: lists, stacks, queues, trees, hash tables, graphs, and files. Students will be expected to write several programs, ranging from very short programs to more elaborate systems. Emphasis will be placed on the development of clear, modular programs that are easy to read, debug, verify, analyze, and modify.
Format: lecture/conference/laboratory; Lecture content will be through asynchronously viewed video modules. Three scheduled (MWF) course sections will be used for synchronous conference meetings. Two sections will be in-person and one will be remote. There will be 5 scheduled weekly lab sections that will be remote. Students should sign up for the lecture section, one conference, and one lab.
Grading: yes pass/fail option,
no fifth course option
programming and written assignments, quizzes, examinations
CSCI 134 or equivalent; fulfilling the Discrete Mathematics Proficiency requirement is recommended, but not required
if the course is over-enrolled, enrollment will be determined by lottery
This course include regular and substantial problem sets, labs, and/or projects in which quantitative/formal reasoning skills are practiced and evaluated.