Courses I've taught
RECENT COURSES HERE AT MARQUETTE
EECE 1953/1954 Freshman Seminar
Introduction to electrical engineering and computer engineering.
Organized around the Roomba platform from iRobot, this course gives students an opportunity
to learn problem solving, develop and carry out team projects, and interact with their peers
and other members of the EECE Department.
EECE 2030 Digital Logic Design
Introduces students to the basic principles of digital circuit analysis and design.
Topics covered include: Boolean Algebra, number systems, basic logic gates,
standard combinational circuits, combinational design, timing diagrams, flip-flops,
sequential design, standard sequential circuits and programmable logic devices.
EECE 4510/5510 Digital Signal Processing
This course is an introduction to discrete-time signals and systems.
Topics include sampling theory and linear time invariant system analysis through convolution, Fourier transforms and z-transforms.
In addition, techniques for the design of digital filters are introduced, and the computation and use of the discrete Fourier transform and fast Fourier transform is discussed.
Applications of these concepts is accomplished through several Matlab-based design projects.
EECE 6510 Optimal and Adaptive Digital Signal Processing
This course is an introduction to optimal and adaptive signal processing techniques, including spectral estimation,
Wiener filters, linear prediction, steepest descent and
least mean square algorithms, least squares and recursive least squares estimation, and Kalman filters.
EECE 6520 Digital Processing of Speech Signals
This course is an introduction to the fundamentals of speech processing, including speech production models and feature analysis,
with applications in speech coding, synthesis, and recognition.
COEN 4710/5710 Computer Hardware
This course is an overview of computer hardware systems, with emphasis on microprocessor design.
Topics include performance analysis, MIPS assembly language, arithmetic logic units, datapath and control aspects of
instruction set architectures, pipelining, and memory and I/O devices.
COURSES TAUGHT AT TSINGHUA UNIVERSITY IN BEIJING
Digital Signal Processing
This course is an introduction to discrete-time signals and systems.
Topics include sampling theory and linear time invariant system analysis through convolution, Fourier transforms and z-transforms.
In addition, techniques for the design of digital filters are introduced, and the computation and use of the discrete Fourier transform and fast Fourier transform is discussed.
Applications of these concepts is accomplished through several Matlab-based design projects.
Statistical Pattern Recognition
This course is an introduction to the theory and application of statistical pattern recognition, hypothesis testing, and parameter estimation.
Topics include probability distribution models, Bayesian decision theory and hypothesis testing, classical and modern approaches
to parameter estimation, parametric and non-parametric classifiers.
Also covered are diagonalization and the Karhunen-Loeve transform (a.k.a. Principal Components analysis),
supervised and unsupervised clustering, Expectation Maximization algorithms for Maximum Likelihood estimation, and linear discriminant analysis.
Professional Research Writing
This course focuses on scientific writing in English. The central focus is content and organization of manuscripts for submission to international
scientific journals. In addition, a wide variety of other types of professional writing are discussed, including the GRE analytical writing question,
the TOEFL and TWE writing tests, and writing resumes and personal statements.
PREVIOUSLY TAUGHT
EECE 3020 Linear Systems Analysis
Mathematical descriptions of continuous-time signals and systems are introduced.
The time-domain viewpoint is developed for linear time invariant systems using the impulse response and convolution integral.
The frequency domain viewpoint is also explored through the Fourier Series and Fourier Transform.
Basic filtering concepts including simple design problems are covered.
Application of the Laplace transform to block diagrams, linear feedback, and stability including bode plots are discussed.
The sampling theorem, the Z-transform, and the Discrete Fourier Transform are introduced.
EECE 4720 Embedded Systems Design
This course introduces students to embedded systems, the types of hardware that can support
such systems, and the interfacing used in embedded systems. The course is a combined
laboratory and lecture course, which directly applies the embedded systems techniques
using hardware description and assembly languages to field programmable gate array technology.
EECE 6560 Information and Coding Theory
Introduction to information measure, mutual information, self-information,
entropy, encoding of information, discrete and continuous channels, channel capacity,
error detection, error correcting codes, group codes, cyclic codes, BCH codes,
convolution codes, and advanced codes.
EECE 6810 Algorithm Analysis and Applications
This course is an introduction to the analysis of algorithms.
Topics to be covered include asymptotic complexity notation, recursion analysis, advanced data structures, sorting methodologies,
dynamic programming, graph algorithms, and an introduction to several advanced topics such as NP-completeness theory and linear programming.
EECE 6830 Pattern Recognition
This course is an introduction to the theory and application of statistical pattern recognition, hypothesis testing, and parameter estimation.
Topics include probability distribution models, Bayesian decision theory and hypothesis testing, classical and modern approaches
to parameter estimation, parametric and non-parametric classifiers.
Also covered are diagonalization and the Karhunen-Loeve transform (a.k.a. Principal Components analysis),
supervised and unsupervised clustering, Expectation Maximization algorithms for Maximum Likelihood estimation, and linear discriminant analysis.