COGS 234:  Foundations for Future User Interfaces