Teaching Human–Computer Interaction Through the Integration of Engineering and Design Principles | Synapse