Интернет Университет информационных технологий Твой путь к знаниям
  Искать!
Курсы | Обучение | Школа | Магазин | Общение | Новости | Помощь

поддержка курса Функциональное программирование
Автор: Д.В. Сошников

? Уровень: для специалистов || Статус: бесплатный || Опубликован: 09.02.2010
Рейтинг: 4.50 || Популярность: 6 || Студентов: 618/21


Поддержка
Microsoft Курс создан при финансовой поддержке компании
Microsoft

Microsoft Dreamspark
Бесплатные лицензионные версии программ для студентов и преподавателей.
Специальное предложение для студентов Интуит.ру. подробнее »

Внимание! Для получения индивидуальный кода Dreamspark студенту Интуит необходимо приступить к изучению одного из курсов по технологиям Microsoft

Рады сообщить, что теперь для студентов Интуит, зарегистрированных на учебные курсы по технологиям Microsoft, стала доступной программа DreamSpark.

  Инициатива DreamSpark предоставляет участникам программы бесплатный доступ к таким продуктам, как Visual Studio 2010 Professional, Windows Server 2008 R2 Standard, Windows Server 2008 Standard, Expression Studio 4 Ultimate, SQL Server 2008 R2 Developer, XNA Game Studio 4.0, Robotics Developer Studio 2008 R2 и многим другим.

  Предоставляемое ПО доступно исключительно в некоммерческих целях для обучения, проведения исследований, разработки и тестирования программного обеспечения в рамках выполнения учебных заданий и личных некоммерческих проектов.

  Также для участников программы DreamSpark открыта возможность бесплатно зарегистрироваться в Windows Marketplace для размещения своих приложений для Windows Phone 7. В этом случае делается исключение из ограничений, указанных выше, и допускается коммерческая разработка с использованием предоставляемых инструментов.

  Для регистрации в программе DreamSpark, перейдите на сайт проекта и залогиньтесь со своим LiveId и используйте индивидуальный код, который Вы сможете получить после того, как приступите к изучение одного из курсов по технологиям Microsoft.   Надеемся, что предоставленное программное обеспечение позволит вам лучше освоить выбранные учебные курсы по информационным технологиям.

Информация о курсе
Курс знакомит слушателей с парадигмой функционального программирования, в которой решение задач сводится к описанию функций, перерабатывающих некоторые входные данные в выходные и строящихся из более простых функций на основе принципов функциональной абстракции и аппликации. Рассматриваются теоретические основы функционального программирования (лямбда-исчисление, комбинаторная логика, вопросы вычислимости), на примере функционального подхода дается представление о некоторых теоретических разделах компьютерных наук (семантика языков программирования, доказательство программ). С другой стороны курс содержит значительную практическую составляющую, основанную на промышленном языке программирования F# (входит в состав Microsoft Visual Studio 2010), рассматриваются вопросы использования функциональных языков для построения компиляторов, грамматического разбора и т.д.
Курс будет интересен как практикующим программистам и студентам, изучившим основы компьютерных наук, так и математикам. Для программистов на императивных языках знакомство с функциональным подходом позволит расширить сознание, перейти на более чистый (свободный от побочных эффектов) стиль программирования с более высоким уровнем абстракции, научиться эффективно использовать новые возможности современных императивных языков (LINQ, лямбда-выражения и т.д.). Для математиков, функциональное программирование может служить безболезненным введением в компьютерные науки, поскольку в рамках курса мы практически «с нуля» строим (начиная от математических основ, вплоть до реализации интерпретатора/компилятора и описания формальной семантики) язык программирования на базе лямбда-исчисления – раздела дискретной математики.

Цель
Познакомить слушателя с основами функционального программирования как дисциплины, находящейся на стыке программирования и дискретной математики; дать, с одной стороны, практические навыки функционального программирования на используемом на практике языке F#, а с другой – показать связь между теоретическими главами computer science и программированием, осветив некоторые теоретические проблемы информатики (вычислимость, семантика языков программирования, доказательство программ) и показав, как они решаются в функциональном подходе.

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

Записаться на обучение
  Варианты обучения Цена Документы
  Самостоятельно Бесплатно сертификат
  ИДО "ИНТУИТ" 2000 руб. сертификат + официальное удостоверение о повышении квалификации
  ВШБИ НИУ ВШЭ 5000 руб. удостоверение о повышении квалификации государственного образца
 
Телефон: +7(499) 253-9312, факс: +7(499) 253-9310, e-mail: dpo@intuit.ru, ICQ: Intuit.Ru (632-332-736), Skype: Intuit.Ru
просмотров: 0 | загрузок: 0
1.
Знакомство. Определение функционального программирования и его история.
просмотров: 0 | загрузок: 0
2.
Абстракция и декомпозиция при функциональном подходе. Декларативное программирование. Плюсы и минусы.
просмотров: 0 | загрузок: 0
3.
Зачем надо изучать функциональное программирование.
просмотров: 0 | загрузок: 0
4.
Построение множества Мандельброта. Функциональное программирование в реальной жизни. Пример визуализации на F#. Рекомендуемая литература. Информация о курсе.
просмотров: 0 | загрузок: 0
5.
Введение в лямбда-исчисление. Редукция. Язык функционального программирования как лямбда-редуктор. Функции нескольких аргументов. Каррирование. Условное выражение. Определение имен. Области видимости.
просмотров: 0 | загрузок: 0
6.
Циклические конструкции. Виды рекурсии.
просмотров: 0 | загрузок: 0
7.
Пример: построение графика 2D-функции и построение графика трехмерной функции
просмотров: 0 | загрузок: 0
8.
Рекурсивные структуры данных. Основные операции работы со списками.
просмотров: 0 | загрузок: 0
9.
Примеры работы со списками. Перестановки. Вычисление простых чисел. Работа с изображениями. Синтаксис порождения списка list comprehension.
просмотров: 0 | загрузок: 0
10.
Хвостовая рекурсия. Порядковое представление списков и матриц.
просмотров: 0 | загрузок: 0
11.
Функциональные структуры данных. Представление очереди. Многомерные массивы.
просмотров: 0 | загрузок: 0
12.
Деревья общего вида и двоичные деревья. Обход дерева. Реализация обхода с помощью функции с отложенным вычислением.
просмотров: 0 | загрузок: 0
13.
Деревья поиска. Деревья выражений. Хвостовая рекурсия для деревьев. Продолжения (continuations).
просмотров: 0 | загрузок: 0
14.
Основные модели вычислений. Синтаксис л-исчисления. Чистое и прикладное л-исчисление. Преобразования л-выражений. Редукция. Бетта-редукция и замена переменной.
просмотров: 0 | загрузок: 0
15.
Нормальный и аппликативный порядок редукции. Ленивые и энергичные вычисления. Механизмы вызова и проблема разделения. Теорема Чёрча-Россера и теорема стандартизации. Экстенсиональность. Слабая заголовочная нормальная форма.
просмотров: 0 | загрузок: 0
16.
Описание рекурсивных функций. Оператор неподвижной точки. Комбинаторы и комбинаторная логика.
просмотров: 0 | загрузок: 0
17.
Представление условных выражений, списков и натуральных чисел в лямбда исчислении.Вычислимость.Эквивалентность алгоритмических моделей.
просмотров: 0 | загрузок: 0
18.
Переопределение имен. Замыкания. Генераторы - как способ работы с бесконечными последовательностями, отложенные вычисления.
просмотров: 0 | загрузок: 0
19.
F# sequences. Примеры. Ленивые вычисления. Мемоизация.
просмотров: 0 | загрузок: 0
20.
Определение. Пример. Реализация на F#. Зиппер.
просмотров: 0 | загрузок: 0
21.
Классификация языков программирования по видам типизации. Типизированное лямбда исчисление. Вывод типов.
просмотров: 0 | загрузок: 0
22.
Классификация формальных семантик.Теория доменов. Теорема о неподвижной точке. Семантика для простейшего языка.
просмотров: 0 | загрузок: 0
23.
Доказательство корректности программ на примерах. Проблема самопременимости.
просмотров: 0 | загрузок: 0
24.
Реализация функциональных языков. Eval-Apply-интерпретаторы.
просмотров: 0 | загрузок: 0
25.
Обработка рекурсии и ленивые вычисления в Eval-Apply модели. SECD-машина.
просмотров: 0 | загрузок: 0
26.
Редукция графов. Эффект разделения. Пара слов о потоковых графах.
просмотров: 0 | загрузок: 0
27.
Языки и грамматики. Лексический анализ. Синтаксический разбор. Специализированные утилиты.
просмотров: 0 | загрузок: 0
28.
Метапрограммирование. Quotations. Примеры. DLinq технология.
просмотров: 0 | загрузок: 0
29.
Императивное ядро в функциональных языках. Монады. Примеры.
просмотров: 0 | загрузок: 0
30.
Подходы к параллельным вычислениям. Asychrnous Workflows. Примеры.
 
 

Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.
Нужна помощь?
• Забыли пароль? Вам сюда...
• Есть вопрос? Спрашивайте!
Вы можете:
• Изменить персональные данные
• Изменить параметры подписки
Интернет-магазин:
• Ваши заказы здесь
• Ваш личный счет
Курсы | Учебные программы | Учебники | Вопросы и Ответы | Форум | Новости | Помощь

Телефон: +7 (499) 253-9312, 253-9313, факс: +7 (499) 253-9310, email: info@intuit.ru
© INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование, 2003-2011
Проект Издательства "Открытые Системы".
Партнеры: РМ Телеком, KRAFTWAY COMPUTERS.
Rambler's Top100