Matthew A. Watkins

Main Teaching Research Publications

Teaching

Lafayette College

ECE 211 Digital Circuits I

An introdcution to the analysis and design of digital circuits.  Topics include number representations, combinational and sequential logic analysis and design, adder and ALU design, and field-programmable gate arrays (FPGAs). The course includes labs and projects using FPGAs.
Semester: Fa 2016, Fa 2017

ECE 212 Digital Circuits II

Design and analysis of larger digitial systems, with a special focus on microprocessors. The course covers specialized FPGA features, instruction set architectures, C programming, microprocessor organization, and memory hierarchies. Students design, implement, and compare multiple different implementations of a microprocessor.
Semester: Sp 2016, Sp 2017, Sp 2018

ECE 414 Embedded Systems

Course on the design of stand-alone digital systems using an embedded microcontroller. The course covers both software and hardware aspects of embedded systems and includes discussion of microcontroller peripherals, interrupts, real-time operating systems, and efficient software design for embedded systems. The course includes a significant design project.
Semester: Fa 2015, Fa 2016, Fa 2017

Student Project Sites:

Bucknell University

During my three years at Bucknell University I taught a variety of courses in both electrical and computer engineering areas.

ELEC 101 Electrical Engineering Analysis

Course on electrical engineering fundamentals for Computer Science and Engineering students. The first half of the course focuses on basic circuit analysis, including Ohm's law, Kirchoff's voltage and current laws, mesh and nodal analysis, operational amplifiers, simple capacitor and inductor behavior, and RC circuits and filters. The second half of the course focuses on semiconductors, including the construction, behavior, and analysis of diodes, BJTs, and MOSFETs, the latter two for both analog and digital uses.
Semesters: Fa 2012, Fa 2013

ELEC 205L Electrical Engineering Fundamentals

Lab for non-electrical/computer engineering students that includes: introduction to basic lab equipment, simple circuit construction on a breadboard, R and RC circuits, filters, op amps, diodes, BJT amplifiers, and digital logic.
Semesters: Fa 2012, Fa 2013

ELEC 245 Introduction to Digital Systems

Digital logic and systems for ECE students. Covers concepts including logic gates, combinational and sequential logic, logic simplication, finite state machines, combinational and sequential building blocks, programmable logic (FPGAs), and hardware description languages.
Semesters: Sp 2015

ELEC 245 Introduction to Digital Systems

Digital logic and systems for Computer Science and Engineering students. Covers concepts including logic gates, combinational and sequential logic, logic simplication, finite state machines, combinational and sequential building blocks, programmable logic (FPGAs), and hardware description languages.
Semesters: Sp 2013, Sp 2014

ELEC 420 Senior Design

Second semester of full year senior design experience for electrical and computer engineers.
Semesters: Sp 2013

ELEC 444 Advanced Digital Design

Elective for Electrical and Computer Engineering students which focuses on the design of more advanced digital systems that incorporate an FPGA, microcontroller, or both. Course includes significant design project.
Semesters: Sp 2014, Sp 2015

Harvey Mudd College

I spent a year as a Visiting Assistant Professor at Harvey Mudd College in 2010-2011. A brief description of the courses I designed and taught over this period as well as a link to the full course website are provided here. Please visit the respective course websites for complete details on the course.

ECE168b/CS136 Computer Architecture

This course aims to provide a strong foundation for students to understand modern computer system architecture and to apply these insights and principles to future computer designs. While suitable for those students directly interested in computer engineering, this course can also provide a foundation for students interested in performance programming, compilers, and operating systems; and it can provide system-level context for students interested in emerging technologies and digital circuits. The course covers today's high-end microprocessor-based computer architectures. We discuss technology trends, performance measurement, instruction set principles, pipelining, out-of-order execution, speculation, instruction-level parallelism, caches, virtual memory, simultaneous multithreading, multiprocessing and multicore architectures, and input/output.

E85 Digital Electronics and Computer Engineering

Digital systems pervade our world and our lives. From television to cell phones to GPS to warfare to medicine to automobiles, computers and digital processing have reshaped the way we live and work. This course covers a broad spectrum of digital design, from single transistors and logic gates all the way up to complete microprocessors. While most fields of engineering require extensive mathematics and complicated analysis for even rather simple components, digital systems merely require counting from 0 to 1. Their challenge, instead, is in combining many simple building blocks into a complex whole. This course will cover multiple layers of the computer design hierarchy that make designing these complex systems tractable.

E155 Microprocessor-Based Systems

This course examines the use of FPGAs and microcontrollers in embedded system design. The course is largely project based and students gain significant hands-on experience designing embedded systems, including programming FPGAs and microcontrollers and interfacing peripherals with both of these devices. In the second half of the course students work in pairs to design build a significant project of their own choosing that involves both the microcontroller and FPGA and external devices.

Engineering Clinic

Adviser for two Harvey Mudd Clinic projects. Each project is a year long design experience in which a team of four to five juniors and seniors is given a task provided by an industry or national laboratory sponsor. As an adviser, I meet at least weekly with each team to help ensure forward progress and provide input and direction where appropriate. For 2010-2011, the two teams I am advising are sponsored by Barling Bay LLC. and DirecTV.

Cornell University

Teaching Assistant

Instructor