Автор: Сергей Зыков | Национальный исследовательский ядерный университет «МИФИ»
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 27 студентам
Уровень:
Для всех
Длительность:
10:03:00
Студентов:
3811
Выпускников:
321
Качество курса:
4.02 | 3.77
Курс основан на творческом синтезе избранных формальных теорий (ламбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на языках программирования различных типов.
Первая часть курса посвящена основам функционального подхода к программированию на основе метаязыка SML.NET. Курс будет полезен как для опытных программистов, так и для студентов, аспирантов и исследователей, специализирующихся в области компьютерных наук и информационных технологий.
Темы: Программирование
Специальности: Программист, Архитектор программного обеспечения
ISBN: 978-5-9556-0009-3
Теги: .net, common language infrastructure, CTS, FST, haskell, lisp, objective-c, SML, SND, аппликация, безопасность, вычисления, интерфейсы, комбинаторная логика, компиляторы, ламбда-исчисление, логика, программирование, рекурсивные вычисления, теория, формальная система, функциональное программирование, элементы
План занятий
Занятие
Заголовок <<
Дата изучения
Лекция 1
21 минута
Вступительная лекция
Обзор истории развития научных направлений, сформировавших теоретическое основание курса.
Оглавление
-
Лекция 2
33 минуты
Классификация языков программирования
В лекции исследуются вопросы истории и эволюции языков и подходов к программированию, анализируются их достоинства и недостатки, строится классификация языков и подходов к программированию.
Оглавление
-
Лекция 3
31 минута
Концепция и возможности подхода .NET
В лекции рассматриваются вопросы, относящиеся к идеологии, технологии и обзору практических возможностей создания программных систем на основе наиболее современного подхода к проектированию и реализации программного обеспечения, известного под названием Microsoft .NET.
Оглавление
-
Лекция 4
24 минуты
Функциональный подход к программированию
В лекции обсуждаются вопросы, касающиеся истории развития, идеологии, математического обоснования и возможностей программных систем на основе функционального подхода к проектированию и реализации программного обеспечения.
Оглавление
-
Лекция 5
28 минут
Ламбда-исчисление как формализация языка функционального программирования
В лекции производится анализ идеологии, математического основания и возможностей ламбда-исчисления – математической формализации, моделирующей языки функционального программирования.
Оглавление
-
Самостоятельная работа 1
12 минут
Базисные типы и стандартные функции языка SML
Цель: ознакомиться с ядром языка SML, стандартным набором функций, принципами построения функций и типов.
Оглавление
-
Лекция 6
29 минут
Комбинаторная логика как формальная система
В лекции обсуждаются вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей комбинаторной логики - математической формализации, моделирующей языки функционального программирования и абстрактные вычислительные машины.
Оглавление
-
Лекция 7
36 минут
Теория типов и комбинаторная логика
В данной лекции исследуются принципы, математическое основание и выразительные возможности теории типов и типизированной комбинаторной логики - математической формализации, моделирующей типы выражений в языках программирования.
Оглавление
-
Самостоятельная работа 2
5 минут
Функции SML для основных комбинаторов
Цель: получить представление об отображении комбинаторной логики на язык SML.
Оглавление
-
Лекция 8
40 минут
Синтаксис языков программирования
В лекции рассматриваются вопросы, относящиеся к понятийному аппарату, истории развития и выразительным возможностям синтаксического представления формальных теорий и языков программирования.
Оглавление
-
Лекция 9
35 минут
Семантика языков программирования
В лекции излагаются основополагающие принципы, история развития, существующие подходы и выразительные возможности семантического представления формальных теорий и языков программирования.
Оглавление
-
Самостоятельная работа 3
5 минут
Функции для синтаксического разбора простых языковых конструкций
Цель: ознакомление с механизмами синтаксического разбора (parsing) простых языковых конструкций.
Оглавление
-
Лекция 10
28 минут
Рекурсивные функции и множества
В лекции исследуется рекурсивное представление функций и множеств в формальных теориях и языках программирования. Рассматриваются вопросы, относящиеся к понятийному аппарату и возможностям рекурсивных вычислений.
Оглавление
-
Самостоятельная работа 4
5 минут
Рекурсивные вычисления
Цель: ознакомление с принципами работы механизма рекурсии
Оглавление
-
Лекция 11
26 минут
Абстрактные машины и категориальная комбинаторная логика
В лекции излагаются основные концепции абстрактных вычислительных машин. При этом обсуждается история развития последних, анализируются существующие подходы к их реализации.
Оглавление
-
Лекция 12
32 минуты
Категориальная абстрактная машина
В лекции предлагается вариант формальной системы комбинаторной логики, а также систематизируется технология построения категориальной абстрактной машины как формализации языков программирования.
Оглавление
-
Лекция 13
30 минут
Оптимизация вычислений и абстрактные машины
В лекции рассматриваются возможные направления и ключевые стратегии повышения вычислительной производительности программных систем. Значительное внимание уделяется моделированию этих направлений и стратегий путем внесения "конструктивных изменений" в инструкции и среду вычислений абстрактных машин, в частности, КАМ.
Оглавление
-
Самостоятельная работа 5
3 минуты
Реализация категориальной абстрактной машины
Цель: практически ознакомиться с принципами реализации категориальной абстрактной машины (КАМ) на основе примеров фрагментов реализации.
Оглавление
-