Curriculum

Educational programs vary across institutions. To help convey my qualifications and background, I have included course descriptions and resources for the classes that I have completed. These courses include both my undergraduate work at Bradley University as well as any courses taken through online mediums for certifications or specific training needs. Should you have any questions about these courses, you can contact me and I would be happy to discuss them in more detail.

ECE 101 - DC Circuits
Fall 2015, 2h

Introduction to electrical engineering. Topics includes: voltage, current, resistance, power, and energy, fundamentals of DC circuit analysis using Ohm's and Kirchoff's laws, Thevenin and Norton equivalent circuits, superposition, DC analysis of operational amplifiers, and simulation and analysis of DC circuits using SPICE.

ECE 102 - Digital Systems
Fall 2015, 3h

Introduction to logic design with focus on the following topics: fundamentals of Boolean algebra and minimization techniques, logic realizations of SOP and POS functions, multiple function synthesis using PLDs, combinational circuit design as it applies to computers, sequential circuit elements, flip flops, counters and shift-registers, clock generation circuits, algorithmic state machine method of designing sequential circuits, and VHDL design and synthesis. Course culminates with a design project that uses VHDL to implement a finite state machine.

ECE 103 - Digital Systems
Spring 2016, 3h

Introduction to computers and operating systems; introduction to programming in a high level language appropriate to electrical engineering.

ECE 204 - AC Circuits and Systems
Fall 2016, 3h

The study of AC circuits with a dynamical systems approach. Topic covered: capacitance, inductance, phasors, impedance, admittance, Thevenin and Norton equivalents, operational amplifiers, differential equation models of linear circuits and systems, impulse and step responses, convolution integral, Laplace transform, frequency response, and transformers. Simulation and analysis of AC circuits using SPICE and MATLAB.

ECE 205 - Microcontroller Architecture and Programming
Fall 2017, 3h

Introduction to an 8-bit microcontroller. Topics include: architecture, instruction set, assembly language programming, assembler directives, input/output operations, C language programming for an 8-bit embedded device, timers, analog-to-digital conversion, interrupts, timing analysis, embedded design project, and discussion of an integrated design environment that includes a assembler, compiler, and debugger.

ECE 206 - Continuous-time Signals and Systems
Spring 2018, 3h

The study of signals and systems using the continuous-time approach. Topics covered: Modeling of continuous time physical systems, sampling, transformation of continuous-time signals, Fourier series, Fourier transform, energy and power density spectra, filter design, stability, state variables for continuous-time systems, feedback, bandwidth, modulation. Simulation and analysis of systems using MATLAB and Simulink.

ECE 207 - Simulation and Analysis
Spring 2018, 3h

Numerical analysis and modeling techniques of real-world problems as pertinent to electrical engineers using MATLAB and Simulink.

ECE 208 - Transmission Lines and Electromagnetic Fields
Spring 2018, 3h

Time-harmonic steady-state and transient analysis of radio frequency (RF) transmission lines (T Lines); impedance matching; the Smith chart and its applications; vector analysis; static electric fields and capacitance; steady currents and resistance; static magnetic fields and inductance; electrical and magnetic properties of materials; electric and magnetic boundary conditions; electric and magnetic energies.

ECE 221 - AC Circuits and Systems Laboratory
Spring 2018, 3h

The student is introduced to experimental implementation of topics covered in ECE 204, ECE 205, and ECE 206.

ECE 301 - Discrete-time Signals and Systems
Fall 2018, 3h

The study of signals and systems using the discrete-time approach. Topic covered: modeling of discrete-time physical systems, sampling and reconstruction of signals, analog-to-digital converters, quantization, arithmetic formats (fixed- and floating-point), analysis of discrete-time LTI systems, Implementation of discrete-time systems, Z-transforms, frequency analysis of discrete-time signals, frequency domain analysis of LTI systems, discrete Fourier transform, design of FIR and IIR filters. Simulation and analysis of systems using MATLAB and Simulink.

ECE 302 - Probability, Statistics, and Random Processes for EE
Fall 2019, 3h

Exploration of probability, statistics and random processes with emphasis on engineering applications. Topics covered: probability models, probability axioms, statistical independence, conditional probability, random variables, probability distributions, joint probability density functions, correlation, covariance, statistical estimate of random parameters, sampling distributions, reliability, random processes, power spectral density, and response of LTI systems to random inputs. Simulation and analysis using MATLAB.

ECE 303 - Electronics
Fall 2019, 3h

Fundamentals of macro-electronic circuits and systems. Topics covered: transistor switch, diodes, zener diodes, operational amplifiers and their imperfections, transistor biasing, small and large signal models of transistors, transistor amplifiers, digital interface, and introduction to power electronics. Simulations and analysis of electronic circuits and systems using SPICE.

ECE 322 - Electronics and Interfacing Laboratory
Fall 2019, 2h

Laboratory sequence with focus on design of electronic interfaces to embedded devices. Topics include: transistor switches, analog-to-digital conversion, digital-to-analog conversion, pulse-width modulation, communication interfaces.

ECE 401 - Undergraduate Design Seminar I
Fall 2019, 1h

Entrepreneurship and business plans, marketing and engineering, teamwork dynamics and interpersonal skills, product liability, professional ethics via ethics game, and guest lectures.

ECE 402 - Undergraduate Design Seminar II
Spring 2020, 1h

Multidisciplinary team effort to identify a market need based on realistic constraints; propose an electrical or electronic product to meet the need; prepare and present a strategy for launching a business venture to design, develop, manufacture and sell the product.

ECE 460 - Digital Signal Processing
Spring 2019, 3h

Design of digital filters and multirate systems. Topics include: review of discrete-time signals and systems, generalized linear phase, all-pass filters, minimum phase systems, inverse systems, FIR filter design, IIR filter design, resampling in time and frequency domain, half-band filters, polyphase filters, quadrature mirror filters and wavelets.

ECE 465 - Engineering Applications of Machine Learning
Spring 2019, 3h

This course covers the theory, design, and engineering applications of machine learning with the emphasis on computational intelligence. Embedded hardware platforms, high-performance libraries, and high-performance architectures are used for implementation. Variants such as Deep Neural Networks and Convolutional Neural Networks are examined.

ECE 471 - Real-time Operating Systems
Spring 2020, 3h

Advanced programming of small microprocessor-based systems using high-level programming languages applied to real situations: data acquisition, control, communication, small real-time operating systems. Software development for devices from a family of microcontrollers that are relevant to industrial applications.

ECE 472 - Embedded Microcontroller Linux
Spring 2019, 3h

Understanding of Linux and its adoption as an embedded OS platform, including process and thread management; communication, synchronization, and deadlocks; virtual memory and file systems; overview of methods and techniques to design and create embedded systems based on the Linux kernel. The essentials of the Linux operating system are discussed from the embedded system point of view, including selecting, configuring, cross-compiling, and installing a target-specific kernel, drivers, and subsystems; the GNU development tool chain; and tools used to build embedded Linux systems.

ECE 482 - Digital Systems: High Level Synthesis and Codesign
Spring 2020, 3h

Topics covered: FPGA architecture; embedded development tool flow; introduction to SoC; shared/dedicated busses; customized IP design; HW/SW interface; system performance analysis and bottleneck identification for a given HW/SW architecture; software partition; transformation between HW/SW components; hardware acceleration, FPGA codesign applications.

Python Investment Fundamentals & Data Analytics

Statistical analysis of financial data for determining historical risk and return. Comparison of securities using standard methods of risk evaluation (e.g. standard deviation, variance, beta) including estimates for idiosyncratic and systemic risk exposures. Construction of Markowitz efficient portfolios and the calculation of the efficient frontier. Capital asset pricing models. Applying Monte Carlo simulations to historical volatility data. Introduction to Black-Scholes-Merton model for estimating options pricing.

Testing in Python

Automated code testing strategies using PyTest and standard conventions for both unit and end-to-end tests. Standardization of code formats with PEP8, Lint and Black. Feeding mock data into unit tests using fixtures. The creation and maintenance of CI/CD pipelines to run tests automatically before code is pushed to production.

Flask Bootcamp

The creation of web-apps and websites through the Python Flask framework. Serving HTML templates and inheriting from base templates using Jinja. Adding site-functionality through Bootstrap. Managing data with SQLAlchemy to abstract the database layer. Serving RESTful APIs to power larger applications.