Course Syllabus

Mobile Computing – Design and Implementation

lp1 HT20

7.5 hp

CIU196 (Chalmers University of Technology)
TIA110 (University of Gothenburg)

Offered by the Department of Computer Science and Engineering (CSE)

Teaching Personnel

Course Responsible and Teacher:
Mehmet Aydın Baytaş
baytas@chalmers.se | @doctorBaytas | http://baytas.net/

TA:
Carl Lidström Dreyer
carldr@student.chalmers.se | https://carlldreyer.se

Examiner:
Morten Fjeld
fjeld@chalmers.se

Purpose

We define "mobile computing" in two ways:

  1. Portable digital devices. Examples: smartphones, tablets, smartwatches and other wearables, RFID cards, and IoT applications...
  2. Use cases where the user is mobile. Examples: commuting, tourism, driving, biking, sports, walking, exploring, navigating...

This course introduces concepts, methods, and technologies relevant to user interfaces for mobile computing. Students who pass this course should be able to appreciate, create, and study mobile computing artifacts, at a level where they are able to self-sufficiently contribute to both commercial and academic projects.

The course aims to cover a broad range of topics related to mobile computing. These range from more "conventional" views focusing on smartphones and tablets, to emerging technologies like VR, AR, and personal robotics (all of which we expect to become mobile and ubiquitous in the near future, though they may not be fully so at the moment).

Requirements and Warnings

  • Programming knowledge is a prerequisite for this course. We will be using the Kotlin programming language. Experience with Kotlin itself is not required. However, to to succeed in this course within the planned work hours (<20h/week), you must be comfortable with object-oriented programming concepts: variables, classes, functions, arguments, inheritance, arrays, loops, conditionals, standard library, etc. If you do not fulfill this prerequisite, and still wish to take this course, contact the course responsible as soon as possible.
  • Since this course is typically taken in the second year of the Interaction Design and Technologies master's program, it assumes knowledge of topics covered in the first-year compulsory courses (e.g. basic interaction design, graphical interfaces, prototyping).
  • Due to various challenges, the course may fall short of being proactive in providing for students with atypical needs. If you know or suspect that you (or someone you support/represent) might have atypical requirements in terms of accessibility, scheduling, learning, and so forth, as soon as possible, contact the course responsible (Mehmet – baytas@chalmers.se). We will reactively do whatever we can to make everyone feel welcome.
  • Some live sessions may be recorded and published online. The following considerations apply:
    • In principle, only the teacher's camera, voice, and screen will be recorded.
    • The master recordings will be located on the teacher's local storage and will not be uploaded to any online service.
    • If the teacher asks a question or requests comments, expecting replies, the recording will be paused.
    • While the recording is taking place, if you spontaneously voice a comment or question, your voice (and possibly camera) will also be recorded. Thus, if you speak during these timeframes, this means that you have consented to being recorded on the master. (We recommend muting your microphone by default in Zoom, to avoid being recorded by accident.)
    • Some recordings may be published online. To prepare for publication, the master recordings will be edited by the teacher to remove all traces of student information. Thus, even though you may have spoken and thereby consented to being on the master recording, we acknowledge that you have not explicitly consented your information to be published. The editing to preserve your privacy may include: removing your image from the picture, replacing your voice with a voiceover and/or text, and redacting any students' names that the teacher might utter.
    • The master recordings which may contain your information will be deleted by the end of the learning period on Nov 1 (Sun). (Technical note: the recordings will be stored on SSD, hence recovery of deleted data will not be possible.)
    • The course responsible commits to considering and responding to any questions or objections about these policies. (Prefer e-mail for best results.)

Course Design

Content Overview

The 2020 edition of this course will be 100% online and mostly asynchronous. The workload will be close to 20 hours per week, for 8 weeks, between August 31 to October 23.

The typical workload per week is as follows:

  • 1 hour of "live" sync session attendance
  • 5 hours of "study and discussion" – studying resources and responding to discussion prompts
  • 10 hours of implementation (mostly programming) and project work

In addition to the above (which covers 16 hours per week), the following acvities are optional, but recommended:

  • A 1-hour AMA (ask-me-anything) session every week to pose questions and discuss topics with the teacher and the TA
  • Optional content provided on the "study and discussion" pages

The 20-hour-per-week time budget also takes into account a "safety factor" in case the scheduled activities take longer than estimated.

No study and discussion content is scheduled for the weeks starting October 12 and 19 (Weeks 7-8 of the course). These weeks are dedicated to project work. They include "live" personal supervision sessions between the group and the teacher and/or TA.

The week starting October 26 (Week 9 of the course) is designated "exam week" university-wide. No work is scheduled during this week. However, during this final week, we will be accepting revisions, corrections, extra work, etc., which will be specified upon the evaluation of project deliverables handed in during the previous week. These are optional.

Learning Platform

Canvas will be used as the main learning platform for this course. All content will be published the Canvas, and divided into the following kinds of modules:

  • 1x Admin & Comms – This is a repository for general communication and administrative information. It also includes schedules for live sessions, along with a platform for notes and discussions.
  • 6x Study and Discussion – These modules are the main repositories for learning. They contain "graded discussion" blocks that should each take around 1 hour to study and comment on.
  • 1x Implementation – Contains programming exercises and resources. Structured as blocks of "graded quizzes." Time estimates are provided for how long each block should take.
  • 1x Project Work – Contains instructions and deliverables for the project. Structured as blocks of "assignments,"

Zoom will be used to conduct live sessions. We will always use the teacher's personal Zoom room for all meetings:

Scheduling

The 2020 version of this course will be completely online. Most activities will be asynchronous. Synchronous activities are as follows:

  • A 1-hour "sync session" every Monday at 10:00 (AM, Sweden time) where the teacher will introduce and clarify the week's topics. Attendance is expected.
  • A 1-hour "AMA" (ask-me-anything) session every Wednesday at 10:00 (AM, Sweden time) where the teacher and the TA will answer questions. Attendance is optional.
  • Some synchrony will be needed for project work, which done in groups. Projects groups coordinate their own time.
  • Project supervision sessions with the teacher. These will happen during week 7 of the course (starting Oct 12), to be booked individually.

Most asynchronous activities have weekly deadlines, almost always on Friday.

The above is a "typical" schedule, valid for the first 6 weeks of the course.  Exceptions:

  • Week 1 (starting Aug 31) – Sync session will be Wednesday at 10:00, and there will be no AMA.
  • Weeks 7-9 (starting Oct 12 and Oct 19) – Mostly dedicated to project work. No sync session. AMAs will be Monday at 10:00.

Content Delivery Schedule

  • 5 hours of weekly Study and Discussion content will be revealed in full before the start of the week.
    • There is no real schedule for when this content will be delivered, since some of it is being built on the go. However, all of the content will be revealed at some point *before* each week begins.
  • 18 hours of Implementation Codelabs and Quizzes are delivered when the course begins.
  • 6 hours of further Implementation content will be delivered by Sep 14 (Mon).
  • Bonus content (both Study and Discussion, and Implementation) content may be delivered sporadically.
  • Project will be announced on Sep 14 (Mon), including theme, workflow, deliverables, grading criteria, etc.

Tech Stack

Kotlin and Android Studio will be used for graded programming assignments. (We may offer optional/bonus content using other platforms).

Either Android (Kotlin) or Unity may be used as the platform for project assignments. We will do our best to help with technical questions on these platforms. You are allowed to build your project on other platforms (including but not limited to iOS, VR, React Native, Raspberry Pi, Web, Arduino...) – used stand-alone or in conjunction with Android or Unity – but we may not be able to provide technical support.

It is recommended, but not required, to utilize an actual smartphone when designing, building, and evaluating your project. We also have a limited capacity to lend out various devices that include Android phones, AR/VR headsets, a Myo armband, Crazyflie drones, smartwatches, and more (but: no Apple devices). If you have any interest in developing for these devices, contact the course responsible as soon as possible.

Some other tools that we recommend and may support (but do not require) include (but are not limited to) Figma, GitHub and GitHub Pages, Adobe Creative Suite, and Squarespace.

Grading

The course has two kinds of graded components:

  • 3,5 credits – Individual Assignments
    • 30 points – Responses to discussion prompts under "Study and Discussion"
      • You should leave a comment responding to the discussion prompts, planned as 1 comment per hour of study. Each comment gets you 1 point.
      • These have deadlines (Friday every week). No credit will be given to late submissions. Comments will be checked by the teaching team for relevance, and may be marked down if they do not address the prompts properly. 
    • 120 points – Implementation
      • Planned as quizzes with 5 questions per hour of programming exercises. Each question gets you 1 point.
      • The quizzes are timed, allowing for 90 seconds for question. You can try each quiz 3 times. The highest score will be kept.
      • The deadline for all implementation exercises is Oct 9 (Fri) – the end of the 6th week of the course. However, we recommend that you go through them at your earliest convenience. No credit will be given for late submissions.
    • TOTAL POINTS: 150
  • 4 credits – Project
    • 100 points – Project deliverables.
      • Project topic and structure will be announced on Sep 14 (Mon). 
      • Project deliverables will have deadlines (Friday every week).  Late work and revisions will be handled on a case-by-case basis, but as a rule of thumb, you can expect half of possible points to be deducted if a deliverable is late.
    • TOTAL POINTS: 100

Notice: The "point" system does not correspond directly to the workload. Study and Discussion assignments cost you 1 hour per point. Implementation assignments cost 1 hour per 5 points. Project assignments workload will vary based on individual choices, and grading will be based on quality.

The TENTATIVE conversion thresholds for final grades is given below. Please note that the examiner and course responsible reserve the right to adjust the scheme at any point (e.g. if significant skewness emerges in the distribution of grades).

CIU 196 (Chalmers University of Technology) TIA 110 (University of Gothenburg) Individual Assignments Project  Sum
5 > 140 > 90 > 230
VG > 130 > 85 > 215
4 > 115 > 75 > 190
3 G > 90 > 60 > 150
F F ≤ 90 ≤ 60 ≤ 150

Changes Since Last Occasion

The course has been completely redesigned since the last time it has been taught.

Learning Objectives and Syllabus

Official Learning Objectives

Knowledge and understanding

  • Describe how mobile applications differ from desktop applications (challenges and possibilities)
  • Describe principles for touch-input devices
  • Describe research trends in mobile computing, e.g. multimodal input and output 
  • List and use important guidelines for interaction with mobile devices 
  • List and use relevant frameworks simplifying implementation

Skills and abilities

  • Design the user experience for a mobile platform including both the interface and the interaction 
  • Use and modify standard components for user interface design
  • Select an appropriate architecture and a set of frameworks to implement an application
  • Work with state-of-the-art tools for development and user interface design
  • Implement the application by program development (coding)
  • Carry out an evaluation of the application (usability test)

Judgement and approach

  • Analyse existing mobile applications with focus on presentation and interaction
  • Choose and motivate design strategies in relation to the goals mentioned above
  • Choose and motivate appropriate implementation methods and frameworks for a given design

Official Syllabus

Student Representatives

3-4 student representatives will be elected during the first course week.

Student representatives and the teachers will meet three times: at the start of the course, halfway through the course, and after the course has been graded. The course representatives are also encouraged to contact the teachers during the course as necessary to voice any feedback and/or requests.

We kindly request the course representatives to contacting the course representative proactively to schedule the three meetings.

Names and contact information of the course representatives will be posted on Canvas, once they are elected.

Student representatives are:

  • Markus Saarijärvi <marsaa@student.chalmers.se>
  • Gustav Svensson <gussvens@student.chalmers.se>

 

Changelog

2020-09-11 Student representatives info added.
2020-09-01 Summative course grading thresholds added.
2020-08-28 Camera ready

Course Summary:

Date Details Due