|
|
|
||||||||
<< Вернуться ко всем новостям Программисты, курс для вас! Функциональное программирование: базовый курс 26 сентября - 4 декабря 2016 г. В курсе изучаются основы функционального подхода к программированию и практические вопросы программирования на языке LISP. Функциональные языки обладают множеством интересных особенностей, знакомство с которыми расширяет кругозор программиста. Курс содержит видеолекции, опросы и практические задания по программированию. Материал курса рассчитан на 10 недель обучения. О курсе Курс посвящен введению в функциональное программирование. В настоящее время интерес к функциональному программированию неуклонно растет, а функциональные языки программирования и заложенные в них концепции активно применяются в разработке программного обеспечения, работающего под высокой нагрузкой и предъявляющего повышенные требования к безопасности и масштабируемости. Многие приемы функционального программирования можно применять и в традиционных процедурных и объектно-ориентированных языках, особенно учитывая тот факт, что такие языки, как Java, C++, С#, Python, со временем заимствуют все больше и больше инструментов у чисто функциональных языков. Объяснение базовых концепций функционального подхода к написанию программ в курсе иллюстрируется с помощью одного из самых знаковых для функционального программирования языков – LISP. По окончанию курса обучающиеся смогут применять базовые концепции фукнционального программирования при написании программ на любых языках, а также получат опыт использования языка LISP для решения практических задач. Формат В состав курса входят видеолекции, сопровождаемые опросами для самоконтроля, и практические задания по программированию. Длительность курса составляет 10 недель. Трудоемкость курса – 4 зачетных единицы. Средняя недельная нагрузка на обучающегося – 9 часов. Информационные ресурсы 1. Siebel P. Practical Common Lisp. – Apress, 2005. (Доступен бесплатный и свободно распространяемый перевод на русский язык: lisper.ru/pcl/pcl.pdf) 2. Абельсон Х., Сассман Дж. Структура и интерпретация компьютерных программ. – М: КДУ, 2010. – 609 с. 3. Graham P. On Lisp. 4. Abelson H., Sussman G., Sussman J. Structure and Interpretation of Computer Programs. – 2nd ed. – MIT Press, 1996. 5. Krishnamurthi S. Programming Languages: Application and Interpretation. – Brown University Press, 2003. 6. Steele G., Gabriel R. The evolution of Lisp / The second ACM SIGPLAN conference on History of programming languages. – New York: ACM. – С. 231–270. Требования Необходимым условием для освоения курса является знание основ вычислительной техники и дискретной математики. Для прохождения курса требуется компилятор LISP, поддерживающий стандарт Common Lisp, например, GNU CLISP или SBCL Программа курса В курсе рассматриваются следующие темы: 1. Введение в функциональное программирование и формальные основания функционального программирования 2. Базовые синтаксические конструкции, типы, символы и списки в языке LISP 3. Ввод и вывод в языке LISP 4. Функции высших порядков 5. Рекурсия 6. Применяющие и отображающие функционалы 7. Замыкания и лямбда-выражения 8. Макросы в языке LISP 9. Ленивые вычисления Каждая тема предполагает изучение в течение одной недели. На 10-й неделе запланирован интернет-экзамен. В курсе имеется два типа дедлайна (предельного срока выполнения оценивающих мероприятий): – мягкий дедлайн, при котором необходимо выполнить все оценивающие мероприятия текущей недели до ее завершения; – жесткий дедлайн, при котором на выполнение оценивающих мероприятий после мягкого дедлайна дополнительно выделяется еще две недели, по окончании которых доступ к соответствующим мероприятиям закрывается. Результаты обучения Умение решать задачи прикладного программирования с использованием базовых приемов функционального программирования (РО-1) Умение применять язык программирования LISP для написания программ (РО-2) Формируемые компетенции 09.03.01 Информатика и вычислительная техника Способность разрабатывать модели компонентов информационных систем, включая модели баз данных и модели интерфейсов «человек – электронно-вычислительная машина» (ПК-1) Способность разрабатывать компоненты программно-аппаратных комплексов и баз данных, используя современные инструментальные средства и технологии программирования (ПК-2) 09.03.02 Информационные системы и технологии Способность к проектированию базовых и прикладных информационных технологий (ПК-11) Способность к проектированию базовых и прикладных информационных технологий (ПК-12) 09.03.03 Прикладная информатика Способность разрабатывать, внедрять и адаптировать прикладное программное обеспечение (ПК-2) Способность программировать приложения и создавать программные прототипы решения прикладных задач (ПК-8) 09.03.04 Программная инженерия Готовность применять основные методы и инструменты разработки программного обеспечения (ПК-1) Владение навыками использования различных технологий разработки программного обеспечения (ПК-3) 10.03.01 Информационная безопасность Способность применять программные средства системного, прикладного и специального назначения, инструментальные средства, языки и системы программирования для решения профессиональных задач (ПК-3) Университет ИТМО (Санкт-Петербург) – национальный исследовательский университет, ведущий вуз России в области информационных и фотонных технологий. Альма-матер победителей международных соревнований по программированию: ACM ICPC (единственный в мире шестикратный чемпион), GoogleCodeJam, FacebookHackerCup, Яндекс.Алгоритм, RussianCodeCup, TopcoderOpen и др. Приоритетные направления: IT, фотонные технологии, робототехника, квантовые коммуникации, трансляционная медицина, урбанистика, Art&Science, ScienceCommunication. С 2013 года – участник Проекта 5-100. Опубликовано: 16 июня 2016 | ||||
|
|