Data Structures and Algorithms
|Hours||3.0 Credit, 3.0 Lecture, 0.0 Lab|
|Prerequisites||C S 142|
|Note||Students are allowed 1 repeat of each C S undergraduate course (all 100-, 200-, 300- or 400-level courses). This includes all students who received any grade including those who withdraw (receive a "W" grade) from a C S course. Students must wait 1 semester/term before being allowed to take a course they have failed twice. Petitions for exceptions to the policy can be completed at cs.byu.edu/undergraduate-handbook/retake-policy-cs-courses/.|
|Taught||Fall, Winter, Spring, Summer odd years|
|Programs||Containing C S 235|
Data Computing Fundamentals
Use the fundamental data types of computing (lists, stacks, queues, priority queues, sets, maps, trees, etc.).
Implementing Fundamental Data Types
Understand the major techniques for implementing the fundamental data types (linked lists, binary search trees, hashing, heaps, etc.) and implement several of them.
Select Data Structures
Properly use and select data structures from language-provided data-structure libraries.
Apply basic algorithm analysis.
Understand how recursion works and write programs using recursion to solve problems.
Usage of Algorithms
Make informed decisions about which sorting and searching algorithms to use in specific circumstances.
Write programs that require ~500 lines of code.