ESE 344 — Software Techniques for Engineers

Course information

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.

A hand holding an electronic prototype in front of a project display.

Syllabus overview

ESE 344 weekly outline
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

Grading and policies

Grading policy
Component Weight
Bi-weekly Homework 40%
Midterm Exam 25%
Final Exam 35%
Final grade scale
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.

CAD Lab software and downloads · GitHub instructions