4
Credits
4
Credits
ESE 124
Prerequisite
6 weeks
Syllabus outline
The course presents fundamental data structures and algorithms frequently used in engineering applications. Object oriented programming in C++ is used to teach the concepts. Discussed topics include: programming and applications of data structures; stacks, queues, lists, heaps, priority queues, and introduction to binary trees. Recursive programming is heavily utilized. Fundamental sorting algorithms are examined along with informal efficiency analysis. May not be taken for credit in addition to EEO 224.

| Week | Syllabus | Overview |
|---|---|---|
| 1 | Software Design: Efficiency, Big-O notation, ADTs, OOP techniques | Introduces software design principles and efficiency analysis |
| 2 | Linked Lists: Singly, doubly, circular lists, comparisons with arrays | Explores dynamic memory structures and linked lists |
| 3 | Stacks and Queues: Implementations, applications (postfix, XML parsing) | Focuses on stack and queue implementations and applications |
| 4 | Recursion: Backtracking, dynamic programming, tail recursion | Explores recursion and its practical uses |
| 5 | Binary Trees: Tree structures, BSTs, heaps, traversals | Introduces trees, searching, and heaps |
| 6 | Searching and Sorting: Hash tables, quicksort, mergesort, heap sort | Covers searching techniques and sorting algorithms |
Explore CAD Lab software and download resources · GitHub instructions