Программа дисциплины «Основы программирования»



Дата12.07.2016
өлшемі128.71 Kb.
#195223
түріПрограмма дисциплины



Правительство Российской Федерации
Нижегородский филиал

федерального государственного автономного образовательного

учреждения высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"

Факультет гуманитарных наук

Программа дисциплины

«Основы программирования»




для направления 035800.62 «Фундаментальная и прикладная лингвистика»

1 курс.
Автор программы:

Сухов П.А., (pasuhov@hse.ru)

Одобрена на заседании кафедры ПМИ «___»____________ 2012 г.

Зав. кафедрой Калягин В.А._______________________


Рекомендована секцией УМС «Прикладная математика» «___»________ 2012 г.

Председатель Калягин В.А._______________________


Рекомендована секцией УМС «Гуманитарные науки» «___»________ 2012 г.

Председатель Зусман В.Г._______________________


Утверждена УМС НИУ ВШЭ – Нижний Новгород «___»_____________2012 г.

Председатель Петрухин Н.С. ________________________

Н.Новгород, 2012

Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы..

1Область применения и нормативные ссылки


Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и

умениям студента и определяет содержание и виды учебных занятий и отчётности.

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

ассистентов и студентов направления подготовки 035800.62 «Фундаментальная и прикладная

лингвистика», обучающихся по магистерской программе «Фундаментальная и прикладная

лингвистика», изучающих дисциплину «Программирование для лингвистов».

Программа разработана в соответствии с:


  • Образовательным стандартом государственного образовательного бюджетного учреждения высшего профессионального образования Высшей школы экономики, в отношении которого установлена категория «национальный исследовательский университет» (ГОБУ ВПО НИУ—ВШЭ), протокол от 24.06.2011

  • Образовательной программой направления «Фундаментальная и прикладная лингвистика» подготовки бакалавра;

  • Рабочим учебным планом НИУ—ВШЭ на 2012/2013 гг. по направлению подготовки «Фундаментальная и прикладная лингвистика», утверждённым в 2012 году.

2Цели освоения дисциплины


Цель курса — научить слушателей применять компьютерные технологии (в первую очередь, язык программирования Python) для решения возникающих на практике лингвистических задач

(автоматическая обработка и анализ текстовых данных, поиск информации и др.). В вводной части курса рассматриваются основы языка Python не связанные с лингвистическими задачами. Основная часть курса посвящена углубленному изучению программирования на языке Python, алгоритмов и регулярных выражений, практических лингвистических задач.


3Компетенции обучающегося, формируемые в результате освоения дисциплины


В результате освоения дисциплины студент должен:

  • Знать базовый синтаксис языка Python

  • Знать встроенные структуры данных языка Python(списки, словари, множества, кортежи и др.)

  • Знать язык регулярных выражений, применяемых в языке Python

  • Уметь составлять и реализовывать алгоритмы на языке питон

  • Уметь применять полученные знания для решения практических задач

  • Иметь навыки работы со средами разработки для языка Python (ipython, ipython notebook, PyScripter, Spyder)

  • Приобрести опыт работы с библиотекой NLTK (Natural Language Toolkit)

В результате освоения дисциплины студент осваивает следующие компетенции:



Компетенция

Код по НИУ

Дескрипторы – основные признаки освоения (показатели достижения результата)

Формы и методы обучения, способствующие формированию и развитию компетенции

владением современными компьютерными инструментами лингвистического

исследования




ПК-8

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

Задачи на практических занятиях должны требовать знание наиболее широкого спектра механизмов и инструментов, описанных в лекционном материале

владением методами сбора и документации лингвистических данных

ПК-9

Использует возможности технических средств для автоматического коллекционирования и фильтрования лингвистических данных

Практические занятия должны быть сформулированы для недостаточно структурированных данных

владением навыками программирования для реализации профессиональных задач и навыками создания баз данных



ПК-21

Применяет компетенции, полученные на занятиях, для решения практических задач

Задачи должны быть максимально приближены к реальным

4Место дисциплины в структуре образовательной программы


Настоящая дисциплина является частью математического и естественно-научного цикла.

Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин: Базы данных, Теория автоматов и формальных языков, Автоматическая

обработка естественного языка, Информационный поиск и извлечение данных, Анализ и синтез

звучащей речи, Морфологические и синтаксические парсеры, Онтологии и семантические

технологии, Машинный перевод, Компьютерные технологии корпусной лингвистики.

5Тематический план учебной дисциплины






Название раздела

Всего часов

Аудиторные часы

Самостоя­тельная работа

Лекции

Семинары

Практические занятия

1

Введение в язык Python

24

10




14

20

2

Сторонние библиотеки языка Python

10

5




5

15

3

Введение в алгоритмы. Понятие сложности алгоритма.

4

4




0

5

3

Основы алгоритмов анализа текста

20

10




10

30

4

Основы алгоритмов машинного обучения

30

10




20

30

5

Механизмы анализа текста в сети «Интернет»

10

3




7

18




Нужно

216

48




49

119

Исправить часы

Формы контроля знаний студентов

Тип контроля

Форма контроля

1 год

Параметры

1

2

3

4

Текущий

(неделя)


Контрольная работа




4




4

???????????????




Домашнее задание













??????????????? Одно

Промежуточный

Зачет




*







?????????????

Итоговый

Экзамен










*

Решение задач по программированию на 120 минут

Проставить параметры



5.1Критерии оценки знаний, навыков



  • При оценивании программы в первую очередь обращается внимание на то, насколько её работа соответствует требованиям, описанным в задании. Программа, не запускающаяся из-за синтаксических ошибок, не может получить оценку выше 4 баллов. Баллы могут сниматься, в частности, за неточное выполнение задания и отсутствие разбора случаев, из-за которых при исполнении программы может произойти ошибка. Во вторую очередь могут оцениваться оптимальность решения (в смысле времени работы программы и количества строк кода) и стиль.

  • На контрольной во 2 модуле проверяется знание синткасиса языка Python, умение реализовывать простейшие алгоритмы на этом языке и навыки владения средой разработки.

  • На контрольной в 4 модуле проверяется знание языка регулярных выражений, сторонних библиотек и алгоритмов.

  • На экзамене проверяются все знания и умения, приобретённые во время изучения настоящей дисциплины.

  • На каждой контрольной и экзамене, задания выполняются на компьютере. В исключительных случаях может быть задан дополнительный теоретический вопрос.

  • Во время проведения контрольных и экзамена разрешено использование любой справочной литературы, записей с лекций, материалов из Интернет-ресурсов. Запрещено общение с другими людьми.


5.2Порядок формирования оценок по дисциплине



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

Преподаватель оценивает самостоятельную работу студентов руководствуясь правилами пункта 5.1. Оценки за самостоятельную работу студента преподаватель выставляет в рабочую ведомость. Накопленная оценка по 10-ти балльной шкале за самостоятельную работу определяется перед промежуточным или итоговым контролем – Осам. работа.


Накопленная оценка за текущий контроль учитывает результаты студента по текущему контролю следующим образом:

Онакопленная= 0.6* Отекущий + 0.2* Оауд + 0.2* Осам.работа

где Отекущий рассчитывается как взвешенная сумма всех форм текущего контроля, предусмотренных в РУП

Отекущий = 0.5·Ок/р1 + 0.5·Ок/р2 ;
Результирующая оценка за дисциплину рассчитывается следующим образом:

Орезульт = 0.2* Онакопл + 0.8 *·Оэкз/зач

Немного не так.

Вначале нужно определиться, в каком модуле будет реализовываться домашнее задание. Предположим, что в третьем.

Делим процесс изучения дисциплины на два этапа (до зачета и после него).

1-ый этап.

Онакопленная1= 0,6* Отекущий1 + 0,2* Оауд + 0,2* Осам.работа



Отекущий1 = Ок/р1

Опромежуточная1 = 0,5·Отекущий1 + 0,5·О зачет
2-ой этап

Онакопленная2= 0,6* Отекущий2 + 0,2* Оауд + 0,2* Осам.работа



Отекущий2 =0,5·Ок/р2 + 0,5·Од/з

Онакопленная Итоговая =промежуточная 1+ Онакопленная 2) : 2



Орезульт = 0,6·Онакопл итоговая + 0,4·О экзамен

Коэффициенты ориентировочные.


Способ округления накопленной оценки промежуточного (итогового) контроля в форме экзамена: в пользу студента.

В случае безупречного выполнения экзамена студент имеет возможность получить 10 независимо от накопительной оценки после ответа на дополнительные теоретические вопросы.


В случае, если при выполнении экзаменационного задания имели место быть недочеты, на экзамене студент может получить дополнительный вопрос (дополнительную практическую задачу, решить к пересдаче домашнее задание), ответ на который оценивается в 1 балл.

В диплом выставляет результирующая оценка по учебной дисциплине, которая формируется по следующей формуле:



Орезульт =0.2·Онакопл + 0.8·Оитоговый

Способ округления результирующей оценки по учебной дисциплине: в пользу студента.



ВНИМАНИЕ: оценка за итоговый контроль блокирующая, при неудовлетворительной итоговой оценке она равна результирующей. Внимание. С января 2013 года это правило не действует.

6Содержание дисциплины Название разделов должно соответствовать тем.плану


  1. Раздел 1 Средства языка Python

Темы:

    1. Введение. Понятие компилятора, интерпретатора. Знакомство со средой разработки.

    2. Способы ввода-вывода. Арифметические выражения. Переменные.

    3. Условные переходы.

    4. Циклы.

    5. Файловый ввод-вывод.

    6. Базовые структуры данных.

    7. Встроенные контейнеры.

    8. Встроенные функции.

    9. Объявление функций. Рекурсивный вызов.




  1. Раздел 2. Сторонние библиотеки языка Python

    Темы:


    1. Библиотека NLTK.

    2. Библиотека Matplotlib. Возможности отображения данных.

    3. Библиотека NumPy и SciPy.

    4. Библиотека Scikit-Learn.

    5. Прочие библиотеки.



  2. Раздел 3. Основы алгоритмов и структур данных в анализе текста

    Темы:


    1. Введение. Понятие сложности.

    2. Классические алгоритмы.

    3. Введение в алгоритмы анализа текста. Отличие алгоритмов от классических.

    4. Алгоритм Кнута-Морриса-Пратта, алгоритм Бойра-Мура.

    5. Суффиксные массивы и суффиксные деревья.

    6. Сжатые суффиксные деревья. Структуры данных для представления их в памяти.

    7. Введение в машинное обучение.

    8. Алгоритм k-ближайших.

    9. Алгоритм Байеса.

    1. 0 Метод опорных векторов

    3.11 Применение алгоритмов машинного обучения к лингвистическим задачам


7Образовательные технологии

7.1Методические рекомендации преподавателю


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

8Оценочные средства для текущего контроля и аттестации студента

8.1Тематика заданий текущего контроля


Где?

8.2Вопросы для оценки качества освоения дисциплины


Примерный перечень вопросов к зачету (экзамену) по всему курсу или к каждому промежуточному и итоговому контролю для самопроверки студентов.

Где?

8.3Примеры заданий промежуточного /итогового контроля


Примеры заданий промежуточного контроля первого модуля:

  1. Найти число Фибоначчи номер 435245

  2. Среди чисел от 20000 до 30000 включительно найти все палиндромы кратные 3-м.

  3. Найти самую длинную строку в файле task.dat

Пример задачи из экзаменационного контроля:

  1. В файле text.dat дан отрывок одного произведения. Написать программу, которая выдаст все слова, предположительно являющиеся в этом отрывке именами собственными.



9Учебно-методическое и информационное обеспечение дисциплины

9.1Базовый учебник


Базовая информация содержится на сайте документации языка Python - http://docs.python.org

9.2Основная литература


Кормен Т. Алгоритмы. Построение и анализ. Вильямс, 2012.
9.3 Интернет-ресурсы

http://docs.python.org

http://docs.scipy.org/doc/

http://nltk.org/

http://matplotlib.org/

    1. Программные средства


Для успешного освоения дисциплины, студент использует следующие программные средства:

  • IPython notebook

  • PyScripter

  • Spyder

10Материально-техническое обеспечение дисциплины


На каждое занятие каждому студенту должен быть предоставлен доступ к компьютеру, с возможностью выхода в интернет, интерпретатором языка Python с дополнительными библиотеками, изучаемыми в курсе, средами разработки Spyder, PyScripter, IPython notebook, а так же браузером версии, поддерживаемой средой IPython notebook.

Автор программы П.А. Сухов





Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет