up
  • Russian

    course language

  • 10 weeks

    course duration

  • about 10 hours per week

    needed to educate

  • 3 credit points

    for credit at your university

Курс посвящен изучению языка программирования Kotlin, передовому языку для проектирования различного рода приложений. Разработчики Android используют Kotlin и называют его выразительным, а разработку с ним – приятной.

About

Цель курса – сформировать у слушателей представление о современном и набирающем популярность языке программирования Kotlin, разработанном компанией JetBrains. После прохождения курса, слушатели смогут уверенно программировать на Kotlin, ориентируясь в синтаксисе и конструкции языка. Кроме того, они узнают о базовых основах языка, поработают с классами и объектами, познакомятся с функциональным программированием, а также получат возможность узнать о практическом использовании языка Kotlin на примере приложения для Android.

Существенным преимуществом слушателей будет знание языка Java для понимания некоторых конструкций в Kotlin.

Модуль может быть использован как самостоятельный курс, либо в сочетании с другими модулями в программах обучения бакалавров и магистров, а также для повышения квалификации слушател

Format

В состав курса входят  видеолекции, видеопрезентации, скринкаст. Курс рассчитан на 10 недель. Недельная учебная нагрузка обучающегося по курсу составляет 10 часов. Общая трудоемкость курса 3 зачетные единицы.

Requirements

Для успешного освоения курса необходимы следущие знания, умения и навыки:

  • Знания
    • на уровне представлений:
      • процесс подготовки и решения задач на ПЭВМ;
      • основные приемы программирования на языке Java и Kotlin;
      • принципы разработки программ;
  • Умения
    • теоретические:
      • оперировать понятийным аппаратом в сфере программирования; практические:
      • использовать основные приемы и методы программирования для построения алгоритмов решения конкретных учебных задач;
  • Навыки
    • записывать на одном из языков программирования алгоритм решения задач
       

В процессе обучения используется бесплатное программное обеспечение: IntelliJ IDEA, Android Studio.

Course program

В курсе рассматриваются следующие темы:

1. Введение в Kotlin
Введение  в  курс. Преимущества языка Kotlin. Установка IntelliJ IDEA. Первый проект на Kotlin. Практика
2. Основы языка Kotlin
Стилистика кода. Переменные. Условные операторы. Операторы перехода. Практика
3. Классы и объекты
Классы  и  наследование. Свойства и поля. Интерфейсы. Модификаторы доступа. Функции extensions. Практика
4. Классы и объекты (продолжение)
Классы  данных.  Generics.  Перечисления  enum.  Анонимные  объекты.
Делегирование класса и свойства. Практика
5. Функции и лямбды
Свойства функции. Высокоуровневые функции и лямбды. inline и noinline функции. Как работают сопрограммы? Практика
6. Практическое использование Kotlin в Android-разработке
Первый проект в Android Studio. Редактирование файла layout. Обращение к элементам через код. Разница написания кода между Java и Kotlin. Выводы по курсу
7. Введение в Android разработку
Первый  проект  Hello  World.  Структура Android проекта. Знакомство с Activity и Intent. Интерфейс Android Studio. Практика
8. Элементы View
Структура Layout файла. Density-Independent Pixels (dp). Атрибуты View элементов. Создание разметки с помощью кода. Практика
 

Каждая тема предполагает изучение в течение одной недели.

Education results

  • Знания на уровне представлений алгоритмов, методов и средств обработки информации, применяемых при анализе научно-технической информации, отечественного и зарубежного опыта по тематике исследования (РО-1.1)
  • Знания на уровне представлений основ объектно-ориентированного программирования, синтаксиса языка программирования Java и Kotlin (РО-1.2)
  • Знания на уровне воспроизведения инструментальных средств разработки, доступных у платформы IntelliJ IDEA (РО-2.1)
  • Знания на уровне воспроизведения назначений и основных свойств стандартных элементов IntelliJ IDEA (РО-2.2)
  • Умение собирать эмпирический материал, опираясь на современные источники, осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования (РО-3.1)
  • Умение осуществлять подготовку данных для реализации работы над приложением (РО-3.2)
  • Умения реализовывать базовые алгоритмические конструкции на языках программирования Kotlin и Java (РО-4.1)
  • Владение навыками самостоятельного проведения библиографической работы с привлечением современных электронных технологий (РО-5.1)
  • Владение навыками работы с интегрированной средой разработки, которая позволяет реализовывать разработку проекта (РО-5.2)

Formed competencies

09.03.02 Информационные системы и технологии

  • способность использовать архитектурные и детализированные решения при проектировании систем; проводить выбор исходных данных дляпроектирования информационных систем, проводить сборкуинформационной системы из готовых компонентов, адаптироватьприложения к изменяющимся условиям функционирования (ПК-2)
  • способность использовать​ архитектурные и детализированные решения припроектировании систем; проводить предпроектное обследование(инжиниринг) объекта проектирования, системный анализ предметнойобласти, их взаимосвязей, проводить выбор исходных данных дляпроектирования информационных систем (ПК-4)
  • способность проводить​ выбор исходных данных для проектированияинформационных систем (ПК-12)
  • способность применять​ математические методы для решения практическихзадач (ОК-10)

09.04.02 Информационные системы и технолог

  • способность осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования (ПК-7)
  • умение проводить разработку и исследование методик анализа, синтеза, оптимизации и прогнозирования качества процессов функционирования информационных систем и технологий (ПК-9)
  • способность воспринимать математические, естественнонаучные, социально-экономические и профессиональные знания, умением самостоятельно приобретать, развивать и применять их для решения нестандартных задач, в том числе в новой или незнакомой среде и в междисциплинарном контексте (ОПК-1)
  • способность анализировать и оценивать уровни своих компетенций в сочетании со способностью и готовностью к саморегулированию дальнейшего образования и профессиональной мобильности (ОПК-3)

Education directions

Отзывы о курсе

Романова Асель


Position: Старший преподаватель факультета программной инженерии и компьютерной техники Университета ИТМО, разработчик в JetBrains Academy, Google Developer Group, Kotlin User Group

course completion certificate

Certificate

По данному курсу возможно получение сертификата.

A participant certificate is usually issued upon reaching 60 % of the overall rating, subject to the delivery of works before a hard deadline. The honors certificate is usually issued upon reaching 90 % of the overall rating, subject to the delivery of the work before the soft deadline.

Similar courses