Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

673

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
141.16 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Никитенкова С.П.

ПРОГРАММИРОВАНИЕ СЦЕНАРИЕВ

Учебно-методическое пособие по подготовке к лекционным и практическим занятиям

(включая рекомендации по организации самостоятельной работы)

для обучающихся по дисциплине «Программирование сценариев»

по направлению подготовки 09.03.04 Программная инженерия профиль Разработка программно-информационных систем

Нижний Новгород

2018

УДК 004.9

Платов А.Ю. / Программирование сценариев [Электронный ресурс]: учеб.-метод. пос. / А.Ю. Платов; Нижегор. гос. архитектур. - строит. ун-т – Н. Новгород: ННГАСУ, 2018. – 14 с.– 1 электрон. опт. диск (CD-RW).

В настоящем учебно-методическом пособии по дисциплине «Программирование сценариев» даются конкретные рекомендации учащимся для освоения как основного, так и дополнительного материала дисциплины и тем самым способствующие достижению целей, обозначенных в учебной программе дисциплины. Цель учебно-методического пособия — это помощь в усвоении лекций, в подготовке к практическим занятиям.

Учебно-методическое пособие предназначено для обучающихся в ННГАСУ по дисциплине «Программирование сценариев» по направлению подготовки 09.03.04 Программная инженерия, профиль Разработка программно-информационных систем.

Учебно-методическое пособие ориентировано на обучение в соответствии с календарным учебным графиком и учебным планом по основной профессиональной образовательной программе направления 09.03.04 Программная инженерия, профиль Разработка программноинформационных систем, утверждённым решением учёного совета ННГАСУ от 02.03.2018 г. (протокол № 3).

©

А.Ю. Платов, 2018

©

ННГАСУ, 2018

2

Оглавление

1.

Общие положения ..........................................................................................................................

4

 

1.1

Цели изучения дисциплины и результаты обучения ...........................................................

4

 

1.2

Содержание дисциплины........................................................................................................

4

2.

Методические указания по подготовке к лекциям......................................................................

6

 

2.1

Общие рекомендации по работе на лекциях.........................................................................

6

 

2.2

Общие рекомендации при работе с конспектом лекций .....................................................

6

 

2.3

Общие рекомендации по изучению материала лекций .......................................................

6

 

2.4

Контрольные вопросы.............................................................................................................

8

3.

Методические указания по подготовке к практическим занятиям .........................................

10

 

3.1

Общие рекомендации по подготовке к практическим занятиям......................................

10

 

3.2

Примеры задач для практических занятий .........................................................................

10

4.

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

11

 

4.1

Общие рекомендации для самостоятельной работы..........................................................

11

 

4.2

Темы для самостоятельного изучения.................................................................................

13

 

4.3

Учебно-методическое обеспечение самостоятельной работы..........................................

13

 

4.4

Задания для самостоятельной работы .................................................................................

13

3

1. Общие положения

1.1 Цели изучения дисциплины и результаты обучения

Целями освоения учебной дисциплины «Программирование сценариев» является формирование практических навыков разработки различных приложений с использованием инструментов скриптового языка высокого уровня Python

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

-базовый синтаксис языка Python, основные стандартные модули языка, особенности реализации программ на языке Python

-основы функционального и объектно-ориентированного программирования.

Уметь:

-применять современные скриптовые языки программирования.

-реализовывать программные проектына скриптовых языках программирования Владеть:

-владеть практическими навыками использования современных средств разработки программного обеспечения, компьютерных и сетевых технологий для решения профессиональных задач

-навыками программирования на языках Python

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

1.2 Содержание дисциплины

Материал дисциплины сгруппирован по следующим разделам:

1. Язык Python. Типы данных, операции, операторы. Особенности ввода/вывода.

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

2. Встроенные типы объектов: Числа Строки Кортежи СпискиСловари Множества

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

3.Файловый ввод-вывод. Чтение строк с помощьюитераторов файлов. Работа с двоичными файлами.

Функции открытия, закрытия, чтения, записи в текстовый файл. Обработка файлов в формате UNICODE. Использование итераторов при работе с файлами. Хранение и обработка информации при помощи двоичных файлов.

4

4. Библиотека NumPy для реализации математическихобъектов и вычислений.

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

5. Анализ данных при помощи Python. Функциональныевозможности Python

Временные ряды и выравнивание срезов. Операции над временными рядами.Сращивание источников данных. Групповые преобразования и анализ. Оценка воздействия групповых факторов. Скользящая корреляция и линейная регрессия.

6. Создание приложений с GUI. Обзор графическихбиблиотек: Tkinter, PyQT.

Приложения с графическим интерфейсом пользователя. Для построения интерфейса не применяются визуальные средства ("построители интерфейса"), а используются возможности графической библиотеки виджетов (Tk).7. Тестирование и производственные процессы

7.Классы в Python. Определение данных, методов,операций. Наследование. Множественное наследование. Композиция при разработке классов.

Понятия объектов и классов. Конструктор и деструктор. Модификаторы доступа. Инкапсуляция. Абстракция.Наследование. Полиморфизм. Критерии оценки правильности построения классов. Обработка исключительных ситуаций.

8. Параллельное программирование. Понятие GIL. Процессы. Потоки.

Создание потока. Очереди. Блокировки. Возможности параллельного программирования на

Python с помощью модуля multiprocessing

5

2. Методические указания по подготовке к лекциям

2.1 Общие рекомендации по работе на лекциях

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

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

Личное общение на лекции преподавателя со студентами предоставляет большие возможности для реализации образовательных и воспитательных целей.

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

2.2Общие рекомендации при работе с конспектом лекций

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

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

В случае неясности по тем или иным вопросам необходимо задавать преподавателю уточняющие вопросы. Следует ясно понимать, что отсутствие вопросов без обсуждения означает в большинстве случаев неусвоенность материала дисциплины.

2.3 Общие рекомендации по изучению материала лекций

Раздел 1: "Язык Python. Типы данных, операции, операторы. Особенности ввода/вывода."– 2 лекции

Цель: дать основы понимания терминологии предметной области.

Содержание: Синтаксис языка Python для основных алгоритмических конструкций, литералов, выражений. Описание встроенных типов данных, особенности общепринятого в Python стиля программирования. Синтаксис языка Python для основных алгоритмических конструкций, литера-

6

лов, выражений. Описание встроенных типов данных, особенности общепринятого в Python стиля программирования. Разработка программ.

Раздел 2: «Встроенные типы объектов: числа, строки, кортежи, списки, словари, множества»- 2 лекции

Цель: изучить разнообразие типов-коллекций в зависимости от задач, которые с их помощью решаются.

Содержание: Разнообразие типов-коллекций в языке Python. Общие подходы и особенности при их использовании при написании программ: индексирование, срезы, функции вычисления длины, максимального и минимального значений, сортировки, смены порядка следования элементов. Практическая реализация базовых алгоритмов на языке Python : функции вычисления длины, максимального и минимального значений, сортировки, смены порядка следования элементов.

Раздел 3: «Файловый ввод-вывод. Чтение строк с помощьюитераторов файлов. Работа с двоичными файлами».– 2 лекции

Цель: изучить основы организации работы с файлами.

Содержание: Функции открытия, закрытия, чтения, записи в текстовый файл. Обработка файлов в формате UNICODE. Использование итераторов при работе с файлами. Хранение и обработка информации при помощи двоичных файлов. Функции открытия, закрытия, чтения, записи в текстовый файл. Обработка файлов в формате UNICODE. Использование итераторов при работе с файлами. Хранение и обработка информации при помощи двоичных файлов.

Раздел 4: «Библиотека NumPy для реализации математическихобъектов и вычислений»– 2 лекции

Цель: изучить методы осуществления численных расчетов с помощью пакета NumРy.

Пакет NumРy для осуществления численных расчетов и выполнения матричных вычислений, обзор других пакетов для научных вычислений. Пакет NumРy: сложение вычитание, деление, умножение, транспонирование, вычисление определителя

Раздел 5: «Анализ данных при помощи Python. Функциональные возможности

Python»— 2 лекции

Цель: изучить способы анализа данных.

Содержание: Временные ряды и выравнивание срезов. Операции над временными рядами. Сращивание источников данных. Групповые преобразования и анализ. Оценка воздействия групповых факторов. Скользящая корреляция и линейная регрессия. Временные ряды и выравнивание срезов. Операции над временными рядами.Сращивание источников данных. Групповые преобразования и анализ. Оценка воздействия групповых факторов. Скользящая корреляция и линейная регрессия.

Раздел 6: «Создание приложений с GUI. Обзор графическихбиблиотек: Tkinter, PyQT»

— 2 лекции

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

Содержание: Приложения с графическим интерфейсом пользователя. Для построения ин-

7

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

Раздел 7: «Классы в Python. Определение данных, методов, операций. Наследование. Множественное наследование. Композиция при разработке классов» — 2 лекции

Цель: изучить специфику реализации объектно-ориентированных программ на скриптовых языках программирования.

Содержание: Понятия объектов и классов. Конструктор и деструктор. Модификаторы доступа. Инкапсуляция. Абстракция.Наследование. Полиморфизм. Критерии оценки правильности построения классов. Обработка исключительных ситуаций. Понятия объектов и классов. Конструктор и деструктор. Модификаторы доступа. Инкапсуляция. Абстракция.Наследование. Полиморфизм. Критерии оценки правильности построения классов. Обработка исключительных ситуаций.

Раздел 8: «Параллельное программирование. Понятие GIL. Процессы. Потоки» -2 лек-

ции

Цель: изучить основы стратегии и планирования тестирования.

Содержание: Создание потока. Очереди. Блокировки. Возможности параллельного программирования на Python с помощью модуля multiprocessing.

2.4 Контрольные вопросы

1.Типы данных.

2.Переменные.

3.Числовые типы данных.

4.Операции над числовыми типами данных.

5.Строки.

6.Строки unicod.

7.Вывод данных.

8.Ввод данных.

9.Форматированный ввод/вывод.

10.Списки.

11.Выражения в списках.

12.Оператор del.

13.Использование списков, как стеков.

14.Использование списков, как очередей.

15.Операции сравнения для списков.

16.Диапазоны.

17.Кортежи. Отличие кортежей от словарей

18.Словари.

19.Оператор if. Особенности операторов сравнения.

20.Операторы цикла. Оператор for. Оператор while.Завершение цикла.

21.Продолжение цикла.Оператор pass.

22.Определение функции.

23.Пространство имен функции.

8

24.Передача параметров. Ключи.

25.Передача в функцию переменного числа аргументов.

26.Элементы функционального программирования.

27.Использование лямбда функций.

28.Функции работы со структурами данных.

29.Функция map(). Примеры применения

30.Функция filter().Примеры применения

31.Функция reduce().Примеры применения

32.Документирование функций.

33.Создание модулей.

34.Указание кодировки.

35.Поиск модулей.

36.Компиляция модулей на Python.

37.Стандартные модули Python.

38.Использование функции __dir()__.

39.Cтруктурирование модулей в пакеты.40.Импорт модулей и их составляющих из пакета.

40..Ссылки в пакетах.

41.Пакеты и файловая система.

42.Класс File.

43.Открытие файла.

44.Методы класса для File ввода-вывода.

45.Взаимодействие с файловой системой.

46.Модуль path.

47.Объекты и файловый ввод-вывод.

48.Объявление класса

49.Управление атрибутами и методами класса

50.Объявление объектов

51.Множественное наследование

52.Заимствование свойств и методов у родительского класса

9

3. Методические указания по подготовке к практическим занятиям

3.1Общие рекомендации по подготовке к практическим занятиям

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

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

При подготовке к занятиям можно также подготовить краткие конспекты по вопросам темы. Очень эффективным приемом является составление схем и презентаций.

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

3.2 Примеры задач для практических занятий

Пример № 1

Корреляционный анализ данных на языке Python

Пример № 2

Разработка прикладных программ Python (например, аутентификации и авторизация пользователей с организацией хранения учетных данных в базе данных SQLite)

Пример № 3

Написать тестовое web-приложение по управлению электронной библиотекой.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]