Over the years, I have taught a variety of courses in the area of computer engineering and Electrical and Computer Engineering. Currently, I am the primary instructor of the following courses:

ECE 449 – Intelligent Systems Engineering

Intelligent systems for automatic control and data analysis. The concepts of vagueness and uncertainty, approximate reasoning, fuzzy rule-based systems, and fuzzy control. Strategies for learning and adaptation, supervised and reinforcement learning, self-organization and the selection of neural network architectures. Discussion of the principles of search and optimization, evolution and natural selection, and genetic algorithms. Introduction to hybrid intelligence. Applications of intelligent systems for pattern recognition, classification, forecasting, decision support, and control. 

ECE 720 Metaheuristic Optimization

Optimization, problem space, objective functions, optima. Search space,
operators, fitness. Solving optimization problems: hardness, convergence, deceptiveness, overfitting. The no free lunch theorem. Metaheuristic optimization algorithms: hill-climbing, simulated annealing, evolutionary
algorithms, memetic and hybrid algorithms, swarm intelligence.