Skip to content


Homework descriptions and deadlines


Install Android studio and SDK. Create first app, run it in emulator (and on device if you have one).


Implement Puzzle15 game (Android).

*** Deadline 2023-10-29 23:59:59 ***


Support rotation (landscape/portrait) correctly (shifting around UI components, not just scaling) and state save/restore.

Run timer in background sevice, use broadcasts for communication.

Divide screen into 2 sections, gameboard and statistics. Show move count, time spent (suspend timer when ui is not visible).
Support at least 2 steps of undo.

UI made out of buttons, movement solved with changing text/images on buttons (but you are welcomed to use animations, etc).

Support native color schema (dark/light).

Support both full random shuffeling of board (sometimes not solvable) and solvable shuffeling (ie starting from solved board make x random legal moves).

Use ConstraintLayout for everything, use includes for shared components.

Test UI layout (and make it nice) on all possible screen sizes/densities and positions.

No warnings in Android Studio layout editor!

Use a* or any other search algoritm to show user optimal move hints.


Implement Puzzle15 game (iOS, SwiftUI).

*** Deadline: semester end ***


Similar to everything in Android task description!