Home

Professor

Ronald Metoyer, Ph.D.
metoyer@eecs.oregonstate.edu
Office: 2115 Kelley Engr. Center
Office Hours: M:9-11, Th:3-5
Location: In my office, unless
otherwise posted on the door.

Lectures

M,W,F 12:00-1:00pm

Discussion Forum and Mail Lists

CS 261 Piazza Home

TAs:

Todd Kulesza
kuleszto@eecs.oregonstate.edu
Rec: Th:8:00, W:3:00

Ishneet Dua
duai@eecs.oregonstate.edu
Rec: T: 3:00

Zhangxiang Hu
huz@eecs.oregonstate.edu
Rec: Th: 6pm

Jose Picado
picadolj@eecs.oregonstate.edu
Rec: T:6:00, W: 6:00

Lab Hours

Mon: 5-7pm (Jose)
Tues: 10-12pm (Todd)
Tues: 12-2pm (Ishneet)
Wed: 1-3pm (Ishneet)
Wed: 5-7pm (Todd)
Thurs:10-12(Zhangxiang)
Thurs: 3-5pm (Jose)
Fri: 3-5pm (Zhangziang)

(All lab hours held in KEC 1130 Computer Lab)

Reading


There is no textbook for this class. Instead, we will use a set of class notes provided electronically and for purchase in printed form in the bookstore.

Required Reference The C Programming Language, Kernighan and Ritchie

Official Course Catalog Description


Complexity analysis. Approximation methods. Trees and graphs. File processing. Binary search trees. Hashing. Storage management. ENFORCED PREREQS: CS 162 OTHER PREREQS: MTH 231.

Extended Description


This course covers some of the general-purpose data structures and algorithms. You will implement them as well as understand how to make informed decisions when choosing data structures for your algorithms. Topics covered include managing complexity, abstraction, analysis, vectors, lists, queues, trees, heaps, hash tables maps, and graphs.

Course Learning Objectives


At the completion of this course, students will be able to ...
  1. describe the properties, interfaces, and behaviors of basic abstract data types, such as collection, bag, indexed collection, sorted collection, stack, and queue.
  2. read an algorithm or program code segment that contains iterative constructs and analyze the asymptotic time complexity of the algorithm or code segment.
  3. state the asymptotic time complexity of the fundamental operations associated with a variety of data structures, such as vector, linked list, tree, and heap.
  4. 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.
  5. design and implement general-purpose, reusable data structures that implement one or more abstractions.
  6. 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 .