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.
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.
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.
Introduction to computers and operating systems; introduction to programming in a high level language appropriate to electrical engineering.
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.
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.
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.
Numerical analysis and modeling techniques of real-world problems as pertinent to electrical engineers using MATLAB and Simulink.
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.
The student is introduced to experimental implementation of topics covered in ECE 204, ECE 205, and ECE 206.
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.
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.
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.
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.
Entrepreneurship and business plans, marketing and engineering, teamwork dynamics and interpersonal skills, product liability, professional ethics via ethics game, and guest lectures.
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.
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.
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.
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.
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.
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.
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.
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.
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.