Enrollment closed
Native <br>Android

Native Android Course

Schedule:

Months of education:
3,5
Monday:
16:00 - 19:00
Wednesday:
16:00 - 19:00
Friday*:
16:00 - 19:00
* The program provides the possibility of additional classes on Saturday and Tuesday, the final schedule will be sent to the applicants, who get enrolled in said program.

Course description

The course is designed for people who want to commit their career to developing mobile applications. Android is a highly popular operating system used in many smartphones and tablets, as well as other devices. As a matter of fact, thousands of new Android applications are being developed as you are reading this. The course covers the basics of Android development - the Kotlin programming language, the basics of object-oriented programming, as well as advanced topics, e.g. authentication, testing and animation.

Projects

Students will be developing 3 projects during the course, based on which the judging committee determines which graduates are selected for further study / internship.The projects cover all of the material that is learned during the previous modules and allow to consolidate the acquired knowledge by practicing.

Grading

During the educational process, students must complete homework assignments and academic projects, based on which the judging committee grades their practical skills and knowledge, as well as teamwork capabilities.

EXPERTS

Roman Tsekhmeistruk
Roman Tsekhmeistruk
Chilinharian Tihran
Chilinharian Tihran
Serhii Boyko
Serhii Boyko
Volodymyr Usachov
Volodymyr Usachov
Volodymyr Stelmashchuk
Volodymyr Stelmashchuk

Course structure

1.
Basic Kotlin and Android

Basic Kotlin and Android

Basic Kotlin

  • Classes, objects
  • Control flow
  • Interfaces

Kotlin sugar

  • Lambda
  • Extensions
  • Infix, inline functions
  • Kotlin DSL

Collections

  • List
  • Set
  • Map

OOP

  • Classes
  • Interfaces

JSON

  • Json
  • Xml
  • Gson

Java Threads

  • Threads
  • Concurrency vs parallelism
  • Executors

Text

  • TextView
  • EditText
  • TextWatchers

 

Rest API

  • Retrofit
  • Inter—Āeptors
  • OkHttp
  • Basic of networks

Android Application Knowledge 1

  • Application
  • Android components
  • Manifest
  • Base gradle

Android Application Knowledge 2

  • Intent
  • Receiver
  • Notifications
  • Logging

Android Application Knowledge 3

  • AlertDialog
  • DialogFragment
  • BottomSheetDialog

Basic views

  • ImageView
  • TextView
  • LinearLayout
  • FrameLayout

RecyclerView

  • LayoutManager
  • RecyclerView Poll

Android SDK and androidX components

ViewPager

  • ViewPager
  • ViewPager 2
  • Transactions

Constraint layout

  • Constraints
  • ConstraintSet
  • Constraint layout2.0

Drawable and Images

  • Selectors
  • Gradients
  • Layer list

Animations

  • Default animations
  • Animations in recycler

Motion layout

  • Advanced animation

Custom views

  • View lifecycle
  • Combine several view into one business unit

Android Application Knowledge 4

  • Biometric
  • Job scheduler
  • Work manager

Design patterns and project architecture

GOF Patterns

  • Singleton
  • Builder
  • Factory
  • Strategy
  • Anti patterns

Clean architecture

  • Data layer
  • Domain layer
  • UI layer

Deep clean architecture

  • Feature separating
  • Clean architecture
  • Patterns

MVVM

  • LiveData
  • ViewModel
  • Data binding

Dependency injection

  • Dagger 2
  • Koin
  • Dependencies injection vs Service locator

Libraries and tools

Data storage

  • SQLite
  • Room
  • BinaryPref by Yandex

Authentication

  • Basic auth
  • Oauth 2.0

RxJava

  • Basic operators
  • Under the hood

Coroutines

  • Suspend function
  • Job
  • Scope

Coroutines Flows

  • Builders
  • Operators
  • Errors

Unit tests

  • Common testing knowledge
  • JUnit 5
  • Kotlin test
  • Mock

CI and Linters

  • Github actions
  • Detekt for static code analysis

Memory leak, garbage collector

  • Leak canary
  • Android profiler

WebSocket

  • OkHttp
  • Communication with server without requests
  • Ping
  • How to create stable web socket

Firebase

  • Crashlytics
  • Analytics
  • Remote config
  • A/B testing

Navigation

  • Navigation patterns
  • Single activity

What do
students get

Native <br>Android
  • Basic programming knowledge for the Android platform
  • The key trends in development of mobile applications
  • Object-oriented programming skills
  • Understanding of the app development cycle and its architecture
  • Ability to create mobile applications
  • Teamwork skills
Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed Enrollment closed
Fill in the form