Human-Computer Interaction
This course introduces the fundamental components and practical techniques of Human-Computer Interaction which is a field of study on designing, implementing, and evaluating interactive computing systems for human use. It starts with studying designs of everyday objects to help students to realize the importance of the efficient design of interactive computing systems. Then, HCI theories and techniques on how to involve users in designing and evaluating interactive computing systems will be covered. In this course, students have a chance to apply the HCI theories and techniques to solving practical problems while designing and implementing a team project throughout the semester.
Information Visualization and Visual Analytics
Information visualization is a research field that focuses on visual representations and interaction techniques to help users analyze and understand large "abstract" data. Information visualization is an interdisciplinary area where theories and techniques established in many research areas such as human-computer interaction, computer graphics, cognitive psychology, and database are fused together.
The objectives of this course are:
- Study the background and the principles of information visualization
- Learn about existing information visualization techniques and systems
- Grain understanding of evaluation methods for information visualization techniques/systems
- Learn how to critique existing visualization techniques and systems
- Build experience on coming up with new information visualization design
Studies in Human-Computer Interaction
This course is a graduate level introductory course to the filed of Human-Computer Interaction. It covers HCI models, theories, and frameworks that are key to conducting HCI research. In addition, this course offers opportunities to get familiar with the methodologies and techniques to apply those key components to real world problems found in various HCI application areas such as information visualization, mobile interaction, visual analytics, and social computing.
Digital Computer Concept and Practice
This course aims to help students learn
- how to write clear, robust, and efficient code in Python
- how to design, implement, and debug Python programs to solve medium-sized problems with hundreds of lines of codes.
Programming Practice
In this course, students learn an in-depth study of C language syntax, C program development, and programming methodologies. This course covers the fundamentals of the C programming language and basic programming skills essential for beginners. The goal of this course is to enable students to enhance their programming skills through various examples and extensive hands-on programming exercises, ensuring they are well-prepared for advanced courses in the Computer Science curriculum.