НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Современные скриптовые языки программирования»
для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра
Правительство Российской Федерации
Нижегородский филиал
Федерального государственного автономного образовательного учреждения высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"
Факультет бизнес-информатики и прикладной математики
Программа дисциплины
«Современные скриптовые языки программирования»
для направления 010400.62 – Прикладная математика и информатика
подготовки бакалавра
Автор программы: Приблудова О.М.
Одобрена на заседании кафедры «Базовая кафедра МЕРА» «___»____________ 2013г.
Зав. кафедрой Н.И. Кащеев
Рекомендована секцией УМС «Прикладная математика» «___»____________ 2013г.
Председатель В.А. Калягин
Утверждена УМС НИУ ВШЭ – Нижний Новгород «___»_____________2013 г.
Председатель В.М.Бухаров
Нижний Новгород, 2013 г.
Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы.
Область применения и нормативные ссылки
Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 010400.62 – Прикладная математика и информатика» подготовки бакалавра, изучающих дисциплину «Современные скриптовые языки программирования».
Программа разработана в соответствии с образовательным стандартом федерального государственного образовательного автономного учреждения высшего профессионального образования Высшей школы экономики.
Цели освоения дисциплины
Целью дисциплины является изучение средств создания приложений различного уровня сложности, предоставляемых современными скриптовыми языками, а так же получение практических навыков в использовании скриптовых языков
Компетенции обучающегося, формируемые в результате освоения дисциплины
В результате освоения дисциплины студент должен:
овладеть навыками программирования для применения современных высокоуровневых структур данных, присущих программам на скриптовых языках
Знать языковые средства и основные принципы программирования на этих языках, а также базовые принципы современной скриптовой обработки информации
В результате освоения дисциплины студент осваивает следующие компетенции:
Компетенция
|
Код по НИУ
|
Дескрипторы – основные признаки освоения (показатели достижения результата)
|
Формы и методы обучения, способствующие формированию и развитию компетенции
|
способность понимать сущность и значение информации в развитии современного
информационного общества, сознавать опасности и угрозы, возникающие в этом
процессе, соблюдать основные требования информационной безопасности, в том
числе защиты государственной тайны
|
СЛК-7
|
Студент развивает самооценку в ходе публичных дискуссий, повышает свою квалификацию, участвуя в разработке индивидуальных и коллективных проектов
|
Подготовка к проектным семинарам, участие в публичных дискуссиях коллектива учебной группы, разработка алгоритмов и программного кода для индивидуальных и коллективных проектов
|
способность осуществлять целенаправленный многокритериальный поиск
информации о новейших научных и технологических достижениях в сети Интернет
и из других источников
|
ПК-5
|
Студент использует современные компьютерные технологии при выполнении заданий учебной дисциплины, применяет современные системы программирования для разработки программного кода, интерпретирует результаты своих разработок
|
Совершенствование в овладении инструментальными средствами современных систем программирования для разработки программного кода
|
Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к факультативам. Курс опирается на следующие курсы «Дискретная математика» и «Основы информатики и программирования». Курс играет важную роль в развитии понимания будущими специалистами низкоуровневого программирования и функционирования компьютерной системы.
Тематический план учебной дисциплины
|
Наименование тем
|
Всего
|
Лекции
|
Практические занятия
|
Самостоятельная работа
|
часов
|
|
|
Раздел 1. Язык BASH
|
1.1
|
Общие сведения о скриптовых языках программирования.
|
8
|
2
|
2
|
4
|
1.2
|
Основы программирования на языке BASH
|
8
|
2
|
2
|
4
|
|
|
Раздел 2. Основы программирования на языке Perl
|
2.1
|
Введение в язык Perl. Фундаментальные типы данных. Строки и числа.
|
7
|
2
|
2
|
3
|
2.2
|
Выражения языка Perl. Основные алгоритмические структуры.
|
8
|
2
|
2
|
4
|
2.3
|
Основные структуры данных Perl: массивы и хэши.
|
8
|
2
|
2
|
4
|
2.4
|
Регулярные выражения Perl
|
12
|
2
|
2
|
8
|
2.5
|
Разработка процедур на языке Perl. Стандартный и файловый ввод/вывод
|
9
|
2
|
2
|
5
|
|
|
|
Раздел 3. Основы программирования на языке Python
|
3.1
|
Основы языка Python
|
12
|
2
|
1
|
8
|
3.2
|
Основные структуры данных в языке Python
|
8
|
2
|
2
|
8
|
3.3
|
Ввод/вывод на Python
|
8
|
2
|
1
|
8
|
3.4
|
Основы функционального программирования на Python
|
10
|
0
|
1
|
8
|
3.5
|
Модули и объектно-ориентированное программирование на Python
|
10
|
0
|
1
|
6
|
Итого
|
108
|
20
|
20
|
68
|
Формы контроля знаний студентов
Тип контроля
|
Форма контроля
|
Модули
|
Параметры
|
|
|
3
|
Текущий контроль
|
реферат
|
|
|
*
|
Письменная работа объемом не менее 15 печатных страниц.
|
Итоговый
|
Зачет
|
|
|
*
|
Устная форма, 2 вопроса и 1 задача
|
Критерии оценки знаний, навыков
Текущий контроль для каждого студента подразумевает подготовку реферата по заранее выбранной и согласованной с преподавателем теме. Работа над рефератом ведется на протяжении 4 недель в течение 3 модуля.
Итоговый контроль: зачет на последней неделе 3 модуля. Оценка определяется по 10-балльной шкале.
Содержание дисциплины
Раздел 1. ЯЗЫК BASH
Тема 1.1. Общие сведения о скриптовых языках программирования
Классификация языков программирования. Определение скриптового языка. Особенности скриптовых языков. Преимущества и недостатки. Краткий обзор скриптовых языков.
Основная литература
Сценарный язык[Электронный ресурс]:http://ru.wikipedia.org/wiki/Сценарный_язык
Дополнительная литература
Богатырев Р. Природа и эволюция сценарных языков. //Мир ПК. – 2001. - №11
Тема 1.2. Основы программирования на языке BASH
Синтаксические основы языка Bash. Символы и переменные. Стандартный ввод/вывод. Операции с файлами. Регулярные выражения. Основные команды unix и их использование в сценариях. Процедуры. Массивы. Управление выводом.
Основная литература
Пик Д., О’Райли. Unix – инструментальные средства
Дополнительная литература
Тансли Д. Linux и Unix: программирование в Shell. Руководство разработчика, BHV, 2001.
Глава 2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PERL
Тема 2.1. Введение в язык Perl. Фундаментальные типы данных. Строки и числа.
Классификация типов в Perl. Скалярные переменные. Основные операции. Представление чисел. Строки и операции над ними.
Основная литература
Матросов А.В., Чаунин М.П. PERL:Программирование на языке высокого уровня. – СПб.:Питер, 2003
Дополнительная литература
Кристиансен Т., Торкингтон Н. Perl: библиотека программиста. – СПб: Питер, 2001
Тема 2.2. Выражения языка Perl. Основные алгоритмические структуры.
Классификация операторов языка. Префиксная и постфиксная формы алгоритмических операторов. Системные переменные.
Основная литература
Матросов А.В., Чаунин М.П. PERL:Программирование на языке высокого уровня. – СПб.:Питер, 2003
Дополнительная литература
Кристиансен Т., Торкингтон Н. Perl: библиотека программиста. – СПб: Питер, 2001
Тема 2.3. Основные структуры данных Perl: массивы и хэши.
Понятие массива в языке Perl. Основные операции над элементами массива. Массивы и Хэши. Создание, заполнение и использование хэшей.
Основная литература
Матросов А.В., Чаунин М.П. PERL:Программирование на языке высокого уровня. – СПб.:Питер, 2003
Дополнительная литература
Кристиансен Т., Торкингтон Н. Perl: библиотека программиста. – СПб: Питер, 2001
Тема 2.4. Регулярные выражения Perl
Понятие регулярного выражения. Строительные блоки регулярных выражений. Примеры использования.
Основная литература
Матросов А.В., Чаунин М.П. PERL:Программирование на языке высокого уровня. – СПб.:Питер, 2003
Дополнительная литература
Кристиансен Т., Торкингтон Н. Perl: библиотека программиста. – СПб: Питер, 2001
Тема 2.5. Разработка процедур на языке Perl. Стандартный и файловый ввод/вывод
Процедуры с параметрами и без. Оператор shift. Разработка процедур и их использование. Работа с консолью: чтение, запись данных. Работа с файлами.
Основная литература
Матросов А.В., Чаунин М.П. PERL:Программирование на языке высокого уровня. – СПб.:Питер, 2003
Дополнительная литература
Кристиансен Т., Торкингтон Н. Perl: библиотека программиста. – СПб: Питер, 2001
Глава 3. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON
Тема 3.1 Основы языка Python
История возникновения и развития языка Python. Отличия от других скриптовых языков. Синтаксические особенности.
Основная литература
Лутц. М. Изучаем Python. - М.: Символ плюс, 2011
Бизли Д. Python: подробный справочник. – М.: Символ плюс, 2010
Дополнительная литература
Саммерфилдт М. Программирование на Python, М.: BHV, 2009.
Тема 3.2 Основные структуры данных в языке Python
Классификация типов данных в языке Python. Массивы и списки. Наборы и словари. Операции доступа к элементам пользовательских типов. Работа с датой/временем.
Основная литература
Лутц. М. Изучаем Python. - М.: Символ плюс, 2011
Бизли Д. Python: подробный справочник. – М.: Символ плюс, 2010
Дополнительная литература
Саммерфилдт М. Программирование на Python, М.: BHV, 2009.
Тема 3.3 Ввод/вывод на Python
Стандартный и файловый ввод/вывод. Форматирование данных. Пользовательские функции.
Основная литература
Лутц. М. Изучаем Python. - М.: Символ плюс, 2011
Бизли Д. Python: подробный справочник. – М.: Символ плюс, 2010
Дополнительная литература
Саммерфилдт М. Программирование на Python, М.: BHV, 2009.
Тема 3.4 Основы функционального программирования на Python
Понятие функционального программирования. Лямбда-функции. Замыкания, генераторы и ленивые вычисления.
Основная литература
Лутц. М. Изучаем Python. - М.: Символ плюс, 2011
Бизли Д. Python: подробный справочник. – М.: Символ плюс, 2010
Дополнительная литература
Саммерфилдт М. Программирование на Python, М.: BHV, 2009.
Тема 3.5 Модули и объектно-ориентированное программирование на Python
Разработка и подключение модулей. Определение класса. Конструкторы и деструкторы. Наследование.
Основная литература
Лутц. М. Изучаем Python. - М.: Символ плюс, 2011
Бизли Д. Python: подробный справочник. – М.: Символ плюс, 2010
Дополнительная литература
Саммерфилдт М. Программирование на Python, М.: BHV, 2009.
Образовательные технологии
Традиционное чтение лекций. Решение задач по тематике лекций. Обсуждение прикладных и алгоритмических аспектов решаемых задач. Разработка учебных компьютерных программ.
Методические рекомендации преподавателю
Темы индивидуальных заданий для проведения практических занятий должны отличаться для каждого нового учебного года
Методические указания студентам
Рекомендуется подготовка к каждому занятию по заданиям, озвученным преподавателем на предыдущем занятии.
Для более глубокого усвоения курса предполагается использование студентами дополнительной литературы, работа в библиотеке, поиск информации в сети Интернет
Оценочные средства для текущего контроля и аттестации студента
Тематика практических заданий
Функциональное программирование на Python.
Объектно-ориентированные возможности Python.
Программирование задач администратора в unix-среде.
Обработка данных на языке Perl.
Использование регулярных выражений для анализа данных.
Знакомство с программированием на языке Python.
Функциональное программирование на Python.
Объектно-ориентированные возможности Python.
Порядок формирования оценок по дисциплине
Контроль знаний студентов включает формы текущего и итогового контроля. Занятия проходят в 3-м модуле. Текущий контроль – реферат по заранее выбранной и согласованной с преподавателем теме, работа студентов на практических занятиях Формы текущего и итогового контроля оценивается по 10-балльной шкале.
Зачет:
На зачете (экзамене), представляющем собой письменные ответы на вопросы и решение задачи с последующим собеседованием, оценка проставляется следующим образом:
высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при отличном выполнении заданий (полных, с примерами и возможными обобщениями ответах на вопросы, при правильном решении задачи и детальном ее представлении);
почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и решении задачи, но при отсутствии примеров и обобщений, а также детального представления решаемой задачи;
оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при отсутствии пояснений и обобщений, а также детального представления решаемой задачи;
оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы или неточностях в решении задачи непринципиального характера (описки и случайные ошибки);
оценка в 4-5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются существенные неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины;
оценка в 2-3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задачи;
оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине.
По результатам устного собеседования с преподавателем возможны корректировки оценки в ту или иную сторону.
Накопленная оценка за текущий контроль учитывает результаты студента следующим образом:
Онакопленная = 0,5* Ореф +0,5*Оаудитор.
Способ округления накопленной оценки – арифметический.
Результирующая оценка за дисциплину рассчитывается по формуле:
Орезульт = 0,6*Онакопленная + 0,4*Озачет
В диплом выставляет результирующая оценка по учебной дисциплине.
Способ округления результирующей оценки по учебной дисциплине – арифметический.
Учебно-методическое и информационное обеспечение дисциплины
Основная литература:
Матросов А.В., Чаунин М.П. PERL:Программирование на языке высокого уровня. – СПб.: Питер, 2010
Лутц. М. Изучаем Python. - М.: Символ плюс, 2011
Бизли Д. Python: подробный справочник. – М.: Символ плюс, 2010
Дополнительная литература
Богатырев Р. Природа и эволюция сценарных языков. //Мир ПК. – 2001. - №11
Кристиансен Т., Торкингтон Н. Perl: библиотека программиста. – СПб: Питер, 2001
Саммерфилдт М. Программирование на Python, М.: BHV, 2009.
Электронные ресурсы
Сценарный язык[Электронный ресурс]:http://ru.wikipedia.org/wiki/Сценарный_язык
Пик Д., О’Райли. Unix – инструментальные средства
Материально-техническое обеспечение дисциплины
Мультимедийное оборудование – ноутбук, экран, проектор.
Состав программного обеспечения:
Операционная система: Windows или Linux
Офисный пакет: MS Office или Open Office или Libre Office
Используется ПО в компьютерном классе НИИТ. В НИУ ВШЭ – Нижний Новгород студентам предоставляется возможность самостоятельной работы с электронными ресурсами информации, периодической литературой.
В компьютерном классе (НИИТ) доступ on-line
Автор программы Приблудова О.М.
|