Глухих Михаил Игоревич mailto:...

52
Глухих Михаил Игоревич mailto: [email protected]

Upload: others

Post on 16-Sep-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Глухих Михаил Игоревичmailto: [email protected]

Desktop-программы = Обыкновенные программы для PC

2

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

3

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

Мобильные (Android / iOS)

4

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

Мобильные (Android / iOS)

Системные = Часть ОС (операционной системы)

5

Desktop-программы = Обыкновенные программы для PC

Web-программы = Клиентские + Серверные

Мобильные (Android / iOS)

Системные = Часть ОС (операционной системы)

Встраиваемые = Часть ВСУ (встраиваемых систем управления, нет привычного PC)

6

C / C++ = для системных программ, также для встраиваемых, реже для Desktop

7

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

Под платформу Java

Под Android SDK

Другие…

15

Kotlin Pro◦ Проще в освоении

◦ Лаконичнее

◦ Лучше контроль ошибок

◦ Сфера применения такая же или больше

◦ Android

16

Kotlin Pro◦ Проще в освоении

◦ Лаконичнее

◦ Лучше контроль ошибок

◦ Сфера применения такая же или больше

◦ Android

Java Pro◦ Гораздо более распространён (пока)

◦ Гораздо большее количество материалов

◦ Более устоявшийся

17

Платформа (~ JRE = Runtime Environment)◦ JVM = Java Virtual Machine

18

Платформа (~ 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

28

Для чего учиться?◦ Для того, чтобы получить диплом?

◦ Для того, чтобы стать хорошим специалистом?

29

Распространённые заблуждения:◦ Если я буду делать всё, что мне говорят

преподаватели (и только это), то…

30

Распространённые заблуждения:◦ Если я буду делать всё, что мне говорят

преподаватели (и только это), то…

◦ Если я буду учиться полностью самостоятельно и только тому, что мне интересно, то…

31

Что же делать?◦ Главное – искренне любить свою специальность и

интересоваться ею

32

Что же делать?◦ Главное – искренне любить свою специальность и

интересоваться ею

◦ Прислушиваться к тому, что говорят преподаватели, но относиться к их словам критически

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

https://github.com◦ Установить клиент git

◦ Регистрация на сайте

45

JDK 1.8◦ Скачать с сайта Oracle и установить

46

Intellij IDEA Community Edition (бесплатна)◦ Версия 2018.2 или выше

◦ Скачать с сайта JetBrains и установить

47

Обучающий проектhttps://github.com/Kotlin-Polytech/KotlinAsFirst2018

◦ Создать свою ветку на GitHub (см. учебное пособие, введение, учебный проект)

◦ Учебное пособие: лучше всего читать в Web

48

Система Котоед: регистрация

49

Ахин Марат Халимович

Гагарский Кирилл Алексеевич

Петров Максим Алексеевич

Егорова Инга

Абдуллин Азат

Степанов Даниил

Хандыго Евгений

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

Также сделан по проекту KotlinAsFirst

Первая его часть выйдет в сентябре

Покрывает 7 уроков из 9, рассматриваемых нами

Включает ряд обучающих видео и возможность получения сертификата

52