| Армения, Степанакерт | 
                Опубликован: 09.01.2004 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»    
     Курс основан на творческом синтезе избранных формальных теорий (ламбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на языках программирования различных типов.
                Курс основан на творческом синтезе избранных формальных теорий (ламбда-исчисление, комбинаторная логика, теория категорий и др.) и уникальной технологической платформы Microsoft.NET, обеспечивающей практически прозрачную интеграцию кода на языках программирования различных типов.    
                Первая часть курса посвящена основам функционального подхода к программированию на основе метаязыка SML.NET. Курс будет полезен как для опытных программистов, так и для студентов, аспирантов и исследователей, специализирующихся в области компьютерных наук и информационных технологий.    
    
                Цель: Целью курса является формирование адекватного мировозрения на современное программирование.    
    
                Необходимые знания: Фундаментальные понятия математики из курса средней школы ("функция", "множество" и т.д.) на интуитивном уровне.    
    План занятий
| Занятие | Заголовок << | Дата изучения | 
|---|---|---|
| - | ||
| Лекция 121 минута | Вступительная лекция
      Обзор истории развития научных направлений, сформировавших теоретическое основание курса. Оглавление | - | 
| Лекция 233 минуты | Классификация языков программирования
      В лекции исследуются вопросы истории и эволюции языков и подходов к программированию, анализируются их достоинства и недостатки, строится классификация языков и подходов к программированию. Оглавление | - | 
| Тест 115 минут | - | |
| Лекция 331 минута | Концепция и возможности подхода .NET
      В лекции рассматриваются вопросы, относящиеся к идеологии, технологии и обзору практических возможностей создания программных систем на основе наиболее современного подхода к проектированию и реализации программного обеспечения, известного под названием Microsoft .NET. Оглавление | - | 
| Тест 215 минут | - | |
| Лекция 424 минуты | Функциональный подход к программированию
      В лекции обсуждаются вопросы, касающиеся истории развития, идеологии, математического обоснования и возможностей программных систем на основе функционального подхода к проектированию и реализации программного обеспечения. Оглавление | - | 
| Тест 315 минут | - | |
| Лекция 528 минут | Ламбда-исчисление как формализация языка функционального программирования
      В лекции производится анализ идеологии, математического основания и возможностей ламбда-исчисления – математической формализации, моделирующей языки функционального программирования. Оглавление | - | 
| Тест 415 минут | - | |
| Самостоятельная работа 112 минут | Базисные типы и стандартные функции языка SML
      Цель: ознакомиться с ядром языка SML, стандартным набором функций, принципами построения функций и типов. Оглавление | - | 
| Лекция 629 минут | Комбинаторная логика как формальная система
      В лекции обсуждаются вопросы, относящиеся к идеологии, математическому основанию и обзору возможностей комбинаторной логики - математической формализации, моделирующей языки функционального программирования и абстрактные вычислительные машины. Оглавление | - | 
| Тест 515 минут | - | |
| Лекция 736 минут | Теория типов и комбинаторная логика
      В данной лекции исследуются принципы, математическое основание и выразительные возможности теории типов и типизированной комбинаторной логики - математической формализации, моделирующей типы выражений в языках программирования. Оглавление | - | 
| Тест 615 минут | - | |
| Самостоятельная работа 25 минут | Функции SML для основных комбинаторов
      Цель: получить представление об отображении комбинаторной логики на язык SML. Оглавление | - | 
| Лекция 840 минут | Синтаксис языков программирования
      В лекции рассматриваются вопросы, относящиеся к понятийному аппарату, истории развития и выразительным возможностям синтаксического представления формальных теорий и языков программирования. Оглавление | - | 
| Тест 715 минут | - | |
| Лекция 935 минут | Семантика языков программирования
      В лекции излагаются основополагающие принципы, история развития, существующие подходы и выразительные возможности семантического представления формальных теорий и языков программирования. Оглавление | - | 
| Тест 815 минут | - | |
| Самостоятельная работа 35 минут | Функции для синтаксического разбора простых языковых конструкций
      Цель: ознакомление с механизмами синтаксического разбора (parsing) простых языковых конструкций. Оглавление | - | 
| Лекция 1028 минут | Рекурсивные функции и множества
      В лекции исследуется рекурсивное представление функций и множеств в формальных теориях и языках программирования. Рассматриваются вопросы, относящиеся к понятийному аппарату и возможностям рекурсивных вычислений. Оглавление | - | 
| Тест 915 минут | - | |
| Самостоятельная работа 45 минут | Рекурсивные вычисления
      Цель: ознакомление с принципами работы механизма рекурсии Оглавление | - | 
| Лекция 1126 минут | Абстрактные машины и категориальная комбинаторная логика
      В лекции излагаются основные концепции абстрактных вычислительных машин. При этом обсуждается история развития последних, анализируются существующие подходы к их реализации. Оглавление | - | 
| Тест 1015 минут | - | |
| Лекция 1232 минуты | Категориальная абстрактная машина
      В лекции предлагается вариант формальной системы комбинаторной логики, а также систематизируется технология построения категориальной абстрактной машины как формализации языков программирования. Оглавление | - | 
| Тест 1115 минут | - | |
| Лекция 1330 минут | Оптимизация вычислений и абстрактные машины
      В лекции рассматриваются возможные направления и ключевые стратегии повышения вычислительной производительности программных систем. Значительное внимание уделяется моделированию этих направлений и стратегий путем внесения "конструктивных изменений" в инструкции и среду вычислений абстрактных машин, в частности, КАМ. Оглавление | - | 
| Тест 1215 минут | - | |
| Самостоятельная работа 53 минуты | Реализация категориальной абстрактной машины
      Цель: практически ознакомиться с принципами реализации категориальной абстрактной машины (КАМ) на основе примеров фрагментов реализации. Оглавление | - | 
| 5 часов | - | 
 
                             
