Open menu with table of contents Organization
Logo of Stuttgart Media University for light theme Logo of Stuttgart Media University for dark theme
Android Development

Organization

Stuttgart Media University

1 Lecture Organization

  • Times: 10.10.2024 - 30.01.2025, starting 10:00 - 13:15
    • Includes theory and practical assignments
    • Small break in between
    • 15 appointments
    • Starting from now the theory appointments will be held in person. The following project appointments will be held virtually if necessary. More information on the following slide.
  • Structure:
    • First 7 appointments: Theoretical lecture with 5 assignments. Assignments are required and have to be submitted until a deadline
    • Next 7 weeks: Project development, submission of the project and lecture evaluation
    • Last 1 appointment: Presentation of the projects (required date). It seems like we will hold the presentations in person.
  • Limit:
    • 40 Attendees, Priority is given to those for whom the course is a compulsory subject, it does not matter in which semester.

2 Lecture Attendance

This semester everything is different again. That's why we will meet first in person and in the second half virtually in the following conference room.

Please enroll to the following course on the e-learning platform: https://moodle.hdm-stuttgart.de/course/view.php?id=4255

3 Grading Scheme

Component Points
Assignments (3 Points per Assignment) 15
Project: Software Quality (Code Structure, Modularization, Coding Style) 15
Project: Implementation Quality and Complexity 15
Project: Usability and Design (UI Concepts, Platform Standards) 10
Project: Automated Testing (Unit Test, UI Test) 5
Project: Presentation 10
Total 70

4 Grading Categories

Select at least two categories which you will implement in the app:

Category Examples
Media and Camera Take picture, load image from gallery
Location and Sensors GPS, Gyroscope, Motion, Barometer, Altimeter
Data Storage Store app local data using SQL, Key/Value
Networking Consume API, Parse JSON, XML, GraphQL
Connectivity Bluetooth, Wifi, Beacons
Animation and Graphics Implement charts, complex animations

5 Deadlines

For the submissions everybody gets an own git repository where the results should be pushed. Submissions after the deadline will not be accepted.

Everybody should push his/her code to the existing repository structure. Please fill out the project/readme.md file with the two categories you have selected, a short description (around 2-6 sentences) what the app is doing and the team members.

The projects should be done by a team. Teams should consist of 2-4 team members. Assignments should be done individually. The teams are formed on the moodle platform.

Date Submission
30.10.2024 23:59 Team registration
27.11.2024 23:59 Assignment results
27.11.2024 23:59 Project abstract
29.01.2025 23:59 Final project

6 Constraints

  • Use Android Material Design
  • No external libraries except: Retrofit, gson, Coil and Google Maps. Implement it yourself!
  • No cloud databases
  • Focus on code structure and patterns, not functionality
  • Keep it simple, the semester is short

7 Project inspirations

  • Classroom Response System: Live Vote
  • Party Music Player
  • Fitness Tracking
  • Instant Chat with Bots
  • Insurance Manager
  • Financial Manager
  • Tournament App: Soccer, Sports, Drinking Games, ...
  • Collaborative Link Sharing
  • Motion Tracking/Pattern Recognition
  • Restaurant Order System: Bill Split
  • Car/Bike Finder
  • Public Transportation Notifier App
  • Resume Online Manager with Sharing
  • Food/Meal Tracker
  • Music Synthesizer/Sequencer App
  • Selfie Image Filter App
  • Places Blacklist: Don't go there
  • Mobile Education: Collaboratively explain complicated stuff
  • Foreign Language Learners App
  • Personal Timeline: How long ago did I ...?
  • Digital Queueing System: Fetch a number
  • Web Site Change Watcher: Notify if a webpage has changed
  • Retiree Watcher: Live Cam, Microphone, Alert Button
  • Smart Home Sensor Dashboard
  • Movie Subtitles App
  • Karaoke Singalong App

8 Git Repo Structure

Grading will be based on the following Git repository structure

  • Only main/master branch will be considered. All other branches will be ignored
  • Use this folder structure in your Git repo to hand in your results for the assignments and project.
    • assignment1
    • assignment2
    • assignment3
    • assignment4
    • assignment5
    • project
  • Each Assignment folder contains the root of your Android Studio project. The folder structure must look like this /assignmentX/app/src/main/
  • Hint: Git will not commit or push empty folders. Add a readme.md to each folder.

9 Presentation

  • Date: 30.01.2025, 10:00-13:15
  • Each project should be presented. In the presentation each team member should have the same amount of time to talk
  • Unexcused absence will make you fail the course
  • Show a quick overview of your app on the emulator or device
  • Present code parts which you are proud of like an advanced algorithm or unit tests
  • Each team has 12 minutes time per project and then a 2 minutes break

10 References

11 Lecture Goals

  • Get an overview of current technologies, platforms and tools for Android application development
  • Learn the basics of Android platforms and development
  • Understand the constraints and characteristics of mobile devices
  • Build your first native Android app which could be published to the Google Play Store
  • Develop with modern technologies like the programming language Kotlin, Jetpack Compose toolkit and MVVM architecture pattern
  • Get an understanding of programming software in a team

Questions?