Description
This course covers the organization of data and the algorithms that act upon them. The topics of stacks, queues, trees and sets are introduced. Fundamentals of algorithm performance are also introduced, with an emphasis placed on time complexity analysis. Applications to data structure searching and sorting, memory allocation and file management are included. Laboratory activities include the application of data structures from standard libraries.
Prerequisites
Materials
Required:- Data Structures and the Java Collections Framework, 2nd Ed. William Collins, McGraw-Hill, 2005
- Notebook computer required
Program Outcomes Containing CS 2851
Course Learning Outcomes
Upon successful completion of this course, the student will:
- understand and apply complex data structures and algorithms.
- use appropriate algorithms (and associated data structures) to solve complex problems.
- have a thorough understanding of commonly used library data structures
- be able to analyze the time complexity of algorithms, both sequential and recursive.
- understand the use of recursion in problem solving
- be able to use data structures in software design and implementation
- be able to apply standard library data structures in software design
Course Topics
- Exam (1 class)
- Introduction (1 class)
- Interfaces and Inheritance (1 class)
- Java Collections Framework (1 class)
- Array based lists (1 class)
- Linked lists (1 class)
- Asymptotic Algorithm Analysis (3 classes)
- Stacks and Queues (2 classes)
- Recursion (1 class)
- Trees (3 classes)
- TreeMap and TreeSet (1 class)
- Hash tables (1 class)
- HashMap and HashSet (1 class)
- Review (2 classes)
Prerequisites by topic
- Enterprise Architecht
- Java GUI
- Event-driven programming
- Exception handling
- File I/O
- ArrayList/LinkedList
- Interfaces/Abstract classes
Laboratory topics
- Review (1 session)
- Benchmarking (1 session)
- Linked lists (2 sessions)
- Recursive algorithms (1 session)
- Set data structures (1 session)
- Red-Black tree (2 sessions)
- Hash table (1 session)
Course topics by day
ACCE content
| General Education |
Math & Science |
Business & Mgmt. |
Construction | Construction Science |
| 0 | 0 | 0 | 0 | 0 |
ABET/EAC content
| Engineering topics |
Design |
General education |
Math/Science | Other |
| 2 | 20% |
0 | 1 | 0 |
ABET/TAC content
| Communications |
Math & Science |
HU/SS |
Tech Content | Other |
| 0 | 0 | 0 | 0 | 0 |
Coordinator
Christopher Taylor, Associate Professor
Last review
Christopher Taylor, Associate Professor
on Sep 24, 2007
Last update
Christopher Taylor, Associate Professor
on Sep 24, 2007