Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2018/2019

Programing in Kotlin

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-KOT Z,ZK 4 2P+2C Czech
Lecturer:
Jiří Daněček (guarantor)
Tutor:
Jiří Daněček (guarantor)
Supervisor:
Department of Software Engineering
Synopsis:

Kotlin is a modern, statically-styled object-functional language that exploits the extensive Java language ecosystem while delivering a number of advanced language constructions. The language is fully Java compliant and allows for mixed projects that preserve existing parts written in Java, and continue with the development of a modern, object-functional way with minimum of boiler-plate code. Last but not least, Kotlin is suitable for designing of DSLs (Domain-Specific Languages).

Requirements:
Syllabus of lectures:

1. Basics of functional programming, overview of the Kotlin language.

2. Structure of applications, control structures, language conventions, keywords, operators.

3. Classes, data classes, enum classes, objects, fields and properties, modifiers.

4. Declaration of functions, implicit and name parameters, procedures, simple functions, variable number of parameters.

5. Infix calls, local functions, generic functions, inline functions, extension functions, lambda expressions, HOF.

6. Destructive Declaration, nullability.

7. Standard types and conversions.

8. Overloading operators, delegations.

9. Generics, subtyping.

10. Collections and sequences, common operations.

11. Annotation and reflection.

12. Standard library.

13. Design of domain-specific languages.

Syllabus of tutorials:

1. Basic construction

2. Classes and Objects

3. Function

4. Lambda expressions and HOF

5. Generics

6. Collection

7. Standard library

8. Design of DSL example

9. KotlinTest - test framework

10.TornadoFX - adapter for JavaFX

11. KotlinPrimavera - adapter for Spring

Study Objective:
Study materials:

Dmitry Jemerov and Svetlana Isakova: Kotlin in Action, Kotlin Tutorial and Kotlin Specification on www.kotlinlang.org.

Note:
Time-table for winter semester 2018/2019:
Time-table is not available yet
Time-table for summer semester 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
roomT9:349
Daněček J.
12:45–14:15
(lecture parallel1)
Dejvice
NBFIT PC učebna
roomT9:350
Daněček J.
14:30–16:00
(lecture parallel1
parallel nr.101)

Dejvice
NBFIT PC ucebna
roomT9:350
Daněček J.
16:15–17:45
(lecture parallel1
parallel nr.102)

Dejvice
NBFIT PC ucebna
Tue
Fri
Thu
Fri
The course is a part of the following study plans:
Data valid to 2019-05-27
For updated information see http://bilakniha.cvut.cz/en/predmet5712106.html