Скачать 117.78 Kb.
|
Правительство Российской Федерации Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Факультет филологии Программа дисциплины «программирование для лингвистов» для направления 035800.68 «Фундаментальная и прикладная лингвистика» подготовки магистра для магистерской программы «Компьютерная лингвистика» Автор программы: Алеквсеевский Д. А., dalexeyevsky@hse.ru Одобрена на заседании кафедры [Введите название кафедры] «___»____________ 20 г Зав. кафедрой [Введите И.О. Фамилия] Рекомендована секцией УМС [Введите название секции УМС] «___»____________ 20 г Председатель [Введите И.О. Фамилия] Утверждена УС факультета [Введите название факультета] «___»_____________20 г. Ученый секретарь [Введите И.О. Фамилия] ________________________ [подпись] Москва, 201_ Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы. 1Область применения и нормативные ссылкиНастоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности. Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 035800.68 «Фундаментальная и прикладная лингвистика», обучающихся по магистерской программе «Компьютерная лингвистика», по специализации (специализациям) [Введите название специализации (-ций), если есть)] изучающих дисциплину «программирование для лингвистов». Программа разработана в соответствии с:
2Цели освоения дисциплиныЦелями освоения дисциплины «программирование для лингвистов» являются знакомство с инструментарием языка Python, базовых понятий, структур данных и алгоритмов, необходимых для изучения прикладных методов компьютерной лингвистики, а также для самостоятельного решения некоторых задач компьютерной лингвистики. В курсе слушателям преподаются основы объектно-ориентированного программирования, представления о вычислительной сложности программ, классические алгоритмы, общие для всех приложений программирования. С прикладной стороны, в курсе преподаются средства создания интерфейсов, веб-сервисов и средства работы со структурированными данными. Дополнительной целью курса является развитие навыка совместной работы в команде, для чего слушателям преподаются необходимые знания и приёмы работы с репозиториями. 3Компетенции обучающегося, формируемые в результате освоения дисциплиныВ результате освоения дисциплины студент должен:
В результате освоения дисциплины студент осваивает следующие компетенции:
[Компетенции для программы учебной дисциплины берутся из: стандарта ФГОС/ НИУ, где перечислены все компетенции по данной образовательной программе; из Концепции образовательной программы (или аналогичных документов), разработанной на факультете, где Компетенции представлены в форме Матрицы сопряжения дескрипторов компетенций и учебных дисциплин.] 4Место дисциплины в структуре образовательной программыНастоящая дисциплина относится к циклу математических дисциплин, обязательных для изучения. Изучение данной дисциплины базируется на следующих дисциплинах:
Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и компетенциями:
Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин:
5Тематический план учебной дисциплины
6Формы контроля знаний студентов
6.1Критерии оценки знаний, навыков
7Содержание дисциплины7.1Объектно-ориентированное программирование (ООП) и работа с исключениямиВведение. Основные понятия ООП. Приёмы применения ООП. Понятие исключения. Обработка исключений. Способы генерации исключений. Приёмы применения исключений для создания надёжных / дружественных пользователю программ. 7.2Базовые структуры данных, алгоритмы, вычислительная сложность алгоритмов, измерение времени работы программВведение. Асимптотические величины. Понятие вычислительной сложности алгоритма. Модуль timeit для измерения реального времени работы программы. Односвязные списки, алгоритмы работы с ними и их сложность. Двусвязные списки, алгоритмы работы с ним, их сложность. Деревья, определение, основные свойства. Деревья поиска, алгоритмы работы с ними, и их сложность. Графы, определение, основные свойства, обход графа вширь, обход графа вглубь. 7.3Распределённые системы контроля версий и работа в командеВведение и основные понятия. Работа с репозиторием для хранения собственных программ. Минимальные необходимые представления об асинхронном шифровании. Работа с репозиторием в команде на примере сервиса http://bitbucket.org/. 7.4Создание графических приложений и визуализация научных данныхПакет Tkinter, основые понятия, примеры виджетов, примеры упаковщиков, обработка событий. Конструкция lambda для обработки событий. Графические примитивы. Проблемы визуализации научных данных на примере рисования деревьев. 7.5Работа с XMLПакет ElementTree, основные классы и методы. Язык запросов к XML-документам XPath и его использование в ElementTree. 7.6Решение примеров задач из компьютерной лингвистикиПриёмы работы с табличными данными в формате CSV. Примеры задач компьютерной лингвистики на обработку табличных данных (совместное решение задач на семинарах). 7.7Создание веб-сервисовВведение. Основные понятия разработки веб-сервисов. Пакет flask, основные понятия и методы. Понятие декораторов. Понятие и примеры шаблонов страниц. Практическое занятие по созданию простейшего сервиса. 8Образовательные технологииРекоммендуемые образовательные технологии включают лекции, семинары, практические знатия в классе, домашние задания. Особое внимание следует уделить самостоятельным занятиям в рамках домашних заданий и диалогу с преподавателем по вопросам, возникшим в результате их выполнения. Для самостоятельных занятий необходимо иметь компьютер с установленным программным обеспечением (см. программные средства в разделе 11). Домашние задания необходимо присылать на адрес: dalexeyevsky@hse.ru. 9Оценочные средства для текущего контроля и аттестации студента9.1Тематика заданий текущего контроляПримерные вопросы/ задания для домашних заданий:
9.2Вопросы для оценки качества освоения дисциплиныПримерный список типов вопросов к экзамену:
10Порядок формирования оценок по дисциплинеПреподаватель оценивает самостоятельную работу студентов по каждой из тем, проверяя домашние работы. Оценки за самостоятельную работу студента преподаватель выставляет в рабочую ведомость. Суммарная оценка по описанной выше шкале за самостоятельную работу определяется перед промежуточным или итоговым контролем – Одз. Одз может принимать значения от 0 до 10 баллов. Накопленная оценка за текущий равна оценке за домашнюю работу: Отекущий = Одз ; Способ округления накопленной оценки текущего контроля: арифметический. На экзамене студент может получить не более двух дополнительных практических задач, решение каждой из которых оценивается в 1 балл. Таким образом, результирующая оценка за итоговый контроль в форме экзамена, получаемая на пересдаче, выставляется по формуле, где Оэкзамен – оценка за работу непосредственно на экзамене: Оитоговый = 0,5·Оэкзамен + 0,5·Отекущий + Одоп.вопрос Способ округления накопленной оценки промежуточного (итогового) контроля в форме экзамена: арифметический. В диплом ставится оценка за итоговый контроль, которая является результирующей оценкой по учебной дисциплине. 11Учебно-методическое и информационное обеспечение дисциплины11.1Основная литератураКонспекты лекций. 11.2Дополнительная литература
11.3Программные средстваДля успешного освоения дисциплины, студент использует следующие программные средства:
12Материально-техническое обеспечение дисциплиныДля проведения семинаров необходим компьютерный класс. Для проведения лекций и семинаров необходим проектор. Автор программы: _________________________ (Алексеевский Даниил Андреевич) Подпись обязательна. |