Teaching

ECE 550/650 – Introduction to Quantum Computing

Introduction to quantum computing starts with a basis in quantum optics using the Mach Zehnder Interferometer as a foundation. We then survey various qubit technology modalities such as trapped ions, photonics and Transmons as well as sources of decoherence for each.  In weekly Python labs students program simulations of single qubit operations such as Rabi and Ramsey pulse sequences as well as two qubit manipulations for Bell state generation to construct quantum circuits from fundamental quantum mechanical interactions. In the 2nd half of the semester these labs culminate in programming simulations of quantum algorithms by Grover and Shor using quantum computing Python libraries such as Qiskit and QuTiP and executing them on real quantum computers.

ECE 210 – Circuits and Electronics I

As a first course for Electrical and Computer Engineers, ECE 210 covers passive components all the way to RLC transients and CMOS logic. Weekly laboratories designed by Professor Niffenegger offer experiential learning through each key concept, starting with tutorials on equipment, building to design of function generators with Op-Amps and then characterizing IV curves of NMOS and PMOS transistors.

210 Labs:

  1. AC signals and Intro to bench lab equipment
  2. Passive resistor circuit (nodal analysis)
  3. Soldering and Thevenin equivalents
  4. Op-amps – inverting and non-inverting amps
  5. Op-amps –  function generator (RC circuits)
  6. Transient analysis (RLC circuits with MOSFET)
  7. CMOS – Voltage thresholds and CMOS inverter power
  8. MOSFETs – triode vs saturation