Talks on Teaching

These are various talks I've done on teaching in higher education.

After winning a teaching award (Distinguished Teaching Award - 2015-16) I got to make a talk in February 2016 called:

Undergraduate Research

Throughout the semester and during the summer a few students and I work on various projects that interest us. This can be related to any of my research areas of interest.

In the summer of 2016 I worked with students on the following projects:

In the summer of 2015 I worked with students on the following projects:

  • Bailey Hall (Miami) and Chris Ahn (UC San Diego) on a route and weather prediction application
  • Braden Campbell (Miami) and Ryan Sunderhaus (Miami) on a quadropter to follow markers to film field sports
  • Alan Ehret (Miami) on using combinatorial optimization problems for procedural landscape generation (for video games) - paper submitted
  • Naoki Mizuno (Miami) and Chris Bell (Miami) on a multiplayer video game flexible framework to teach ideas to classes called Culture Code - paper to be submitted and research continues

Understanding MOOCs

In an effort to understand MOOCs and their place in education I've participated in:

What students think of me

I try to come accross as a good teacher, and I do care about my students. However, some students are not convinced:

Teaching at Miami

I have taught these courses:
  • Computer Aided Design - FPGA focuse - ECE 487
  • Engineering Problem Solving - ECE 102
  • Computer Architecture - ECE 289 (changed from 278 for ECE students)
  • Digital System Design - ECE 287
  • Embedded System Design - ECE 387
  • Engineering Design - ECE 248 (Winter Term)
  • Engineering Problem Solving - EAS 102 (Winter Term)

ECE 287 and 387 include a lab component in which we are participators in Altera's University Program and we are very thankful for the boards they provide. In the lab we use FPGAs on these DE2 boards to implement various labs and student projects. Below, I have some of the Wikis and links to projects.

Cool Student Projects

IEEE Student Chapter LED Dance Floor
Paintball Sentry
Laser Show
0-60 timer
Arduino Spectrum Analyzer
Golf swing tester
Circle robot
Headlight controller
Room light effects
Snake Game
FPGA 2D Video Game
Power Glove Quadropter Control
Keyfob Lock

ECE 387 - Embedded Systems

ECE 387 - 2014 - Spring Term - Group Project Archive
Garage Door Jammer
Image-based Bug tracking system
Gun Trigger Safety System
ECE 387 - 2014 - Spring Term - Individual Project Archive
Enhanced Practice Trumpet
Arcade Machine
Arduino oscilloscope Shield
Two-Player Portable Shooter
Near-Field Car Starter
Clothes Based Exercise Monitor
Guitar Effect System
Kinect/Tetris game

ECE 387 - 2013 - Spring Term - Group Project Archive
Color Tracker Turret
POV Globe
Power Glove Quadropter Control
ECE 387 - 2013 - Spring Term - Individual Project Archive
Midi Drum Controller
Infinity Mirror
Hard drive POV

ECE 387 - 2012 - Spring Term - Group Project Archive
Quadropter B - 4 blade flying machine 2
8x8x8 LED Hypnocube - Second hypnocube, but this one is single color and bigger

ECE 387 - 2011 - Fall Term - Individual Project Archive
Individual Embedded systems - These are each of the students individual embedded systems.

ECE 387 - 2011 - Spring Term - Group Project Archive
The LED Dance Floor - An LED Dance Floor.
Light Dimmer - A light based alarm system.
Autonomous Motion Tracking Sentry Paintball Gun - A paintball sentry that tracks using image processing.
Camera Remote Control Car - Controls a remote controlled car with hand gestures.
Chord Hero - A guitar chord teacher.
Marching Robot - A strange robot that walks
Wireless Controlled Paintball Turret - A wireless paintball sentry.
Automated Parking Garage - A parking lot that tells you where to park.

ECE 387 - 2010 - Group Project Archive
The Sound Stalker - Project is based on the idea of music following you around your house (video included).
The 3D-Hypnocube - Project is a 3D cube of LEDs that displays different animations (video included).

ECE 287 - Digital Systems

ECE 287 - 2013 - Some of the Best Projects In 2013, all the projects were open proposals by the students and had to be hosted online on a repository:
C scale Piano with Chords
A number of 2D video games
An audio mixer
A synth board
A graphing calculator
Breakout - Video Game
Tetris - Video Game
Platformer - Vidoe Game

ECE 287 - 2012 - Some of the Best Projects In 2012, many groups worked on the encryptor/decryptor project based on some of my research findings. Some did open projects and here is a sampling:

Decryptor/Encryptor - Decryptor project
Decryptor/Encryptor II - Decryptor project

ECE 287 - 2011 - Some of the Best Projects In 2011, most of the students did what is called the encryptor/decryptor project based on some of my research findings. Still a few motivated students created some interesting open projects:

Pong - this group built a replication of Pong with SNES controllers


Redhawk Duels is one possible choice for ECE 287 students to focus their final project on. For more details about this project look at the project descriptions below. Source code for the project is hosted at google code. Contributors are welcome.

ECE 287 - 2010 - Some of the best Projects
RedHawk Dual Ship I - their ship employs a circular radar screen with a crystal optimizer.
RedHawk Dual Ship II - their has a standard screen with optimization techniques and crystal information.
RedHawk Dual Ship III - similar to the above ship.
RedHawk Dual Ship IV - another similar to the above ships.
A Pic microcontroller FFPGA implementation - implementation of a PIC and included in the RedHawk Duals
A Square Wave Sound Generator with Songs - interfaces with the DE2 audio and creates sounds. They then used this to create a recording for three different songs.
A Dragon Encounter - try and get out of a fight with a dragon.

Imperial College

In the past I have helped with many courses. While at Imperial College responsible for some marking and supervising tutorials in courses on Computer Architecture and Parallel Processing.
2009 spring - Reconfigurable Computing (3rd year)
2008 spring - Reconfigurable Computing (3rd year)
2008 fall - Hardware (1st year)

University of Toronto

At the University of Toronto I was a Teaching Assistant responsible for tutorials, lab supervision, and marking 22 times for 10 different courses including:
ECE419 Distributed Systems
ECE334 Operating Systems
CS258 Computer Organization
APS105 Java - Introduction to Programming
ECE443 System Software
ECE253 Digital Design for CS students
ECE241 Digital Design
ECE341 Computer Organization
ECE203 Discrete Mathematics
ECE342 Computer Hardware
CS372 Microprocessor Software


From 2002-2006 I was involved with DEEP, an enrichment program for high school students offered by the University of Toronto. In the first two years (first year was a pilot year), I created a digital design course and taught the course to class sizes of approximately 25 students. In the last two years, I created a course to teach students how to program using video games. This course has been successful in motivating and teaching students to become basic programmers in the "C" language.