Data and Algorithms

CS 260, Fall 2018

Columbia Gorge Community College
Hood River Indian Creek Campus
1730 College Way, Hood River, Oregon

TuTh 3:00–4:50pm, HRC 304
CRN 1092960, 4 credits

Instructor

Robert Surton
rsurton@cgcc.edu

Office hours

TuTh 2:00–3:00pm, Hood River Faculty Office

Course description

Surveys the representation of data such as lists, sets, queues, stacks, directed and undirected graphs, and dictionaries. Surveys algorithms for manipulating that data, and strategies such as brute force, greedy algorithms, divide-and-conquer, decrease-and-conquer, transform-and-conquer, and dynamic programming. Examines the analysis of algorithm complexity, and how to navigate the trade-offs between different data structures and algorithms.

Prerequisite: CS 162. Audit available.

Resources

OpenDSA textbook

Red–black tree tutorial

Learning outcomes

Upon successful completion of this course, students will be able to:

  1. Design solutions to problems requiring complex data structures (combinations of lists, stacks, queues, hash tables, and trees).
  2. Evaluate the engineering properties of various tree representations, including binary search trees, 2-3 trees, red-black trees, B-trees, and AVL trees.
  3. Build and traverse data structures to manage undirected and directed graphs.
  4. Apply recursion as a problem solving technique.
  5. Develop programs using Java. Compare and contrast programs in Java and C++.
  6. Find closed form solutions for simple recurrences using the techniques of substitution, cancellation, and generating functions.

Classroom expectations and policies

This is a work- and discussion-based class, and attendance is required. Your grade will be based on demonstrating your achievement of the course outcomes in class, and therefore participation is the only way to succeed. If you must miss a class, give me as much notice as you can and make a plan with me for how to make up your participation.

My classes are always safe space. The Advocates for Youth define a safe space as:

A place where anyone can relax and be fully self-expressed, without fear of being made to feel uncomfortable, unwelcome, or unsafe on account of biological sex, race/ethnicity, sexual orientation, gender identity or expression, cultural background, age, or physical or mental ability; a place where the rules guard each person's self-respect and dignity and strongly encourage everyone to respect others.

The policies of CGCC also apply.

It is important to me that students come to my classes eager to learn; if there is something in your life making it difficult to participate, please come to me. I will do what I can to make sure you can find the resources you need outside of class, in order to foster an energetic community inside of class.