|
Dec 26, 2024
|
|
|
|
CIS 153 - Data Structures Credits: 4 Lecture Hours: 3 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 with a minimum grade of C- OR CIS 169 with a minimum grade of C- OR CIS 171 with a minimum grade of C- OR CIS 189 with a minimum grade of C- OR Instructor Approval Competencies
-
Review Object-Oriented Programming (OOP)
-
Demonstrate encapsulation & polymorphism
-
Describe inheritance
-
Discuss abstraction and interfaces
-
Analyze code complexity
-
Discuss Big-O notation
-
Examine complexity of algorithms and code
-
Examine recursion
-
Explain the underlying concepts of recursion
-
Demonstrate how recursion can be used to solve problems
-
Produce a stack implementation
-
Define stack as an abstract data type
-
Create a stack class
-
Demonstrate how stacks can be used to solve problems
-
Produce a queue implementation
-
Define queue as an abstract data type
-
Create a queue class
-
Demonstrate how queues can be used to solve problems
-
Produce collections
-
Create a dynamic collection (eg, linked list)
-
Use a collection to create a data structure implementation
-
Produce trees as data structures
-
Define a tree as an abstract data type
-
Describe methods for traversing trees
-
Demonstrate how trees can be used to solve problems
-
Incorporate a heap in a program
-
Define a heap as an abstract data type
-
Utilize a min and/or max heap
-
Implement a priority queue
-
Define a priority queue as an abstract data type
-
Demonstrate how priority queues can be used to solve problems
-
Distinguish maps and hashmaps
-
Define a map as an abstract data
-
Demonstrate how map or hashmap can be used to solve problems
-
Examine graphs
-
Define graphs and graph properties
-
Define a minimum spanning tree
-
Determine strategies for implementing and traversing graphs
-
Analyze searching and sorting algorithms
-
Discuss several search and sorting algorithms and their complexity
-
Demonstrate search and sort algorithms
Competencies Revised Date: AY2025
Add to Portfolio (opens a new window)
|
|