My favorite teaching topic is hardware/software
codesign. It's a topic that goes to the core of
computer engineering: How do we build efficient
digital machines? Software programmers would say: by
writing better code. Hardware designers would say: by
building faster hardware. Codesigners know how to make
the proper choice between the two.