CSS 490: Multithreading in GUI Applications
Spring 2026
Brief Description: Develop a multithreaded GUI application
Credits: 5-credits
When: T/Th 11:00 - 1:00
Description: This course covers practical programming using industry standards through the creation of a graphical desktop application using modern frameworks and design principles. It focuses on building an interactive program using UI components while ensuring smooth performance through multithreading in an event-driven paradigm. Topics include version control, concurrency and synchronization, designing responsive and visually appealing user interfaces, and effective debugging techniques. The key concepts explored are concurrency, interfaces, streams, thread-safe 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
Leverage parallel streams to execute computational pipelines concurrently
Apply tracing and logging mechanisms that provide insight into the actions of a multithreaded application and assist in debugging difficult bugs
Use Inversion of Control 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: CSS 342. Accepted to CSSE, CE or Applied Computing major.
Required Book: None. This class will leverage online resources and AI. For some materials, see: https://java.MrStride.com