This course provides a practical introduction to user interface development and usability engineering of interactive applications. The disciplines of Human-Computer Interaction (HCI), Cybersecurity, and Software Engineering guide these endeavors. Major emphasis is on the principles and techniques for human-centered, secure 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 testing methodologies to ensure that their interfaces are usable and secure. A hypothetico-deductive 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. |