ESE 224 — Advanced Programming and Data Structures

Course information

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.

People working at computer workstations with large digital displays.

Syllabus overview

ESE 224 six-week outline
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

Programming tools

Explore CAD Lab software and download resources · GitHub instructions