Программирование на Kotlin

Новосибирск, весна 2018

Описание

Обратная связь

Если вы участвовали в курсе, огромная просьба оставить обратную связь, чтобы помочь нам сделать следующие версии курса лучше. Спасибо!

Аннотация

Каждый программист, кто хотя бы раз разрабатывал более-менее серьезное приложение на языке Java, сталкивался с проблемой излишней многословности этого языка: зачастую достаточно простую и понятную идиому приходится выражать большим и не всегда очевидным кодом. Альтернативные языки для JVM пытаются решить данную проблему расширением предоставляемых программисту возможностей; одним из таких языков является язык Kotlin.

Kotlin – это относительно молодой язык для JVM, разрабатываемый в компании JetBrains, основными мáксимами которого являются лаконичность и простота, статическая типобезопасность, и полная совместимость с Java. В данном курсе мы рассмотрим основные возможности языка Kotlin, чем он отличается от Java, какие из существующих проблем решает и как он это делает.

Предварительный состав лекций выглядит следующим образом:

  • Kotlin 101: минимальный набор знаний, достаточный для того, чтобы начать разрабатывать на Kotlin
  • Классы в Kotlin: как Kotlin поддерживает базовое ООП
  • Классы в Kotlin, часть 2: как Kotlin упрощает создание POJO (и не только)
  • ФП в Kotlin: все то, о чем вы мечтали в Java (до Java 8), но боялись попробовать
  • Дженерики в Kotlin: как починить ряд проблем Java так, чтобы ничего не сломалось
  • Делегирование плюс операторы и расширения: три кита, которые сильно упрощают жизнь
  • DSL в Kotlin: добавляем в свой язык JSON, не переписывая компилятор
  • Корутины в Kotlin: как я перестал бояться параллельного программирования
  • Kotlin и рефлексия: разбираемся в себе метапрограммировании
  • To be decided

Формат курса

Курс проводится в интенсивном формате и разделен на две примерно равные части. Первая часть (6 лекций) пройдёт с 12 по 17 февраля; вторая часть курса (еще 4 лекции) запланирована на апрель. Кроме лекций планируется проведение семинаров в свободной форме, на которых можно будет задать интересующие слушателей вопросы, связанные с Kotlin в частности и разработкой ПО в целом, попробовать применить Kotlin для решения интересных задач, и/или обсудить практическую часть курса.

Практическая часть курса будет состоять из следующих частей:

  • решение простых задач в формате напишите функцию, которая ...
  • курсовой проект
  • соревнование в стиле ICFPC 2017

Необходимым условием для получения положительной оценки по курсу является выполнение двух из трех составляющих практики. Более точные и формальные требования будут сформулированы по результатам обсуждения с участниками курса.

Связь с преподавателем

Вспомогательный материал

Материал по практике

Преподаватели