- Times: 18.03.2021 - 01.07.2021, starting 10:00am - 13:15pm
- Includes theory and practical assignments
- Small break in between
- 13 appointments
- Starting from now the appointments will be held remote. More information on the following slide.
- First 7 appointments: Theoretical lecture with 5 assignments. Assignments are required and have to be submitted until a deadline
- Next 5 appointments: Project development and submission of the project
- Last 1 appointment: Presentation of the projects (required date)
- 40 Attendees, Priority is given to those for whom the course is a compulsory subject, it does not matter in which semester.
|Assignments (3 Points per Assignment)
|Project: Software Quality (Code Structure, Modularization, Coding Style)
|Project: Implementation Quality and Complexity
|Project: Usability and Design (UI Concepts, Platform Standards)
|Project: Automated Testing (Unit Test, UI Test)
Select at least two categories which you will implement in the app:
|Media and Camera
||Take picture, load image from gallery
|Location and Sensors
||GPS, Gyroscope, Motion, Barometer, Altimeter
||Store app local data using SQL, Key/Value
||Consume API, Parse JSON, XML, GraphQL
||Bluetooth, Wifi, Beacons
|Animation and Graphics
||Implement charts, complex animations
For the submissions everybody gets an own git repository where the results should be pushed. Submissions after the deadline will not be accepted.
Please create a new folder for every assignment and project. Everybody should push his code even the project. Also add a readme.md file to the repository with the two categories you have selected, a short description (around 6 sentences) what the app is doing and the team members.
The projects should be done by a team. Teams should consist of 2 team members. Assignments should be done individually. The teams are formed in the e-learning platform.
- Use Android Material Design
- No external libraries except what we discussed in the lecture, implement it yourself
- No cloud databases
- Focus on code structure and patterns, not functionality
- Keep it simple, the semester is short
- 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
Git Repo Structure
Grading will be based on the following Git repository structure
- Only 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.
- 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.
- 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 or tests
- Each team has 8 minutes time per project and then a 2 minutes break
- Get an overview of current technologies, platforms and tools for Android application development
- Learn the basics of Android (Java) platforms and development
- Understand the constraints and characteristics of mobile devices
- Get to know the principles of the User Centered Design Process for mobile application development
- Understand the most important OO-Concepts and Design Patterns for mobile application development
- How can I develop apps for mobile devices?
- Overview of the toolchain for mobile app development
- Native app development
- Introduction to the Android platform & development
- What else do I need to know?
- Software development process: User Centered Design Process
- Common software design patterns & paradigms overview
- Anything else?
- Special topic like Android Auto, UI tests & Unit tests