Data and Algorithms
- Course Number:
- CS 260
- Transcript Title:
- Data and Algorithms
- Created:
- Aug 09, 2022
- Updated:
- Aug 09, 2022
- Total Credits:
- 4
- Lecture Hours:
- 40
- Lecture / Lab Hours:
- 0
- Lab Hours:
- 0
- Satisfies Cultural Literacy requirement:
- No
- Satisfies General Education requirement:
- No
- Grading Options
- A-F, P/NP, Audit
- Default Grading Options
- A-F
- Repeats available for credit:
- 0
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 161. Audit available.
Course Outcomes
Upon successful completion of this course, students will be able to:
- Design solutions to problems requiring complex data structures (combinations of lists, stacks, queues, hash tables, and trees).
- Evaluate the engineering properties of various tree representations, including binary search trees, 2-3 trees, red-black trees, B-trees, and AVL trees.
- Build and traverse data structures to manage undirected and directed graphs.
- Apply recursion as a problem solving technique.
- Develop programs using Java. Compare and contrast programs in Java and C++.
- Find closed form solutions for simple recurrences using the techniques of substitution, cancellation, and generating functions.
Suggested Outcome Assessment Strategies
Homework, observation, class discussion, examination.
Course Activities and Design
The determination of teaching strategies used in the delivery of outcomes is generally left to the discretion of the instructor. Here are some strategies that you might consider when designing your course: lecture, small group/forum discussion, flipped classroom, dyads, oral presentation, role play, simulation scenarios, group projects, service learning projects, hands-on lab, peer review/workshops, cooperative learning (jigsaw, fishbowl), inquiry based instruction, differentiated instruction (learning centers), graphic organizers, etc.
Course Content
- data structures
- list
- stack
- queue
- hash table
- tree
- tree representations
- binary
- 2-3
- red-black
- B
- AVL
- graph representations
- recursion
- programming language comparison
- recurrence