CS 261: Data Structures




POLICIES
SCHEDULE
ASSIGNMENTS
RESOURCES


Course Description
This course covers some of general-purpose data structures and algorithms, with a focused software development in C. Topics include time complexity analysis, vectors, lists, queues, trees, heaps, hash tables maps, and graphs.


Official Course Catalog Description
Complexity analysis. Approximation methods. Trees and graphs. File processing. Binary search trees. Hashing. Storage management. Lec/rec. PREREQS: CS 162 and MATH 231.


Prerequisites
CS 162 and MATH 231. Students will be expected to have basic programming skills, and some prior experience with Unix.


Recommended reading
C Pocket Reference, by Peter Prinz and Ulla Kirch-Prinz, O'Reilly Media, Inc., November 2002

Other recommended reading
Additional readings, including lecture notes, are posted on the class website.


Course Learning Objectives
At the completion of the course, students will be able to...
  • Describe the properties, interfaces, and behaviors of basic abstract data types, such as collection, bag, indexed collection, sorted collection, stack, and queue.

  • Read an algorithm or program code segment that contains iterative constructs and analyze the asymptotic time complexity of the algorithm or code segment.

  • State the asymptotic time complexity of the fundamental operations associated with a variety of data structures, such as vector, linked list, tree, and heap.

  • Recall the space utilization of common data structures in terms of the long-term storage needed to maintain the structure, as well as the short-term memory requirements of fundamental operations, such as sorting.

  • Design and implement general-purpose, reusable data structures that implement one or more abstractions.

  • Compare and contrast the operation of common data structures (such as linear structures, priority queues, tree structures, hash tables, maps, and graphs) in terms of time complexity, space utilization, and the abstract data types they implement.


Communication
Class mailing list cs261-001-sp18@ENGR.ORST.EDU and Canvas. Please follow discussions on Canvas, since they might have already addressed your questions.


Grading
Your grades will be based on programming assignments, worksheets, mid-term exams, and the final exam. Please see class policies for more details.


Students with Disabilities
Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.


Student Conduct
Link to the Statement of Expectations for Student Conduct and Community Standards