Введение в идиоматический Котлин весна 2025: различия между версиями
Перейти к навигации
Перейти к поиску
Новая страница: «Test» |
|||
| (не показано 8 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
== Общий сведения == | |||
* Начало курса: 15 февраля | |||
* Срок обучения: 4 месяца, 2 раза в неделю | |||
* [https://docs.google.com/forms/d/e/1FAIpQLSdPAfSa6vhXEU_b-fElx1xR5CarATT_eqtSNSF6B6xsbQNnUw/viewform?usp=header Регистрация на курс] | |||
Ограничений по регистрации на курс нет. | |||
*[https://t.me/kotlin_mipt Телеграм чат] | |||
== Общие сведения == | |||
На курсе разобраны основные особенности языка Kotlin, а также основы численных методов и решение практических численных и научных задач на Kotlin. Существенное внимание уделено подходам к проектированию научных библиотек и приложений, асинхронному программированию, а также методам повышения производительности вычислений. | |||
== Руководитель курса == | |||
Александр Нозик | |||
* Директор Центра Научного Программирования МФТИ, | |||
* Google Developer Expert по Kotlin | |||
* (ex) руководитель направления в JetBrains Research. | |||
* Специалист по разработке на JVM платформах, архитектуре научного программного обеспечения и анализу данных | |||
== План курса == | |||
'''От жесткого к мягкому''' | |||
* Программа как набор инструкций. Эволюция программ. | |||
* Структура памяти. Segmentation fault. | |||
* Парадигмы программирования. Генеалогия языков. | |||
* Виртуальные машины, байт-код. | |||
* Компиляция и оптимизации. | |||
* Статическая и динамическая линковка. Библиотеки. | |||
* Структура программы. Точки входа. | |||
'''Инструменты современного программиста''' | |||
* Системы автоматической сборки. | |||
* Системы контроля версий. | |||
* Интегрированные среды разработки. | |||
'''Язык Kotlin''' | |||
* Переменные, классы и объекты. | |||
* Control flow. Процедурный и функциональный подход. | |||
* Замыкания. | |||
* Структуры данных и операции над ними. | |||
* Свойства и делегаты. | |||
* Параметрические типы. | |||
* Расширения. | |||
* Боксинг. | |||
* Мультиплатформные проекты | |||
'''Архитектура программы''' | |||
* Абстракции и интерфейсы. | |||
* Основы коллективной разработки при помощи современных инструментов. | |||
* Идеология объектного программирования. Разделение поведений. | |||
* Идеология функционального программирования. | |||
'''Научное программирование''' | |||
* Основы численных методов. Понятие о численной точности. Сложность алгоритмов. | |||
* Численное дифференцирование и интегрирование. | |||
* Генераторы случайных чисел и Монте-Карло моделирование. | |||
* Высокопроизводительные параллельные и конкурентные вычисления. | |||
* Проблема ввода-вывода и основные методы ее решения. | |||
* Системы сбора данных. Протоколы обмена данными. | |||
* Основы работы с большими данными. | |||
* Поточная обработка данных. | |||
Текущая версия от 13:36, 10 февраля 2025
Общий сведения
- Начало курса: 15 февраля
- Срок обучения: 4 месяца, 2 раза в неделю
- Регистрация на курс
Ограничений по регистрации на курс нет.
Общие сведения
На курсе разобраны основные особенности языка Kotlin, а также основы численных методов и решение практических численных и научных задач на Kotlin. Существенное внимание уделено подходам к проектированию научных библиотек и приложений, асинхронному программированию, а также методам повышения производительности вычислений.
Руководитель курса
Александр Нозик
- Директор Центра Научного Программирования МФТИ,
- Google Developer Expert по Kotlin
- (ex) руководитель направления в JetBrains Research.
- Специалист по разработке на JVM платформах, архитектуре научного программного обеспечения и анализу данных
План курса
От жесткого к мягкому
- Программа как набор инструкций. Эволюция программ.
- Структура памяти. Segmentation fault.
- Парадигмы программирования. Генеалогия языков.
- Виртуальные машины, байт-код.
- Компиляция и оптимизации.
- Статическая и динамическая линковка. Библиотеки.
- Структура программы. Точки входа.
Инструменты современного программиста
- Системы автоматической сборки.
- Системы контроля версий.
- Интегрированные среды разработки.
Язык Kotlin
- Переменные, классы и объекты.
- Control flow. Процедурный и функциональный подход.
- Замыкания.
- Структуры данных и операции над ними.
- Свойства и делегаты.
- Параметрические типы.
- Расширения.
- Боксинг.
- Мультиплатформные проекты
Архитектура программы
- Абстракции и интерфейсы.
- Основы коллективной разработки при помощи современных инструментов.
- Идеология объектного программирования. Разделение поведений.
- Идеология функционального программирования.
Научное программирование
- Основы численных методов. Понятие о численной точности. Сложность алгоритмов.
- Численное дифференцирование и интегрирование.
- Генераторы случайных чисел и Монте-Карло моделирование.
- Высокопроизводительные параллельные и конкурентные вычисления.
- Проблема ввода-вывода и основные методы ее решения.
- Системы сбора данных. Протоколы обмена данными.
- Основы работы с большими данными.
- Поточная обработка данных.