Математика для программистов

Математика для программистов

Лучшие практики, после изучения которых вы сможете быстрее изучать новые языки программирования и фреймворки

Длительность обучения:

5 месяцев

4 ак. часа в нед.

Что даст вам этот курс

Особенности и цели курса:

  -  Показать связь между математической теорией и программированием, для того чтобы глубже понимать то, что происходит в вашем коде;

  - Сейчас в разработке активно используется DDD (Domain Driven Design) с микросервисной архитектурой. DDD пропагандирует разработку по модели. Весь курс показывает применение математических моделей к программированию, то есть вырабатывается навык построения моделей;

  -  Курс показывает, как устроены языки программирования изнутри. Данный курс затрагивает тему, почему языки так устроены, как процессор обрабатывает конструкции языков высокого уровня


Почему нужно изучать этот курс?

- Курс даст вам базу программирования и после изучения этих основ вы будете легче и быстрее изучать новые языки программирования и фреймворки, за счет понимания, как устроены языки и процесс выполнения компьютерной программы на процессоре;

- Знания на курсе позволят вам легче и быстрее обнаруживать ошибки в вашем коде;

- Можно проводить параллели между разными языками программирования за счет понимания, почему та или иная фича реализована именно так, а не по-другому и это не свойство конкретного языка, а более фундаментальные ограничения.

- Курс ликвидирует частые пробелы в знаниях разработчиков, например, понимание импликации и ее роль в программировании;

- Для начинающих специалистов в IT курс даст фундаментальные знания, которые позволят легче и быстрее изучать новые технологии.

Для кого этот курс?

- Для начинающие в IT, знакомых с синтаксисом какого-либо языка программирования, желающих быстрее продвинуться в изучении какой-либо технологии в IT;

- Для уже действующих разработчиков, желающих повысить свою квалификацию.

Необходимые знания

Для прохождения курса нет обязательных требований.

Корпоративное обучение для ваших сотрудников

Поможем вашей компании развивать команду! Профиты данного курса для компании: Подробное изучение самых популярных баз данных с возможностью сосредоточиться на тех, которые используются в компании / Оптимизированные стабильные системы / Работа над промышленными задачами во время практики
>

Программа обучения

В процессе обучения вы получите комплексные знания и навыки.
Тема 1. Программа как функция
Тема 2. Проблемы, сложности разработки ПО
Тема 3. Понятие алгоритмической неразрешимости. Наиболее известные алгоритмически неразрешимые проблемы
Тема 4. Булевы функции. Таблица истинности. Теорема Поста. Смысл импликации с точки зрения теории множеств и объектно-ориентированного программирования
Тема 5. СКНФ, СДНФ. Упрощение логических формул
Тема 6. Исчисления и логический вывод. Полнота и непротиворечивость
Тема 7. Исчисления высказываний и предикатов
Тема 8. Исчисление программирования
Тема 9. Тесты как классы эквивалентности
Тема 10. Полиморфизм, инкапсуляция как следствие логического вывода
Тема 11. Тип как предикат. Изоморфизм Карри-Говарда
Тема 12. Бестиповое лямбда-исчисление
Тема 13. Понятие формального языка. Способы определения. Форма Бэкуса-Науэра. Классификация Хомского
Тема 14. Регулярные языки и грамматики
Тема 15. LL(1) - грамматики. Часть 1
Тема 16. LR(1) - грамматики. Часть 2
Тема 17. Генераторы компиляторов
Тема 18. Циклы. Проблема остановки Машины Тьюринга
Тема 19. Выражения. Обратная польская запись и задача генерации машинного кода
Тема 20. Представления процедур, функций и методов объектов
Тема 21. Представление локальных переменных в памяти
Тема 22. Способы организации кучи и реализация оператора new. Работа с сырой памятью. Сборка мусора.
Тема 23. Абстрагирование как сюръективное отображение
Тема 24. Достаточное условие постоянной скорости разработки
Тема 25. Написание кода в соответствии с достаточным условием постоянной скорости разработки
Тема 26. Обзор архитектурных решений фреймворков, которые обладают признаком постоянной скорости разработки
Тема 27. Базовые понятия. Взаимное вмешательство. Критерий процессов свободных от взаимного вмешательства. Методы распараллеливания программ
Тема 28. Критические секции и мьютексы. Семафоры. Реализация потокобезопасных очередей
Тема 29. Условные события
Тема 30. Метки Лампорта. Проблема синхронизации часов в распределенных системах. CAP теорема. Виды распределенных систем
Тема 31. Алгоритмы PAXOS, Raft
Тема 32. Система обмена сообщениями
Тема 33. Выбор темы и организация проектной работы
Тема 34. Консультация по проектам и домашним заданиям
Тема 35. Защита проектных работ
Скачать подробную программу

Выпускной проект

В качестве выпускного проекта студентам будет предложено выбор:
- разработать синтаксический анализатор языка программирования;
- вывод типов для языка C#;
- интерпретатор команд виртуальной машины Java;

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

Процесс обучения

Все обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя.

Получить консультацию

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

После обучения вы


  • заберете с собой полный комплект обучающих материалов: видеозаписи всех вебинаров, презентации к занятиям и другие дополнительные материалы;

  • получите сертификат о прохождении курса;
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Математика для программистов»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Зам. директора департамента образования
ООО “Отус Онлайн-Образование”
Вдовиченко М.M.

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Математика для программистов»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Зам. директора департамента образования
ООО “Отус Онлайн-Образование”
Вдовиченко М.M.

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

Прошедшие открытые вебинары

Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Распространенные заблуждения в программировании или чем может помочь математика
Оставьте заявку, чтобы получить доступ к записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке