3
Credits
3
Credits
ESE 224
Prerequisite
13 weeks
Syllabus outline
This course covers software techniques for solving electrical and computer engineering problems in the C++ programming language. Design, implementation, and application to engineering problems of non-linear data structures and related advanced algorithms are covered. This includes binary trees, trees, graphs, and networks. OOP features such as Polymorphism, templates, Exception handling, File I/O operations, as well as Standard Template Library are used in the programming projects.

| Week | Topic | Overview |
|---|---|---|
| 1 | Introduction, Algorithm Analysis, Divide and Conquer | Course introduction and algorithm efficiency analysis |
| 2 | Standard Notations, Recurrences | Understanding recurrences and algorithm performance |
| 3 | Sorting Algorithms, Heapsort | Exploring fundamental sorting techniques |
| 4 | Quicksort, Sorting in Linear Time | Advanced sorting techniques and efficiency |
| 5 | Advanced Data Structures, Binary Trees | Introduction to binary trees and memory-efficient structures |
| 6 | Hash Tables, B-Trees | Implementing efficient data lookup structures |
| 7 | Greedy Algorithms, Midterm Review | Optimizing algorithmic problem-solving |
| 8 | Graph Algorithms: BFS, DFS, Topological Sorting | Exploring graph traversal and connectivity |
| 9 | Minimum Spanning Trees, Shortest Path Algorithms | Graph algorithms for optimization |
| 10 | Graph Partitioning, Clustering | Graph-based data organization |
| 11 | Dynamic Programming | Optimization through recursion and memoization |
| 12 | Special Algorithms: Matrix Operations, FFT | Advanced computational methods |
| 13 | String Matching, Final Review | Algorithms for pattern recognition |
| Component | Weight |
|---|---|
| Bi-weekly Homework | 40% |
| Midterm Exam | 25% |
| Final Exam | 35% |
| Grade | Percentage range |
|---|---|
| A | 90–100 |
| A− | 85–89.99 |
| B+ | 80–84.99 |
| B | 75–79.99 |
| B− | 70–74.99 |
| C+ | 65–69.99 |
| C | 60–64.99 |
| C− | 55–59.99 |
| D+ | 52–54.99 |
| D | 48–51.99 |
| F | 0–47.99 |
Late Submission Policy: Homework submitted up to 2 days late will be graded out of 75% of the maximum.
Passing Criteria: In the written exams, you must score at least 45 out of 100 to pass.