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).