Do not hesitate to teach students about cognitive aspects. Card's model
of the Human Processor is well adapted and easily understandable by developers.
It serves as a basis for this type of course. Even if cognition is far
from the "rational" computer science, this chapter has always been appreciated
by the students, according to my evaluations.
Although "the developer is not the user", putting the developer in a position
where he/she becomes the user of someone else's software has proved to
be very efficient and appreciated by the students. For this, I propose
a two-step exercise. First, design and implement a user interface. Second,
test the development of one of your colleagues.
Lisa Neal has used DTUI in her distance learning classes. Her class web
site is inside a firewall, so she can't give access to it, but she has
indicated that she is willing to be a resource for anyone teaching a distance
learning HCI class - with tests, individual and team exercises, etc.