This course covers some of the general-purpose data structures and algorithms, and software development. It is aimed at helping you understand the reasons for choosing structures or algorithms. Topics covered include managing complexity, abstraction, 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.
CS 162 and MATH 231. Students will be expected to have basic programming skills, and some prior experience with Unix.
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...
There is a class mailing list cs261-001-sp17@ENGR.ORST.EDU established for this course. I will use this e-mail address to send course announcements to the entire class. You may also use this e-mail address to post your course/homework related comments and questions.
Your grades will be based on programming assignments, worksheets, mid-term exams, and the final exam. Please see class policies for more details.
Each student is expected to practice honorable behavior inside and outside the classroom. Details about academic dishonesty and subsequent disciplinary actions can be found at the official website of Student Conduct & Community Standards at the Oregon State University. Please see class policies for more details.