This course provides a practical introduction to user interface development and usability engineering of interactive applications. The disciplines of Human-Computer Interaction (HCI) and Software Engineering guide these endeavors, but our focus here is more applied than theoretical. Major emphasis is on the principles and techniques for human-centered design and implementation of graphical user interfaces (GUIs) within a software development lifecycle. Cadets will extend their knowledge of programming in a high-level language by learning how to use an interface builder to create a fully functional GUI. Cadets will learn and practice human-centered problem analysis techniques and usability testing methodologies to ensure that their interfaces are usable. A hypothetico-deducto approach to design is emphasized throughout their development efforts. Fundamentals taught in this course will prepare cadets for more advanced software development, development of physical devices, or a deeper theoretical look at HCI topics.