May 21, 2019  
2018-2019 Course Catalog 
    
2018-2019 Course Catalog [ARCHIVED CATALOG]

[Add to Portfolio]

CIS 152 - Data Structures

Credits: 3
Lecture Hours: 3
Lab Hours: 0
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 171  
Competencies
1. Design your own classes to define objects

1. Demonstrate data encapsulation and access modifiers

2. Create default and non-default constructors

3. Design overloaded methods

4. Construct plain objects (POJO, POCO) 

2. Create programs demonstrating inheritance

1. Create and use abstract classes

2. Design classes for inheritance

3. Integrate polymorphism into projects 

1. Use inheritance to create polymorphic references

2. Use interfaces to create polymorphic references

4. Examine recursion

1. Explain the underlying concepts of recursion

2. Discuss several search and sorting algorithms

3. Understand search and sort algorithms

5. Produce collections

1. Create a linked list collection implementation

2. Create an array-based collection implementation

6. Produce stack implementations

1. Define stack as an abstract data type

2. Create a stack class with array-based implementations

3. Create a stack class with linked list implementations

4. Demonstrate how stacks can be used to solve problems

7. Produce queue implementations

1. Define queue as an abstract data type

2. Create a queue class with array-based implementations

3. Create a queue class with linked list implementations

4. Demonstrate how queues can be used to solve problems

8. Produce trees as data structures

1. Implement trees from abstract data types

2. Create methods for traversing trees

3. Demonstrate how tree implementations can be used to solve problems

4. Use binary trees to represent decision trees

5. Create a linked implementation of a binary search tree

9. Implement a map and heap

1. Implement a map from an abstract data type

2. Implement a priority queue

10. Examine directed and undirected graphs

1. Define graphs and graph properties 

2. Define traversals of a graph

3. Define a minimum spanning tree

4. Discuss strategies for implementing and traversing graphs



[Add to Portfolio]