Course Listing
The below table shows the full set of courses I've taught at all the universities with which I have been associated. Clicking on the course number gives you the most recent instantiation of that course, while clicking on the Year/Term gives you the pages for that exact instantiation. Note that many of these will be unavailable, as I prevent students from seeing the upcoming homeworks by looking at previous courses.
Courses are taught at the University of Arizona, unless specified otherwise.
| Title | Term Taught | Description |
| ECE441A/541A (Automatic Control) | 2013 Fall 2011 Fall | Feedback Control Theory |
| ECE473/573 (S/W Engineering Concepts) | 2013 Spring 2012 Spring 2011 Spring 2010 Spring 2008 Spring | Capstone software project with large-scale software requirements |
| ECE505 (Model-Integrated Computing) | Using models as engineering design and integration tools | |
| ECE 492 (Independent Study) | 2011 Spring (Joseph Curamen) | Adaptive Control |
| ECE373 (Object-Oriented Software Design)]] | Learning advanced OO programming design | |
| ECE 492 (Independent Study) | 2009 Fall (Hussain Al-Helal)
| Maximising Target Acquisition UAV Search: Maximising Target Acquisition (Best Paper, IEEE Student Paper Competition, Tucson, Spring 2009),
|
| ECE492 (Directed Research: Object Oriented Software Design) | Directed research for graduating students in OO techniques and practice. | |
| ECE 498 (Capstone) | 2008-2009 Spring/Fall (Cupcakes) Class Wiki | Evaluating MS Robotics Studio |
| ECE 492 (Independent Study) | 2008 Spring (Hussain)
| Evaluating MS Robotics Studio |
| ECE 299 (Independent Research) | 2008 Spring (Andrew)
| Independent research in distributed robotics applications |
| Autonomous Systems: Algorithms and Implementation | 2006 Fall | Making robotic systems (especially ground vehicles) autonomous. Taught at UC Berkeley |
| Hybrid Systems: Computation & Control | 2005 Spring | Graduate introduction to hybrid systems. Taught at UC Berkeley |
| Advanced Software Architecture | 2003 Spring | Undergraduate C++. Taught at Vanderbilt University. |
Recommended Courses
(included from Classes) Here is a list of courses, some of which you should take if you want to be my student.
NOTE: This is not a comprehensive list, but you should consider a large subset of these classes.
Electrical and Computer Engineering
- ECE 340 -- Engineering Systems Analysis
- ECE 373 -- Object-Oriented Software Design
- ECE 441 -- Automatic Control
- ECE 442/542 -- Digital Control Systems
- ECE 447A -- Advanced Motion Control
- ECE 449/549 -- Continuous-System Modeling
- ECE 473/573 -- Software Engineering Concepts
- ECE 479/579 -- Principles of Artificial Intelligence
- ECE 492 -- Directed Research :)
- ECE 501 -- Linear Systems
- ECE 505 -- Model-Integrated Computing
Mathematics
- MATH 315 -- Introduction to Number Theory and Modern Algebra
- MATH 323 -- Formal Mathematical Reasoning and Writing
- MATH 402 -- Mathematical Logic
- MATH 410 -- Matrix Analysis
- MATH 413 -- Linear Algebra
- MATH 434/534 -- Introduction to Topology
- MATH 443/543 -- Theory of Graphs and Networks
- MATH 446/546 -- Theory of Numbers
- MATH 479/579 -- Game Theory and Mathematical Programming
Computer Science
- C SC 397A -- Advanced C++
- C SC 440 -- Introduction to Artificial Intelligence
- C SC 453 -- Compilers and Systems Software
- C SC 473 -- Automata, Grammars and Languages
- C SC 477 -- Introduction to Computer Vision
References for courses
C++
Believe it or not, I get lots of questions about what a good C++ book is. Here are two I recommend
- C++: Effective Object-Oriented Software Construction: Concepts, Practices, Industrial Strategies and Practices (2nd Edition), by Kayshav Dattatri. I recommend this book for students who know C and/or Java and would like to learn what C++ does, and how to think about OO topics in C++.
- C++ Primer, by Lippman. I recommend this book as a reference, not for learning about Object-Oriented C++ .
