Reference

This course focuses on development practices using the Kotlin programming language. We focus on building graphical desktop and mobile/Android applications that work with remote services and databases. We will address the following subjects.

Technologies

We teach the following technology stack, which you are expected to use for your project. These technologies are covered in Wed lectures.

  • Kotlin as your primary programming language. SQL is also allowed where appropriate.
  • Gradle must be used for building the project, executing unit tests, and running your application for demos and testing.
  • Compose Multiplatform and/or Jetpack Compose should be used for building user interfaces.
  • JUnit and the Kotlin test extensions should be used for unit testing.
  • SQLite should be used for database requirements.
  • Ktor should be used for networking and web api requests.

These technologies will be discussed in lectures.
Also see the Kotlin and programming sections.

Best Practices

You and your team must use software development and project practices that are discussed in-class. These are often discussed in Friday labs.

  • Project tracking. All project assets including source code must be stored in a GitLab project.
  • Team meetings. You and your team will meet at least twice per week. You must keep minutes of these meetings.
  • Tracking your work. You are expected to keep a developer journal, and you must log details of your work as issues in GitLab.
  • Code comments. You are expected to add code comments where appropriate and useful.
  • Unit testing. You must write comprehensive unit tests to accompany your source code.

These development practices will be discussed in lectures.
Also see the best-practices section.

Exceptions

You are not allowed to deviate from these guidelines without explicit, written permission from the instructor. If you do wish to deviate for any reason, you need to follow these steps.

  • Discuss your request with the instructor first.
  • If verbally approved, you must email them for a formal, written confirmation of the specific deviation.
  • You must include that written confirmation email in your project documentation.

Deviating without written permission will result in a significant penalty to your grade.