CSS490
CSS 490: Multithreading in GUI Applications
Spring 2025
Brief Description: Develop a multithreaded GUI application
Credits: 5-credits
When: M/W 1:15 - 3:15
Description: This course covers the creation of graphical desktop applications using Java. It focuses on building interactive programs using UI components while ensuring smooth performance through multithreading in an event-driven paradigm. Topics include protecting data integrity, designing attractive and responsive user interfaces, and solving issues through debugging. The key concepts explored are concurrency, layout management, data structures, design patterns, and testing techniques. Students are introduced to modern tools and frameworks for developing professional-quality applications.
Course Learning Outcomes: Upon successful completion of the course, students should be able to:
Create an application with dynamic layout of appropriate GUI components
Develop in an event-driven paradigm using lambda expressions, method pointers, and anonymous inner classes that implement functional interfaces
Provide a responsive GUI by invoking computationally heavy tasks on background threads
Use synchronization techniques to avoid race conditions and intermittent issues
Apply tracing and logging mechanisms that provide insight into the actions of a multithreaded application and assist in debugging difficult bugs
Use Dependency Injection and other design patterns in conjunction with testing & mocking frameworks to write effective tests on isolated functionality
Develop fluid animation responsive to user interactions
Designed for:
Students accepted into the CSS major.
Students looking to grow their programming skills through challenging, extensive, hands-on practice.
Students who want practical experience developing industry standards and techniques.
Students interested in pursuing careers in front end development.
Prerequisites: Accepted to CSSE or Applied Computing major.
Required Book: None. This class will leverage online resources and AI.