Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
Мобильные (Android / iOS)
4
Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
Мобильные (Android / iOS)
Системные = Часть ОС (операционной системы)
5
Desktop-программы = Обыкновенные программы для PC
Web-программы = Клиентские + Серверные
Мобильные (Android / iOS)
Системные = Часть ОС (операционной системы)
Встраиваемые = Часть ВСУ (встраиваемых систем управления, нет привычного PC)
6
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
8
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
JavaScript = для Web-клиентов
9
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
JavaScript = для Web-клиентов
Python = для Web-серверов, для Desktop
10
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
JavaScript = для Web-клиентов
Python = для Web-серверов, для Desktop
Swift = для iOS, для Desktop
11
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
JavaScript = для Web-клиентов
Python = для Web-серверов, для Desktop
Swift = для iOS, для Desktop
PHP = для Web-серверов
12
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
JavaScript = для Web-клиентов
Python = для Web-серверов, для Desktop
Swift = для iOS, для Desktop
PHP = для Web-серверов
С# = для Desktop (платформа .NET)
13
Kotlin = для Android, для Web-серверов, для Desktop, для Web-клиентов, для iOS
C / C++ = для системных программ, также для встраиваемых, реже для Desktop
Java = для Web-серверов, для Android, для Desktop
JavaScript = для Web-клиентов
Python = для Web-серверов, для Desktop
Swift = для iOS, для Desktop
PHP = для Web-серверов
14
Kotlin Pro◦ Проще в освоении
◦ Лаконичнее
◦ Лучше контроль ошибок
◦ Сфера применения такая же или больше
◦ Android
16
Kotlin Pro◦ Проще в освоении
◦ Лаконичнее
◦ Лучше контроль ошибок
◦ Сфера применения такая же или больше
◦ Android
Java Pro◦ Гораздо более распространён (пока)
◦ Гораздо большее количество материалов
◦ Более устоявшийся
17
Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine
◦ Стандартная библиотека (уже собранная)
19
Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine
◦ Стандартная библиотека (уже собранная)
JDK (Development Kit)◦ Платформа
◦ Стандартная библиотека (исходные коды)
20
Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine
◦ Стандартная библиотека (уже собранная)
JDK (Development Kit)◦ Платформа
◦ Стандартная библиотека (исходные коды)
◦ Средства для языка Java
Компилятор, отладчик, архиватор, сборщик документации, …
21
SE = Standard Edition (для Desktop)◦ 8-я редакция (Java SE 8)
◦ 10-я редакция (Java SE 10)
Другие
22
4+ семестра
Основной язык программирования и платформа: Java
1-й семестр: основы, на базе языка Котлин, с использованием JVM и Java-библиотек
23
4+ семестра
Основной язык программирования и платформа: Java
1-й семестр: основы, на базе языка Котлин, с использованием JVM и Java-библиотек
2-й семестр: язык Java в деталях, основы GUI-разработки (Swing / JavaFX)
24
4+ семестра
Основной язык программирования и платформа: Java
1-й семестр: основы, на базе языка Котлин, с использованием JVM и Java-библиотек
2-й семестр: язык Java в деталях, основы GUI-разработки (Swing / JavaFX)
3-й семестр: алгоритмы и структурыданных
25
4+ семестра Основной язык программирования и
платформа: Java 1-й семестр: основы, на базе языка Котлин,
с использованием JVM и Java-библиотек 2-й семестр: язык Java в деталях, основы
GUI-разработки (Swing / JavaFX) 3-й семестр: алгоритмы и структуры
данных 4-й семестр: низкоуровневое
программирование (язык Си)
26
4+ семестра
Основной язык программирования и платформа: Java
2-й семестр: язык Java в деталях, основы GUI-разработки (Swing / JavaFX)
3-й семестр: алгоритмы и структурыданных
4-й семестр: низкоуровневое программирование (язык Си)
5-й семестр: Андроид-программирование
27
Для чего учиться?◦ Для того, чтобы получить диплом?
◦ Для того, чтобы стать хорошим специалистом?
29
Распространённые заблуждения:◦ Если я буду делать всё, что мне говорят
преподаватели (и только это), то…
30
Распространённые заблуждения:◦ Если я буду делать всё, что мне говорят
преподаватели (и только это), то…
◦ Если я буду учиться полностью самостоятельно и только тому, что мне интересно, то…
31
Что же делать?◦ Главное – искренне любить свою специальность и
интересоваться ею
◦ Прислушиваться к тому, что говорят преподаватели, но относиться к их словам критически
33
Что же делать?◦ Главное – искренне любить свою специальность и
интересоваться ею
◦ Прислушиваться к тому, что говорят преподаватели, но относиться к их словам критически
◦ Как можно больше читать, слушать и делать самому
34
Что же делать?◦ Главное – искренне любить свою специальность и
интересоваться ею
◦ Прислушиваться к тому, что говорят преподаватели, но относиться к их словам критически
◦ Как можно больше читать, слушать и делать самому
◦ Правильно распределять время между разными курсами в университете
35
E-mail: [email protected]
Контакт: https://vk.com/mike_gl
Slack: https://kotlinlang.slack.com/, канал russian-kotlinasfirst (см. слайд 51)
Старостам групп: отправить мне на e-mail письмо с именем, фамилией, номером группы и (желательно) мобильным телефоном для экстренной связи
36
Лекции, 2 часа в неделю
Упражнения, 2-3 часа в неделю
16 недель
Зачёт (с неофициальной оценкой) по итогам упражнений – зачётная неделя
Экзамен (с официальной оценкой) в конце семестра - сессия
37
Основной источник информации:https://github.com/Kotlin-Polytech/KotlinAsFirst2018
◦ Директория tutorial = учебное пособие по Котлину
38
Основной источник информации:https://github.com/Kotlin-Polytech/KotlinAsFirst2016
◦ Директория tutorial = учебное пособие по Котлину
◦ Директория src = задачи и примеры (разбиты на 9 уроков)
39
Основной источник информации:https://github.com/Kotlin-Polytech/KotlinAsFirst2016
◦ Директория tutorial = учебное пособие по Котлину
◦ Директория src = задачи и примеры (разбиты на 9 уроков)
◦ Директория test = тесты для проверки правильности решения задач
40
Основной источник информации:https://github.com/Kotlin-Polytech/KotlinAsFirst2016
◦ Директория tutorial = учебное пособие по Котлину
◦ Директория src = задачи и примеры (разбиты на 9 уроков)
◦ Директория test = тесты для проверки правильности решения задач
Страничка курса на сайте кафедры:◦ http://kspt.icc.spbstu.ru/course/kaf
41
Решение задач изhttps://github.com/Kotlin-Polytech/KotlinAsFirst2018
Задачи проверяются автоматически…◦ См. раздел «Учебный проект» во введении
учебного пособия
42
Решение задач изhttps://github.com/Kotlin-Polytech/KotlinAsFirst2018
Задачи проверяются автоматически…
…И дополнительно проверяются преподавателями в системе Котоед
Вопросы, консультации, объяснения…
43
Если упражнения пройдены успешно –оценка за упражнения становится оценкой за экзамен
В противном случае – решение экзаменационной задачи во время экзамена
44
Intellij IDEA Community Edition (бесплатна)◦ Версия 2018.2 или выше
◦ Скачать с сайта JetBrains и установить
47
Обучающий проектhttps://github.com/Kotlin-Polytech/KotlinAsFirst2018
◦ Создать свою ветку на GitHub (см. учебное пособие, введение, учебный проект)
◦ Учебное пособие: лучше всего читать в Web
48
Ахин Марат Халимович
Гагарский Кирилл Алексеевич
Петров Максим Алексеевич
Егорова Инга
Абдуллин Азат
Степанов Даниил
Хандыго Евгений
50
https://github.com/Kotlin-Polytech/KotlinAsFirst2018/tree/master/tutorial =
Учебное пособие по Котлину
https://kotlinlang.org/docs/reference/ = Полное описание языка Котлин (англ.)
https://kotlinlang.slack.com/ = сообщество языка Котлин (англ., требуется регистрация по приглашению)◦ http://slack.kotlinlang.org/ - приглашение
◦ Канал russian-kotlinasfirst
51