HCI 909: Advanced Programming of Interactive Systems

HCI 909: Advanced Programming of Interactive Systems

James Eagan & GermΓ‘n Leiva
Teaching Assistant
GermΓ‘n Leiva <German.Leiva@lri (dot) fr>
  • Fall 2017 (P1)
    • Tuesday mornings, 9h30: lectures in PUIO D203 followed by labs in E203.
    • Wednesday afternoons, 13h30: project in PUIO C106.

Course goals

  • You already know how to create a UI
  • At the end of this course, you should:
    • Understand how to structure interactive software applications.
    • Be able to create your own custom widgets
    • Be able to create custom layouts, optimize drawing, master event dispatch
    • Understand alternative programming models for user interfaces

This course is taught in English.

Class organization

Classes will generally consist of a research lecture on the previous week’s topic followed by a lecture on the current week’s topic (about 1h30), followed by about 1h30 of lab. A project session meets on Wednesdays.

Class slides will be available from the class moodle.


Class Topic Homework/Readings
12/09β€”09h30 Intro, Separation of concerns Lab 1 out
19/09β€”09h30 Layout Lab 2 out, Lab 1 due
25/09β€”09h30 Programming Models Β 
03/10β€”09h30 Input Lab 3 out, Lab 2 due
10/10β€”09h30 Output Β 
17/10β€”09h30 Mystery Topic Lab 3 due
24/10β€”09h30 Advanced Interaction Β 
14/11β€”09h30 Final Exams Β 


Please use the class Moodle discussion forum. The system is catered to getting you help fast and efficiently from classmates or from the instructors. I encourage you to post questions and discussions there.


Grades are determined by three primary criteria:

  • 50% Final exam
  • 25% Project/homework
  • 25% Research paper review

Grades may be modulated by up to 5% based on class participation.

Plagiarism policy

All work submitted is expected to be your original work. Feel free to discuss your work with your fellow students, use available resources (e.g., books, articles, web pages, source code), but these resources should serve as inspiration or supporting materials only. Do not forget to cite any such resources appropriately. Failure to appropriately cite your sources may result in a grade of 0 and/or academic sanctions.