Введение в идиоматический Котлин весна 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. Процедурный и функциональный подход. | ||
| + | * Замыкания. | ||
| + | * Структуры данных и операции над ними. | ||
| + | * Свойства и делегаты. | ||
| + | * Параметрические типы. | ||
| + | * Расширения. | ||
| + | * Боксинг. | ||
| + | * Мультиплатформные проекты | ||
| + | '''Архитектура программы''' | ||
| + | * Абстракции и интерфейсы. | ||
| + | * Основы коллективной разработки при помощи современных инструментов. | ||
| + | * Идеология объектного программирования. Разделение поведений. | ||
| + | * Идеология функционального программирования. | ||
| + | '''Научное программирование''' | ||
| + | * Основы численных методов. Понятие о численной точности. Сложность алгоритмов. | ||
| + | * Численное дифференцирование и интегрирование. | ||
| + | * Генераторы случайных чисел и Монте-Карло моделирование. | ||
| + | * Высокопроизводительные параллельные и конкурентные вычисления. | ||
| + | * Проблема ввода-вывода и основные методы ее решения. | ||
| + | * Системы сбора данных. Протоколы обмена данными. | ||
| + | * Основы работы с большими данными. | ||
| + | * Поточная обработка данных. | ||
Текущая версия на 16:36, 10 февраля 2025
Общий сведения
- Начало курса: 15 февраля
- Срок обучения: 4 месяца, 2 раза в неделю
- Регистрация на курс
Ограничений по регистрации на курс нет.
Общие сведения
На курсе разобраны основные особенности языка Kotlin, а также основы численных методов и решение практических численных и научных задач на Kotlin. Существенное внимание уделено подходам к проектированию научных библиотек и приложений, асинхронному программированию, а также методам повышения производительности вычислений.
Руководитель курса
Александр Нозик
- Директор Центра Научного Программирования МФТИ,
- Google Developer Expert по Kotlin
- (ex) руководитель направления в JetBrains Research.
- Специалист по разработке на JVM платформах, архитектуре научного программного обеспечения и анализу данных
План курса
От жесткого к мягкому
- Программа как набор инструкций. Эволюция программ.
- Структура памяти. Segmentation fault.
- Парадигмы программирования. Генеалогия языков.
- Виртуальные машины, байт-код.
- Компиляция и оптимизации.
- Статическая и динамическая линковка. Библиотеки.
- Структура программы. Точки входа.
Инструменты современного программиста
- Системы автоматической сборки.
- Системы контроля версий.
- Интегрированные среды разработки.
Язык Kotlin
- Переменные, классы и объекты.
- Control flow. Процедурный и функциональный подход.
- Замыкания.
- Структуры данных и операции над ними.
- Свойства и делегаты.
- Параметрические типы.
- Расширения.
- Боксинг.
- Мультиплатформные проекты
Архитектура программы
- Абстракции и интерфейсы.
- Основы коллективной разработки при помощи современных инструментов.
- Идеология объектного программирования. Разделение поведений.
- Идеология функционального программирования.
Научное программирование
- Основы численных методов. Понятие о численной точности. Сложность алгоритмов.
- Численное дифференцирование и интегрирование.
- Генераторы случайных чисел и Монте-Карло моделирование.
- Высокопроизводительные параллельные и конкурентные вычисления.
- Проблема ввода-вывода и основные методы ее решения.
- Системы сбора данных. Протоколы обмена данными.
- Основы работы с большими данными.
- Поточная обработка данных.