HCI 909: Advanced Programming of Interactive Systems
- Instructor
- James Eagan
- Teaching Assistant
- Camille Gobert
- Fall 2021 (P1 for IP Paris, T1 for Université Paris-Saclay)
- See the class calendar for up-to-date information. Classes generally meet in the PUIO building on the Université Paris-Saclay campus:
- Tuesday mornings, 9h30: lectures.
- Wednesday afternoons, 13h30: projects.
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 (about) 1h30 of lecture, followed by about 1h30 of lab. A project session meets on Wednesdays.
Class slides will be available from the class moodle.
Syllabus
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 | Final Exams & Project presentations | Lab 3, project due |
Discussions
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.
Grading
Grades are determined by three primary criteria:
- Final exam
- Project
- Labs
- Short Homeworks
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 by « midnight », where « midnight » 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 midnight, I won’t check until Monday morning. Late assignments (turned in after I check) will be penalized 10% per day late. No late assignments will be accepted after three days.
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.
Labs
(These assignments are here for informational purposes only. Please refer to the class Moodle for the most up-to-date assignment descriptions.)