HCI 909: Advanced Programming of Interactive Systems

HCI 909: Advanced Programming of Interactive Systems

James Eagan
Teaching Assistant
Gaëlle Clavelin

Course goals

This course is taught in English.

Class organization

Classes will generally consist of lecture and lab on Tuesdays. A project session meets on Wednesdays.

Class slides will be available from the class moodle (eCampus).


The official class syllabus is in the moodle. It should roughly correspond to the following.

Class Topic Homework/Readings
Week 1 Intro, Separation of concerns Lab 1 out
Week 2 MVC & Layout HW1, Lab 2 out, Lab 1 due
Week 3 Output HW1 due 
Week 4 Input Lab 2 due, HW2 out,
Week 5 Programming paradigms HW2 due, Lab 3 out
Week 6 Client-server & Web  
Week 7 Wrap-up & Project presentations Lab 3, project due 


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:

Grades may be modulated by up to 5% at the instructor’s discretion (e.g., for class participation).

Late policy

Unless otherwise indicated, assignments are generally due at the end of the day, where « the end of the day » has a peculiar meaning: before I check the assignments the next school day. In other words, don’t worry if something comes up and you need an extra couple of hours to finish your assignment as long as you get it in before I check. If an assignment is due on Friday at the end of the day, think of it as by 18h, but I won’t check until Monday morning. Late assignments are those that are turned in after I check and will be penalized 10% per day late. No late assignments will be accepted after three days.

Extensions can be granted for any reasonable reason if requested before the deadline.

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.


(These assignments are here for informational purposes only. Please refer to the class Moodle for the most up-to-date assignment descriptions.)