CSCI 2210
Data Structures
- Credit Hours
- 4
- Contact Hours
- 4
- Course Coordinator
- Jacob Gillenwater
Catalog Description
Studies strings, regular expressions, lists, stacks, queues, priority queues, heaps, arrays, trees, B- trees, hash tables, dictionaries, other associative containers, and elementary algorithm analysis. Laboratory use of the computer in designing, coding, debugging, analyzing, and executing programs is an integral part of the course. A modern programming language and programming library are used.
Prerequisite(s)
CSCI 1900 with a C or better and CSCI 1260 with a B- or better
Course Outcomes
- Make appropriate data structure and algorithm design decisions with respect to program size, execution speed, and storage efficiency.
- Understand common data structures (such as arrays, lists, linked lists, stacks, queues, priority queues, trees, hash tables, associative containers) and the algorithms that build and manipulate them including various sorting, searching, and hashing algorithms. ( Student Outcome GSO1 )
- Use appropriate classes and algorithms found in the .NET library and elsewhere.
- Do basic work with random numbers, simulation and modeling, and string processing including regular expressions.
- Use basic algorithm analysis tools including both theoretical and empirical methods such as Big-Oh, Big Omega, Big Theta, and execution profiling tools. ( Student Outcome CS1 )
- Document source code to meet course standards.
Topics
- C# & .NET. Syntax, I/O, Properties, operator overloading, GUI; Use of a modern IDE with intellisense, snippets, refactoring, & other tools; debugging tools.
- Enumerators, Interfaces, & Records.
- Arrays, Lists, Strings, Stacks, Queues, Priority Queues, Linked Lists, Trees, Binary SearchTrees, Balanced BinarySearch Trees, BTrees, Max and Min Heaps, Associative Containers, Hash Tables.
- Recursion.
- Performance issues for common data structures and algorithms.
- Generics, type-casting, and Inheritance
- Exception Handling
- Data structures that have existing implementations in the .NET library and some we must build ourselves. Deciding which data structure is appropriate in a given situation.
- Sorting, searching, and other algorithms.
- Use of an execution profiling tool and algorithm analysis with big-Oh notation.
Syllabi
Log in to uploadNo syllabi uploaded yet.