|
May 09, 2025
|
|
|
|
CIS 152 - Data Structures Credits: 3 Lecture Hours: 2 Lab Hours: 2 Practicum Hours: 0 Work Experience: 0 Course Type: Open This course provides a strong foundation in commonly used data structures including collections, linked lists, stacks, queues, trees, maps and heaps, etc. Students will use an object-oriented programming language to design, write and test medium-sized programs that implement data structures. Prerequisite: CIS 161 OR CIS 169 OR CIS 171 OR CIS 189 OR Instructor Approval Competencies
- Design your own classes to define objects
- Demonstrate data encapsulation and access modifiers
- Create default and non-default constructors
- Design overloaded methods
- Construct plain objects
- Create programs demonstrating inheritance
- Create and use abstract classes
- Design classes for inheritance
- Integrate polymorphism into projects
- Use inheritance to create polymorphic references
- Use interfaces to create polymorphic references
- Examine recursion
- Explain the underlying concepts of recursion
- Demonstrate how recursion can be used to solve problems
- Produce collections
- Create a linked list collection implementation
- Create an array-based collection implementation
- Produce stack implementations
- Define stack as an abstract data type
- Create a stack class with array-based implementations
- Create a stack class with linked list implementations
- Demonstrate how stacks can be used to solve problems
- Produce queue implementations
- Define queue as an abstract data type
- Create a queue class with array-based implementations
- Create a queue class with linked list implementations
- Demonstrate how queues can be used to solve problems
- Produce trees as data structures
- Define a tree as an abstract data type
- Implement trees from abstract data types
- Create methods for traversing trees
- Demonstrate how tree implementations can be used to solve problems
- Use binary trees to represent decision trees
- Create a linked implementation of a binary search tree
- Implement a heap
- Define a heap as an abstract data type
- Implement heap methods to create min and/or max heaps
- Implement a priority queue
- Demonstrate how priority queues implementations can be used to solve problems
- Implement a map
- Define a map as an abstract data
- Implement a map from an abstract data type
- Implement a hashmap
- Demonstrate how map implementations can be used to solve problems
- Examine directed and undirected graphs
- Define graphs and graph properties
- Define traversals of a graph
- Define a minimum spanning tree
- Discuss strategies for implementing and traversing graphs
- Analyze searching and sorting algorithms
- Discuss several search and sorting algorithms and their complexity
- Describe search and sort algorithms
Competencies Revised Date: 2020
Add to Portfolio (opens a new window)
|
|