
Kail
Организатор
Организатор
- Регистрация
- 09.04.2020
- Сообщения
- 401 365
- Реакции
- 39 371
- Монеты
- 1 191
- Оплачено
- 0
- Баллы
- 0
- #SkladchinaVip
- #1
[OTUS] Математика для программистов 2024 [Евгений Тюменцев, Евгений Непомнящий, Анатолий Бурнашев]
- Ссылка на картинку
-
Особенности и цели курса:
1. Показать связь между математической теорией и программированием, для того чтобы глубже понимать то, что происходит в вашем коде;
2. Сейчас в разработке активно используется DDD (Domain Driven Design) с микросервисной архитектурой. DDD пропагандирует разработку по модели. Весь курс показывает применение математических моделей к программированию, то есть вырабатывается навык построения моделей;
3. Курс показывает, как устроены языки программирования изнутри. Данный курс затрагивает тему, почему языки так устроены, как процессор обрабатывает конструкции языков высокого уровня.
Почему нужно изучать этот курс:
1. Курс даст вам базу программирования и после изучения этих основ вы будете легче и быстрее изучать новые языки программирования и фреймворки, за счет понимания, как устроены языки и процесс выполнения компьютерной программы на процессоре;
2. Знания на курсе позволят вам легче и быстрее обнаруживать ошибки в вашем коде;
3. Можно проводить параллели между разными языками программирования за счет понимания, почему та или иная фича реализована именно так, а не по-другому и это не свойство конкретного языка, а более фундаментальные ограничения.
4. Курс ликвидирует частые пробелы в знаниях разработчиков, например, понимание импликации и ее роль в программировании;
5. Для начинающих специалистов в IT курс даст фундаментальные знания, которые позволят легче и быстрее изучать новые технологии.
Для кого этот курс:
1. Для начинающие в IT, знакомых с синтаксисом какого-либо языка программирования, желающих быстрее продвинуться в изучении какой-либо технологии в IT;
2. Для уже действующих разработчиков, желающих повысить свою квалификацию.
Модуль 1 - Вычисления
Тема 1. Программа как функция
Тема 2. Проблемы, сложности разработки ПО
Тема 3. Понятие алгоритмической неразрешимости. Наиболее известные алгоритмически неразрешимые проблемы
Модуль 2 - Логика
Тема 4. Булевы функции. Таблица истинности. Теорема Поста. Смысл импликации с точки зрения теории множеств и объектно-ориентированного программирования // ДЗ
Тема 5. СКНФ, СДНФ. Упрощение логических формул // ДЗ
Тема 6. Исчисления и логический вывод. Полнота и непротиворечивость // ДЗ
Тема 7. Исчисления высказываний и предикатов
Тема 8. Исчисление программирования // ДЗ
Тема 9. Тесты как классы эквивалентности // ДЗ
Тема 10. Полиморфизм, инкапсуляция как следствие логического вывода
Тема 11. Тип как предикат. Изоморфизм Карри-Говарда
Тема 12. Бестиповое лямбда-исчисление // ДЗ
Модуль 3 - Формальные языки
Тема 13. Понятие формального языка. Способы определения. Форма Бэкуса-Науэра. Классификация Хомского
Тема 14. LL(1) - грамматики. Часть 1 // ДЗ
Тема 15. LR(1) - грамматики. Часть 2
Тема 16. «Регулярные языки и грамматики» // ДЗ
Тема 17. Генераторы компиляторов // ДЗ
Модуль 4 - Реализация конструкций языков программирования
Тема 18. Циклы. Проблема остановки Машины Тьюринга
Тема 19. Выражения. Обратная польская запись и задача генерации машинного кода
Тема 20. Представления процедур, функций и методов объектов
Тема 21. Представление локальных переменных в памяти
Тема 22. Способы организации кучи и реализация оператора new. Работа с сырой памятью. Сборка мусора.
Модуль 5 - ОПП концепции
Тема 23. Абстрагирование как сюръективное отображение
Тема 24. Достаточное условие постоянной скорости разработки
Тема 25. Написание кода в соответствии с достаточным условием постоянной скорости разработки // ДЗ
Тема 26. Обзор архитектурных решений фреймворков, которые обладают признаком постоянной скорости разработки
Модуль 6 - Распределенное и многопоточное программирование
Тема 27. Базовые понятия. Взаимное вмешательство. Критерий процессов свободных от взаимного вмешательства. Методы распараллеливания программ
Тема 28. Критические секции и мьютексы. Семафоры. Реализация потокобезопасных очередей // ДЗ
Тема 29. Условные события // ДЗ
Тема 30. Метки Лампорта. Проблема синхронизации часов в распределенных системах. CAP теорема. Виды распределенных систем
Тема 31. Алгоритмы PAXOS, Raft
Тема 32. Система обмена сообщениями
Модуль 7 Проектная работа
Тема 33. Выбор темы и организация проектной работы // Проект
Тема 34. Консультация по проектам и домашним заданиям
Тема 35. Защита проектных работ
1. Показать связь между математической теорией и программированием, для того чтобы глубже понимать то, что происходит в вашем коде;
2. Сейчас в разработке активно используется DDD (Domain Driven Design) с микросервисной архитектурой. DDD пропагандирует разработку по модели. Весь курс показывает применение математических моделей к программированию, то есть вырабатывается навык построения моделей;
3. Курс показывает, как устроены языки программирования изнутри. Данный курс затрагивает тему, почему языки так устроены, как процессор обрабатывает конструкции языков высокого уровня.
Почему нужно изучать этот курс:
1. Курс даст вам базу программирования и после изучения этих основ вы будете легче и быстрее изучать новые языки программирования и фреймворки, за счет понимания, как устроены языки и процесс выполнения компьютерной программы на процессоре;
2. Знания на курсе позволят вам легче и быстрее обнаруживать ошибки в вашем коде;
3. Можно проводить параллели между разными языками программирования за счет понимания, почему та или иная фича реализована именно так, а не по-другому и это не свойство конкретного языка, а более фундаментальные ограничения.
4. Курс ликвидирует частые пробелы в знаниях разработчиков, например, понимание импликации и ее роль в программировании;
5. Для начинающих специалистов в IT курс даст фундаментальные знания, которые позволят легче и быстрее изучать новые технологии.
Для кого этот курс:
1. Для начинающие в IT, знакомых с синтаксисом какого-либо языка программирования, желающих быстрее продвинуться в изучении какой-либо технологии в IT;
2. Для уже действующих разработчиков, желающих повысить свою квалификацию.
Модуль 1 - Вычисления
Тема 1. Программа как функция
Тема 2. Проблемы, сложности разработки ПО
Тема 3. Понятие алгоритмической неразрешимости. Наиболее известные алгоритмически неразрешимые проблемы
Модуль 2 - Логика
Тема 4. Булевы функции. Таблица истинности. Теорема Поста. Смысл импликации с точки зрения теории множеств и объектно-ориентированного программирования // ДЗ
Тема 5. СКНФ, СДНФ. Упрощение логических формул // ДЗ
Тема 6. Исчисления и логический вывод. Полнота и непротиворечивость // ДЗ
Тема 7. Исчисления высказываний и предикатов
Тема 8. Исчисление программирования // ДЗ
Тема 9. Тесты как классы эквивалентности // ДЗ
Тема 10. Полиморфизм, инкапсуляция как следствие логического вывода
Тема 11. Тип как предикат. Изоморфизм Карри-Говарда
Тема 12. Бестиповое лямбда-исчисление // ДЗ
Модуль 3 - Формальные языки
Тема 13. Понятие формального языка. Способы определения. Форма Бэкуса-Науэра. Классификация Хомского
Тема 14. LL(1) - грамматики. Часть 1 // ДЗ
Тема 15. LR(1) - грамматики. Часть 2
Тема 16. «Регулярные языки и грамматики» // ДЗ
Тема 17. Генераторы компиляторов // ДЗ
Модуль 4 - Реализация конструкций языков программирования
Тема 18. Циклы. Проблема остановки Машины Тьюринга
Тема 19. Выражения. Обратная польская запись и задача генерации машинного кода
Тема 20. Представления процедур, функций и методов объектов
Тема 21. Представление локальных переменных в памяти
Тема 22. Способы организации кучи и реализация оператора new. Работа с сырой памятью. Сборка мусора.
Модуль 5 - ОПП концепции
Тема 23. Абстрагирование как сюръективное отображение
Тема 24. Достаточное условие постоянной скорости разработки
Тема 25. Написание кода в соответствии с достаточным условием постоянной скорости разработки // ДЗ
Тема 26. Обзор архитектурных решений фреймворков, которые обладают признаком постоянной скорости разработки
Модуль 6 - Распределенное и многопоточное программирование
Тема 27. Базовые понятия. Взаимное вмешательство. Критерий процессов свободных от взаимного вмешательства. Методы распараллеливания программ
Тема 28. Критические секции и мьютексы. Семафоры. Реализация потокобезопасных очередей // ДЗ
Тема 29. Условные события // ДЗ
Тема 30. Метки Лампорта. Проблема синхронизации часов в распределенных системах. CAP теорема. Виды распределенных систем
Тема 31. Алгоритмы PAXOS, Raft
Тема 32. Система обмена сообщениями
Модуль 7 Проектная работа
Тема 33. Выбор темы и организация проектной работы // Проект
Тема 34. Консультация по проектам и домашним заданиям
Тема 35. Защита проектных работ
Показать больше
Зарегистрируйтесь
, чтобы посмотреть скрытый контент.