Assessment Lab Plan

Plan by Dates

Laboratory Plan Assignment Due Date
1
  • Discuss requirements.
  • Set up development environment.
  • Enroll in MsTeams.
  • Enroll in GitHub classroom: Project.
Project Idea - See requirements on MsTeams Assignment - See requirements on MsTeams Assignment Rubric. October 20th
2
  • Evaluate previous assignment.
  • Clarify next requirements.
CRUD Project - UI only (Native)
  • Each CRUD operation has its own screen.
  • Demo all CRUD operations with fake/in-memory data.
  • Use Android (Java/Kotlin) or iOS (Swift/Objective-C) to build the application.
November 10th
3
  • Evaluate previous assignment.
  • Clarify next requirements.
CRUD Project - UI only (Non-Native)
  • Each CRUD operation has its own screen.
  • Demo all CRUD operations with fake/in-memory data.
  • Use Flutter, React-Native, NativeScript, or another multi-platform framework.
  • Unity framework is not allowed.
December 1st
4
  • Evaluate previous assignment.
  • Clarify next requirements.
CRUD Project - With local DB
  • Convert one UI-only project to use a local DB.
  • CRUD operations should interact with a local database.
  • Demo all CRUD operations using a local DB engine (no cloud services allowed).
December 22nd
5
  • Evaluate previous assignment.
  • Clarify next requirements.
6
  • Evaluate previous assignment.
  • Clarify next requirements.
Crud Project - With Server Integration
  • Implement server support for the DB project.
  • CRUD operations should send/receive data from a remote server, falling back to local DB if offline.
  • Demo all CRUD operations using your own REST server (no cloud services allowed).
January 12th
7
  • Evaluate previous assignment.
  • Clarify/Discuss exam requirements/rules.
  • You need to attend your faculty assigned subgroup laboratory!
  • You are allowed to present only two requirements!

Notes

  • Deadlines are final! All groups share the same deadlines.
  • Ensure your last commit is made the day before the deadline!
  • A 25% penalty applies per calendar week for late submissions. For example, for a due date of November 10th:
    • - Last commit by November 11th, 00:00 (GMT+2) for full credit.
    • - After November 11th: 25% penalty.
    • - After November 18th: 50% penalty.
    • - After November 25th: 75% penalty.
    • - After December 2nd: 100% penalty.
    • - After December 9th: 125% penalty (0 points).
  • To receive a grade, present results to the lab instructor. Upload sources on GitHub, but simply submitting is not enough.
  • Learn to use Git and GitHub from your IDE (e.g., Android Studio, Xcode, Visual Studio Code).
  • The application must support CRUD operations on business objects. The main screen should list these objects and allow:
    • Create - Add new elements.
    • Read - Display elements in a list.
    • Update - Edit existing elements.
    • Delete - Remove elements.
  • The application should persist content locally for offline access, and synchronize with a remote server when online (server must be implemented by you; no server-less solutions allowed). Use REST for communication.
    • On update/delete while offline: persist the operation offline (should survive restarts). Once the server is back online apply the changes to the server and on device.
    • On read while offline: display local data with a note that the server is down.
    • On create while offline: save input locally and sync with the server when back online.

📢 Bonus Points

Earn up to 3 extra points for your final practical exam!

  • +2 Extra Points (Early Completion): Successfully present ALL lab assignments (Project Idea, UI-Native, UI-NonNative, DB, and Server) before December 15th.
  • +1 Additional Extra Point (Advanced Feature): Implement one or more significant "extra features" in your final server-integrated project.
    See the list of suggested features here.

Final Grade

  • Laboratory Grade (LG) = Project Idea (2p) + UI-Only-Native (2p) + UI-Only-NonNative (2p) + DB (2p) + Server (2p).
  • Exam Grade (EG) - the grade from the practical exam.
  • Final Grade (FG) = (LG >= 4.5 && EG >= 5) ? (LG * 0.6 + EG * 0.4) : 0.
  • To take the practical exam, you must have at least 90% attendance in labs.
  • If LG < 4.5 or attendance criteria are not met, you can only attend the practical exam in the re-examination session.