I have taught the following courses as an Assistant Professor at Michigan Technological University

EE/CS5841 – Machine Learning (3 credit hours)
Description:  This course will explore the foundational techniques of machine learning. Topics are pulled from the areas of unsupervised and supervised learning. Specific methods covered include naive Bayes, decision trees, support vector machines (SVMs), ensemble, and clustering methods.

EE/CS5821 – Computational Intelligence (3 credit hours)
Description:  This course covers the four main paradigms of Computational Intelligence, viz., fuzzy systems, artificial neural networks, evolutionary computing, and swarm intelligence, and their integration to develop hybrid systems. Applications of Computational Intelligence include classification, regression, clustering, controls, robotics, etc.

CS4821 – Data Mining (3 credit hours)
Description:  Data mining focuses on extracting knowledge from large data sources (related fields include statistics and machine learning). The course introduces data mining concepts, methodology (measurement, visualization, evaluation, etc.), algorithms (classification/regression, clustering, association, etc.) and applications (web mining, recommender systems, bioinformatics, etc.).

Han, Kamber, and Pei, Data Mining Concepts and Techniques. 3rd Ed.

EE3250 – Introduction to Communication Theory (3 credit hours)
Description:  Introduction to communications systems and theory; fundamentals of point-to-point communication link design and analysis; analog modulation and demodulation techniques; digital signal representation and filtering; binary data transmission. 

L.W. Couch, Digital and Analog Communications. 8th Ed., Pearson, 2013.

EE2174 – Digital Logic and Lab (4 credit hours including 1 lab hour)
Description:  Introduces analysis, design, and application of digital logic. Includes Boolean algebra, binary numbers, logic gates, combinational and sequential logic, storage elements and hardware-description-language based synthesis.

J.F. Wakerly, Digital Design: Principles and Practices. 4th Ed.

I taught the following courses as a Teaching Fellow at the University of Missouri.

Fall 2009, and Spring 2010, University of Missouri, Columbia, MO
ECE4270/7210 – Microcomputer Architecture and Interfacing (4 credit hours including 1 lab hour)
Description:  Advanced microcomputer architecture and programming: memory management, memory and cache organizations, bus timing applications, serial parallel and custom interfaces.

Brey, B.B., The INTEL Microprocessors – 8086/8088, 80186/80188, 80286, 80386, 80486, PENTIUM, PENTIUM PRO Processor PENTIUM II, PENTIUM III, PENTIUM 4 Architecture, Programming, and Interface. 8th Ed. Prentice Hall, 2008.

Spring 2009, University of Missouri, Columbia, MO
ECE4001 – Computing for Embedded Systems (4 credit hours including 2 lab hours)
Description:  Practical and theoretical aspects of developing embedded systems, including the hardware basics of memory, I/O, and interrupts; an overview of C and C++ (with pointers and dynamic memory allocation); class structures in object‐oriented programming; software development with UML and a UML modeling tool; the software development process for embedded systems; and testing and debugging strategies.

Peckol, J.K., Embedded Systems: A Contemporary Design Tool. Wiley, 2008.

Fall 2008, and Fall 2007, University of Missouri, Columbia, MO
ECE3830 – Signals and Linear Systems (3 credit hours)
Description: Laplace transforms, z-transforms, Fourier series and transforms as they relate to continuous and discrete-time systems.

Oppenheim, A. V., and A. S. Willsky, with S. H. Nawab, Signals and Systems. 2nd Ed. Prentice-Hall, 1997. (Fall 2008; alternate text, Fall 2007)
C.L. Phillips, J.M. Parr and E.A. Riskin, Signals, Systems, and Transforms. 3rd Ed., Prentice-Hall, 2003. (Fall 2007)

Spring 2008, University of Missouri, Columbia, MO
ECE4220 – Real-Time Embedded Computing (4 credit hours including 2 lab hours)
Description: Introduction to embedded systems in a real time environment including fundamentals, operating systems, scheduling, prediction, and performance.  C/C++, UML, and Rhapsody as tools to explore the design and implementation of real-time embedded systems.

A.C. Shaw, Real-Time Systems and Software by Alan C. Shaw, Wiley, 2001.
B.P. Douglass, Real Time UML Third Edition: Advances in the UML for Real-Time Systems, Addison Wesley, 2004.