EECS 4443 / CSE 5443 – Mobile User Interfaces

Winter 2016


Lectures Tues 13:00-14:30, LSB 101
Thur 13:00-14:30, SC 302
Labs F 13:30-15:30, LAS1002     
Instructor Scott MacKenzie
Office LAS 3045
Office hours      Tues & Thurs, 15:00-15:30
TA Muhammad Usman (usman "at"

Announcements, Downloads, etc.


Course Description:

The design, implementation, and evaluation of user interfaces for touchscreen devices and tablet computers.  Students develop user interfaces that include touch, multi-touch, vibration, device motion, position, and orientation, environment sensing, video capture, and audio capture.  Lab exercises emphasize these topics in a practical manner.

Prerequisite: General prerequisites, CSE 3461 3.0

Expanded Course Description:

Students learn how to design, implement, and evaulate user interfaces for contemporary mobile devices such as smart phones and tablet computers. The platform used for the course is Android with applications written in Java.  Practical issues in UI design are elaborated, including design principles and design goals.  Students do a project that involves designing and implementing a mobile user interface or interaction technique.  A user study is undertaken to evaluate the design.  The evaluation involves measuring and logging human performance data, analysing the data, and writing a report.

Many common features in mobile devices are not available in desktop computer systems and, consequently, are not taught in other courses.  As well as a graphical display, the devices of interest for this course include touch input (including multi-touch and finger pressure sensing), device position and motion sensing via accelerometers and gyroscopes, environmental sensors, actuators for vibrotactile output, audio capture, and camera input. 

The development of user interfaces for these devices is complex since the target system and development systems are, by necessity, different.  Thus, the course includes instruction on the development environment including the use of a debugger and emulator, and connecting the target and development systems via a physical or wireless link, and uploading and downloading files, including the installation of application software.

The topics taught in this course include the following:

Suggested Readings:


Item      Marks     
Bonus      Due Date     
Labs (15%)
   Lab 1
   Lab 2
   Lab 3
   Lab 4
   Lab 5
   Lab 6
Jan 15
Jan 29
Feb 12
Feb 26
Mar 11
Apr 1
Assignment (15%) 15 Feb 8
Exams (30%)


Feb 11
Last class
Project (40%)
Mar 14
Apr 14
Total 100

Assignments are due by midnight on the specified day and are to be submitted electronically with the "submit" command in Prism (unless specified otherwise).

Alternatively, you can submit using the web: click here.

Labs must be "checked off" during the scheduled labs periods.  It is strongly recommended that you treat the labs as mini-assignments – to be done on your own time prior to the scheduled lab.  Use the lab periods to get checked off.  The TA will assist you during the labs, but debugging is a time-consuming process.  Lab time is limited.

Grades can be viewed via the following command in Prism: courseInfo 4443.

Important Dates:

Event      Date     
Winter classes start      Jan 4
First 4443 class Jan 5
Reading week Feb 13-19
Drop date Mar 4
Good Friday Mar 25 (University closed)
Last 4443 class Mar 31
Winter classes end Apr 4
Winter exams start Apr 6
Winter exams end Apr 20

Course Policies:

Late assignments or projects will not be accepted, unless prior arrangement has been made with the instructor. Missed midterms are handled in the same way. Note that exceptions to the late policy will be made only in serious cases and if the circumstances are documented and beyond your control. Please see the Departmental WWW page on Academic Policies for details regarding academic dishonesty, etc.