Kursöversikt

Course-PM P2 HT23

   (CM2001) Mobile Sports Applications and Data Mining

 (HI1033) Mobile Applications and Wireless Networks 

Background and course objectives 

 Today, there is a processor in almost every device that contains electronics, such as cell phones, washing machines, cars, sensors and medical equipment. Many of these devices communicate wirelessly with surrounding systems. When developing software for this type of system, it is important to take into account the limitations that exist, such as memory and computational capacity or low communication speed in communication.

In this course, you will study such mobile systems and how these systems communicate with surrounding systems. The course includes an introduction to wireless communication especially for portable devices such as mobile phones and wireless sensor networks. Programming of smartphones and associated sensors on Android. The programming labs can be performed on Android, iOS or other similar platforms. This is a practically oriented course in the development of mobile applications, including data mining techniques, for sports and health.

The following topics are included in the course:

  • How mobile applications can be used in sports and health.
  • Common mobile platforms, such as smartphones, tablets, smart watches and bracelets, and wearables.
  • Hardware, operating systems, and development tools for mobile platforms as well as API:s for third party tools.
  • Mobile application programming:
    • Application components
    • User interfaces
    • Handling of persistent data
    • Sensors in mobile devices
  • Platform-independent development
  • Cloud and messaging services for mobile systems
  •  The usage of camera for video analysis


Intended learning outcomes (may vary between HI1022 and CM2001). After successful completion of the course the student will be able to:

  • design and develop applications for mobile devices, both self-contained and those that communicate over networks, including the ability to consider hardware and network limitations during design
  • develop usage-tailored user interfaces for mobile devices and judge whether they are sufficiently functional for their intended use.
  • develop mobile phone software that uses both internal and external sensors, such as GPS, accelerometer, wearables, and camera.
  • describe several cloud and messaging services for mobile devices in connection with data analysis for sports and health applications.
  • apply existing data analysis methods on sensor data to find patterns and insights for sports and health 

For higher grades it is also required that the student

  • has the ability to explain, analyse, and critically evaluate some recent trends within the area of mobile applications for sports and health
  • demonstrate a large degree of independence and ability to present one’s own work


Teachers

Course examinator: Martin Jacobsson, marjacob@kth.se, Anders Lindström, anderslm@kth.se

Course teacher: Ibrahim Orhan, orhan@kth.se

Course responsible teacher: Jonas Willen, jwi@kth.se

Course assistant: Jitse Jan van Esch jjve@kth.se

Prerequisites

Knowledge of object-oriented programming, e.g. corresponding to the course HI1027 Object oriented programming. 

 

Course material

 Development for the Android and iOS platforms 

 If you are developing for Android, there are tutorials and other documentation at developer.android.com, https://developer.android.com/guide/

For those who want to develop for iOS, there is tutorials and other documentation at developer.apple.com

A Stanford course is recommended through YouTube, "Developing Applications for iOS (CS193p) " or https://cs193p.sites.stanford.edu

 

Course webpage

The course material is available on Canvas. Contact your study guide if you cannot access the course at Canvas.


Software 

Android SDK and IDE Android Studio: https://developer.android.com/studio/. Android Studio is also installed on the computers in room T64.
iOS SDK and IDE Xcode: https://developer.apple.com/. Xcode is also installed on the iMacs in Makerspace 

Examination

 

LAB 0 [HI1033 Only]
Wireless networks

 

LAB 1 (2 hp)

3 applications (grading: 0-2 points)

Lab 1.1: Graphics, Frontend, Touch Events, Animations (Individual)

Lab 1.2: Network communication and multi-threading (2 persons)

Lab 1.3: Sensors and Communication with Bluetooth (2 persons)

An approved lab 1.1 is needed to continue to lab 1.2 and lab 1.3. For each lab you can receive between 0 and 2 points, when all applications are approved the final grade for lab 1 is determined by the following table: 

Grade E D - B A
Point 3 4 - 5 6

Details about all lab assignments are available in Canvas.

LAB 2 (2 hp)

Final Project (grading: A-F)

For Lab 2 you will work together with a group of 2-3 students. Together you will create a larger application of your own choice that applies existing data analysis methods on sensor data to find patterns and insights for sports and/or health. This project includes a feasibility study, with ideation, use cases, scenarios, a preliminary mockup of the UI, and a class diagram. If approved, you are expected to create a working prototype. This includes the collection of some data so that the data analytics can be demonstrated. The final work will be presented during a seminar on the 11th of January.

 

RED 1 [CM2001 Only]

Oral and written documentation (grading: A-F)

For RED 1 you will present the work of LAB 2. If difficult to demonstrate in a lecture room, a video clip should be recorded and showed instead. The video should demonstrate the app in action and should be no longer than 3 minutes.
Subsequently, you will write a written report describing the possible extensions and enhancements of your LAB 2 project. The report must include a literature survey that evaluates some recent trends relevant to your application, as well as describe cloud and messaging services in connection with data analysis for your LAB 2 app. Peer-reviewing is also part of this examination. Criteria for the report can be found in the end of this document

Final grade

The final grade is a combination of the grades received for LAB 1, LAB 2, and RED 1.

e.g. John scored an A for LAB 1, a B for LAB 2, and a C for RED 1; final grade will be a B. 

 

Detailed planning

Reading instructions can be found on the course web

Code Date Information Staff
F1 01/11
09:00-11:00

Course introduction and development of mobile applications

Hello World (Android and iOS)

Jonas Willén

Jitse v. Esch

Ö1 1/11
11:00-12:00
Tutorial to Android OS and iOS development IDE’s

Jonas Willén

Jitse v. Esch

F2 1/11
13:00-15:00
Full-stack development in HTML5, JavaScript and React (T53)

Jonas Willén

F3 2/11
09:00-11:00

UX- development (Usability, animation, touch event et c) (First hour)

Then Wireless Network (intended for the the course HI1033) (ImOn) in parallel with WOD Pacer (example of a mobile start up in Sport Tech) 

Jonas Willén

Ibrahim Orhan 

Jitse v. Esch

Ö2 2/11
11:00-12:00
Exercise and Questions about Android OS and iOS

Jonas Willén

Jitse v. Esch

F4 8/11
09:00-11:00
Designs Patterns (JoWi) and Mobile Sports Applications and Data Analytic (MaJa) 

Jonas Willén

Martin Jacobsson

Ö3 8/11
11:00-12:00
Exercise and Questions about Android and iOS

Jonas Willén

Jitse v. Esch

F5 10/11
09:00-11:00
Data Management (Background tasks, networking, parsing data, persistent data)

Jonas Willén

Ö4 10/11
11:00-12:00
Exercise and Questions about Android and iOS

Jonas Willén

Jitse v. Esch

F6 13/11
13:00-15:00
Debugging and Testing

Jitse v. Esch

Ö6 15/11
13:00-15:00
Exercise and Questions about Android and iOS

Jonas Willén

Jitse v. Esch

Ö7 17/11
09:00-10:00
Exercise and Questions about Android and iOS

Jonas Willén

Jitse v. Esch

RED 20/11 Lab 1:1 (JeEh, JsWn + 3 students) 
F7 22/11
09:00-11:00
Bluetooth - Sensors
Cross platform development (React Native, C-code, external libraries)

Jonas Willén

Jitse v. Esch

Ö8 22/11
11:00-12:00
Exercise and Questions about Android and iOS

Jonas Willén

Jitse v. Esch

F8 24/11
10:00-12:00
The Cloud, ML, IoT, Non-Blocking programming and other stuff worth knowing ( T64)

Jonas Willén

Ö9 29/11
13:00-15:00
Exercise and Questions about Android and iOS (JsWn and JeEh)

Jonas Willén

Jitse v. Esch

RED 4/12 Laboration 1:2 (JeEh, JsWn)
F9 6/12
09:00-11:00
About Lab 2 (JeEh)
(Presentation from KTH Innovation, Tom Magnegård)

Jitse v. Esch

Ö10 6/12
10:00-12:00
Exercise and Questions about Android and iOS Jitse v. Esch
Ö11 6/12
13:00-14:00
Exercise and Questions about Android and iOS Jitse v. Esch
SEMINAR 12/12  Presenting the idea for Lab2 assignment

Jonas Willén

Jitse v. Esch

RED 15/12  Laboration 1:3 (JeEh, JsWn)

Jonas Willén

Jitse v. Esch

Martin Jacobsson

RED 11/1 Final presentation of project (Labn 2) (JsWn, JeEh and MnJn) 

Jonas Willén

Jitse v. Esch

Martin Jacobsson

RED 15/1 Extra time for presenting laboration 1:1, 1:2 and 1:3 

 

F: Lecture

Ö: Work session (Teachers will be available to help with the struggles)

RED: Presentations  

 

Criteria for the written report

  • Canvas contains a template that you are expected to use.
  • Everything that is important for the project must be stated in the report once, repeated in condensed form only in the summary.
  • The report should be exactly as long as it needs to be. No plus points for a thick rap port. It needs to be readable with a good language.
  • It should be possible to repeat what you have done based on your report, given unlimited resources. Space-consuming material is advantageously attached as an appendix.
  • The report must be written in passive form imperfect (Ex: "the report was written", "the equipment was built", "the programming was performed").
  • Everything in the report must be true.
  • When you have used the work of others, the sources must be stated. This applies, for example, to text, program code and images. In industry, this is important because companies can otherwise be sued for e.g. license infringement. In the course, this means that you can be reported for cheating. If you are cutting texts from the web, put them in a separate document so that they do not end up in the report other than as quotations. Submitted reports are checked for plagiarism with an effective automatic tool.
  • Use a standard reference style (e.g., Harvard or Vancouver) and stick to it always.
  • We expect several references of different types, including research papers, product descriptions, news articles, etc.
  • Figures must be clear and have a suitable resolution. If they contain text, the font should be approximately the same size as the other text in the report. Each figure should have a number that is referred to at least once in the body text and a figure text that briefly describes the figure.
  • Follow other relevant recommendations for writing good scientific papers. See for instance IEEE Author Guidelines (https://journals.ieeeauthorcenter.ieee.org/wp-content/uploads/sites/7/jsen.pdf).