Teaching
Where We Teach: HX Lab Courses
Interface & Interactiondesign (BSc)

This course focuses on analyzing, designing, and evaluating interactive systems. Students learn to assess existing interfaces, develop new interaction flows using simple prototypes, and conduct usability tests to optimize user experience. The course builds essential skills for advanced topics in interactive systems, mobile applications, and media programming.
Object-oriented Programming (BSc)

This course teaches the principles of object-oriented programming using Java, focusing on designing and implementing structured software solutions. Students learn core OOP concepts and advanced techniques for developing modular, scalable applications. By the end, students can independently design, implement, and manage Java-based OOP projects.
Software Engineering 1 (BSc)

This course introduces key software engineering concepts, covering system design, implementation, and testing. Students learn to translate models (e.g., UML) into code and manage software development challenges.
Students gain practical skills to design, develop, and maintain software applications using structured engineering principles.
Software Engineering 2 (BSc)

This course builds on Software Engineering 1, deepening students’ understanding of software development. It focuses on systematically planning, designing, and implementing small software systems in teams while making informed architectural and technical decisions.
Mobile Computing (BSc)

This course covers mobile operating systems, communication standards, and Android app development. Students learn to design stable applications, utilize debugging techniques, and account for Quality of Service (QoS) and security constraints in mobile networks (e.g., GPS, LTE, WLAN, Bluetooth). Students gain hands-on experience developing mobile applications, integrating prior programming and UI/UX skills.
Ubiquitous Computing (BSc)

This course explores computing beyond traditional devices, integrating technology seamlessly into everyday life. Students learn about pervasive systems, smart environments, and interaction models that enable intuitive, context-aware experiences. Students gain insights into designing smart, interconnected systems that enhance user experiences in an increasingly digital world.
Microcontroller Programming (MSc)

This course covers the fundamentals of programming microcontrollers, focusing on embedded systems and low-level development. Students learn how to interface with hardware, optimize performance, and develop efficient, real-time applications. By the end, students will be able to design and implement embedded systems for real-world applications.
Maker's Lab (MSc)

This course explores the latest research in Human-Computer Interaction (HCI) and hands-on prototyping. Students design, build, and evaluate interactive systems that integrate both hardware and software components. Students apply making, fabrication, and prototyping techniques to create novel interactive artifacts, regularly presenting their progress.
Wearable Computing (MSc)

This course explores cutting-edge Wearable Computing research and its applications. Students design, develop, and evaluate interactive wearable prototypes that enhance physical activity, enable body-centric interactions, or augment human capabilities. Students engage in explorative projects, developing innovative wearables that push the boundaries of interaction and functionality.
Qualitative Reseach Methods (MSc)

This course introduces qualitative research methods used in Human-Computer Interaction (HCI) and social sciences. Students learn how to design, conduct, and analyze qualitative studies to understand human behavior, experiences, and interactions with technology. Students develop practical research skills, conducting their own studies and critically evaluating qualitative findings in real-world settings.