Key Information

Register
Submit
The challenge is finished.

Challenge Overview

 

This is a fun challenge. Top 10 members will be awarded a cash prize. The winner will receive $100, the remaining 9 members will receive $20 each.

 

Why should we learn Kotlin on Android?

This is a technology trending

 

Java is the most widely used language for Android development, but that doesn’t mean it is always the best choice. Java is old, verbose, error-prone, and has been slow to modernize. Kotlin is a worthy alternative.

 

Kotlin is a modern statically typed programming language that will boost your productivity and increase your developer happiness. Kotlin is a relatively new open-source language, based on the Java Virtual Machine (JVM), which is gaining traction with Android software engineers. 

 

There are other JVM languages you could try to use on Android, but Kotlin offers integrations with Android Studio, Google's primary IDE for Android, that no language has, other than Java.

 

Here's why now is the time to start using this modern, sophisticated, pragmatic language for your Android development projects. You will never regret spending time learning it.

 

Learning Series - Kotlin on Android - Challenge is exactly for guiding you to enter the Kotlin on Android development world! It will help you Learn Kotlin on Android development and Make Quick Apps.

 

TaaS opportunity!

 

We also have a TaaS opportunity open for Android + Kotlin Developers, see details here. Don’t hesitate to apply if you are already a good Android developer or become a good developer after crashing the fundamentals with this challenge.

 

You can also win Cash Prizes!

 

While you learn Kotlin on Android with us we are encouraging you to help the community know about the interesting apps you make while you learn. Compete in the challenge, make apps, and submit a Step by Step Guide - "Build an Android app using Kotlin" article for Topcoder Thrive. The articles should be beginner-friendly and explain concepts wherever possible. The best five article submissions will win $100 each! 

Requirements for this challenge

In this challenge, you will follow the Android Kotlin Fundamentals Course in Google Codelabs to crash the Android Kotlin Fundamentals.

 

You need to follow and finish all the courses (From Android Kotlin Fundamentals 01.0: Install Android Studio to Kotlin Android Fundamentals 10.3 Design for everyone)

You will build multiple Android apps using Kotlin by following the courses, like Track My Sleep Quality, Real Estate on Mars, etc.

There are two levels of requirements in this challenge.

Basic level (Mandatory, must finish)

1. Finish all the courses in Android Kotlin Fundamentals Course, finish the homework of all the courses.

2. Submit the final solution code of any course. You must write the code by yourself, don’t just download the code from codelab and submit.

Advanced level (Optional, you can receive bonus points if you do it)

You need to write a simple app that follows one of the two themes below

  • A TODO list app: users can add their TODO item to a list and set a reminder, it will alert the user once the reminder time reaches.

  • A travel itinerary app: integrate Google Maps and select locations to be your planned travel destinies.

The app should use

The UI/UX and small features of the app are not limited.

What will you learn?

  • How to create apps that have activities and fragments, and navigate between fragments passing data.

  • Using views and view groups to layout a user interface, in particular, RecyclerView.

  • How to use Architecture Components, including ViewModel, with the recommended architecture to create a well-structured and efficient app.

  • Data binding, coroutines, and how to handle mouse clicks.

  • How to connect to the internet and cache data locally using a Room database.

  • How to set view properties, and how to extract resources into and use resources from XML resource files.

  • How to use styles and themes to customize the appearance of your app.

  • How to use Material components, dimension resources, and custom coloring.

  • How to make your app usable by the largest number of users.

  • How to make your app work for right-to-left (RTL) languages.

  • How to evaluate your app's accessibility.

  • How to use content descriptions to make your app work better with screen readers.

  • How to use chips.

  • How to make your app work with dark mode.

  • ….

You will also learn some basics of the Kotlin language. Here is a tutorial to help you learn Kotlin more deeply.

Further learning resources

Fundamental source start packers: https://github.com/google-developer-training/android-kotlin-fundamentals-starter-apps

Advanced Android in Kotlin course: https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-welcome/#0

Android developer documentation: https://developer.android.com/reference

Other resources:

Scoring guideline

  1. The submitters who finished both Basic and Advanced Level requirements will rank higher than the submitters who only finished the Basic Level requirement.

  2. We will randomly pick up to 10 members as the winners.

    1. If there are 10 or more submitters who finished both Basic and Advanced level requirements, then we will randomly pick 10 winners from them.

    2. Else, all the submitters who finished both Basic and Advanced level requirements will be winners, the remaining winners will be picked from the submitters who only finished Basic level requirement.

 

This is a fun challenge. Top 10 members will be awarded a cash prize. The winner will receive $100, the remaining 9 members will receive $20 each.

 

Enjoy Learning! 



Final Submission Guidelines

Everybody should include Basic Level in the submission, this is mandatory.

If you chose to finish the Advanced Level, you need to include both Basic and Advanced levels in the submission.

Submit a zip archive, including

Basic level (Mandatory)

  • Put everything for the basic level requirement inside a folder basic_level/, which should include

    • A markdown/doc/PDF that includes the answers to the homework of each course. You need to copy the questions of the course and put the answers besides.

    • The final solution code of Kotlin Android project of any course.

    • A video to showcase your app in either Android emulator/real devices. Please upload your video elsewhere (like in Youtube, Google Drive, Dropbox etc) and share the link(s) in your submission.

    • A simple README about how to deploy and run your code.

Advanced level (Optional)

  • Put everything for the advanced level requirement inside a folder advanced_level/, which should include

    • The source code of your own Kotlin Android project.

    • A simple README to describe the features of your app, and include the steps about how to deploy and run your code.

    • A video to showcase your app in either Android emulator/real devices. Please upload your video elsewhere (like in Youtube, Google Drive, Dropbox etc) and share the link(s) in your submission.

ELIGIBLE EVENTS:

2020 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30123756