Введение в идиоматический Котлин весна 2025: различия между версиями

Материал из Public ATP Wiki
Перейти к навигации Перейти к поиску
Новая страница: «Test»
 
 
(не показано 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
Test
== Общий сведения ==
* Начало курса: 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

Общий сведения

Ограничений по регистрации на курс нет.

Общие сведения

На курсе разобраны основные особенности языка Kotlin, а также основы численных методов и решение практических численных и научных задач на Kotlin. Существенное внимание уделено подходам к проектированию научных библиотек и приложений, асинхронному программированию, а также методам повышения производительности вычислений.

Руководитель курса

Александр Нозик

  • Директор Центра Научного Программирования МФТИ,
  • Google Developer Expert по Kotlin
  • (ex) руководитель направления в JetBrains Research.
  • Специалист по разработке на JVM платформах, архитектуре научного программного обеспечения и анализу данных

План курса

От жесткого к мягкому

  • Программа как набор инструкций. Эволюция программ.
  • Структура памяти. Segmentation fault.
  • Парадигмы программирования. Генеалогия языков.
  • Виртуальные машины, байт-код.
  • Компиляция и оптимизации.
  • Статическая и динамическая линковка. Библиотеки.
  • Структура программы. Точки входа.

Инструменты современного программиста

  • Системы автоматической сборки.
  • Системы контроля версий.
  • Интегрированные среды разработки.

Язык Kotlin

  • Переменные, классы и объекты.
  • Control flow. Процедурный и функциональный подход.
  • Замыкания.
  • Структуры данных и операции над ними.
  • Свойства и делегаты.
  • Параметрические типы.
  • Расширения.
  • Боксинг.
  • Мультиплатформные проекты

Архитектура программы

  • Абстракции и интерфейсы.
  • Основы коллективной разработки при помощи современных инструментов.
  • Идеология объектного программирования. Разделение поведений.
  • Идеология функционального программирования.

Научное программирование

  • Основы численных методов. Понятие о численной точности. Сложность алгоритмов.
  • Численное дифференцирование и интегрирование.
  • Генераторы случайных чисел и Монте-Карло моделирование.
  • Высокопроизводительные параллельные и конкурентные вычисления.
  • Проблема ввода-вывода и основные методы ее решения.
  • Системы сбора данных. Протоколы обмена данными.
  • Основы работы с большими данными.
  • Поточная обработка данных.