- •Санкт-Петербург – 2011
- •Раздел 1. Характеристики, структура и содержание учебных занятий
- •Цели и результаты учебных занятий.
- •Требования к подготовленности обучающегося к освоению содержания учебных занятий (пререквизиты).
- •Перечень формируемых компетенций (результаты обучения)
- •Знания, умения, навыки, осваиваемые обучающимся.
- •Перечень и объём активных и интерактивных форм учебных занятий.
- •Организация учебных занятий.
- •1.6.1. Трудоёмкость, объёмы учебной работы и наполняемость
- •1.6.2. Виды, формы и сроки текущего контроля успеваемости и промежуточной аттестации
- •1.7. Структура и содержание учебных занятий
- •Раздел 2. Обеспечение учебной дисциплины
- •2.1. Методическое обеспечение
- •2.1.1. Методическое обеспечение аудиторной работы
- •2.1.2. Методическое обеспечение самостоятельной работы
- •2.1.3. Методика проведения текущего контроля успеваемости, промежуточной аттестации и критерия оценивания
- •2.3.2. Требования к аудиторному оборудованию, в том числе к неспециализированному компьютерному оборудованию и программному обеспечению общего пользования
- •2.4.2. Список дополнительной литературы
- •2.4.3. Перечень иных информационных источников
- •Раздел 3. Процедура разработки и утверждение рабочей программы учебной дисциплины
- •Иные документы об оценке качества рабочей программы
- •Внесение изменений в рабочую программу
- •Приложение с1-1
- •1. Еженедельный отчет студента
- •2. Регулярный контроль на аудиторном занятии
- •3. Итоговый контроль на зачетных и экзаменационных мероприятиях
- •Приложение с1-2
- •Приложение с1-3
- •1. Файлы
- •2. Процедуры и функции
- •3. Циклы, массивы, вычисления
- •04. Множества, строки, записи
- •5. Логические выражения и операторы ветвления.
- •Приложение с1-4
- •Ооп: инкапсуляция
- •Ооп: полиморфизм
- •Приложение с1-5
- •Приложение с2-1
- •1. Еженедельный отчет студента
- •2. Регулярный контроль на аудиторном занятии
- •3. Итоговый контроль на зачетных и экзаменационных мероприятиях
- •Приложение с2-2
- •Приложение с2-3
- •1. Файлы
- •2. Процедуры и функции
- •3. Циклы, массивы, вычисления.
- •4. Множества, строки, записи
- •5. Графика
- •6. Сортировки (быстрая сортировка — имеется ввиду нерандомизированная):
- •7. Рекурсия
- •8. Разработка и программная реализация алгоритмов
- •9. Перебор
- •10. Бинарные деревья и поиск
- •11. Перестановки
- •12. Графы
- •13. Стек, очередь, очередь с приоритетатами
- •14. Списки, хеш-таблицы, сбалансированные деревья.
- •Приложение с2-4
- •Приложение с2-5
Приложение с1-4
Список докладов первого семестра
Список рекомендуемой литературы:
Лафоре Р. Структуры данных и алгоритмы в Java. Классика Computer Science. 2-е изд. — СПб.: Питер. 2011. 704 с.
Рапаков Г.Г., Ржеуцкая С.Ю. Программирование на языке Pascal. СПб.: БХВ-Петербург, 2005. 480 с.
Мансуров К.Т. Основы программирования в среде Lazarus. 2010. 772 c. http://www.freepascal.ru/download/book/lazarus_osnovy/osnovy_programmirovanija_v_srede_lazarus.pdf
Рекомендуемые темы докладов
Сортировка методом «пузырька». (1: с. 89–98)
Сортировка методом выбора (1: с. 98–103)
Сортировка методом вставки (1: с. 104–111)
Сортировка объектов (1: с. 112–116)
Стеки (1: с. 122–136)
Очереди (1: с. 136–146)
Очереди с приоритетом (1: с. 146–152)
Разбор арифметических выражений (1: с. 152–157)
Рекурсия: вычисление треугольных чисел (1: с. 243–250)
Рекурсия: двоичный поиск (1: с. 257–262)
Рекурсия: задача о Ханойской башне (1: с. 262–267)
Рекурсия: сортировка слиянием (1: с. 267–289)
Рекурсия: факториал, возведение числа в степень, задача о рюкзаке, выбор команды (1: с. 250–251, 289–294)
Абстрактные типы данных в Pascal (2: с. 369–375)
Принципы ООП, технологические цели применения ООП (2: с. 375–376)
ООП в Pascal: определение класса, область видимости (2: с. 377–381)
Объекты: конструкторы и деструкторы (2: с. 382–384)
ООП: наследование(2: с. 384–388)
Ооп: инкапсуляция
Ооп: полиморфизм
ООП: абстрактные классы (2: с. 388–389)
ООП: свойства доступа полей (2: с. 389–392)с
Приложение с1-5
Вопросы к зачету первого семестра
Модуль 1: Элементы визуального программирования на языке Pascal и интегрированная среда разработки Lazarus
3 базовых элемента ООП. (с. 396-398, 406-411, 426-437, Мансуров К.Т. Основы программирования в среде Lazarus, с. 375-377, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Элементы языка Free Pascal. Основные структуры. (с. 67-69, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Структурированные типы данных в языке Free Pascal. (с. 72-75, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Операции и выражения в языке Free Pascal. (с. 76-78, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Стандартные арифметические функции в языке Free Pascal. (с. 81-82, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Стандартные функции обработки строк в языке Free Pascal. (с. 83-85, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Условные операторы в языке Free Pascal. IF..THEN..ELSE (с. 98-101, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 108-109, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Условные операторы в языке Free Pascal. CASE (с. 117-118, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 112-113, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Операторы цикла в языке Free Pascal. WHILE..DO (с. 126-127, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 129-132, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Операторы цикла в языке Free Pascal. REPEAT..UNTIL (с. 127-129, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 124-129, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Операторы цикла в языке Free Pascal. FOR..DO (с. 129-131, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 132-137, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Локальные и глобальные переменные в языке Free Pascal. (с. 164-165, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Описание процедур и функций в языке Free Pascal. (с. 166-176, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Элементарные навыки работы со средой Lazarus. Создание нового проекта с графическим пользовательским интерфейсом по шаблону. Состав проекта. Запуск проекта. (с. 44-49, 64-65, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Визуальные компоненты. Добавление визуальных компонент. (с. 49-50, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Инспектор форм. Свойства форм. (с. 177-178, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)
Обработка ошибок. Вывод сообщений в среде Lazarus. (с. 121-125, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 518-521, Мансуров К.Т. Основы программирования в среде Lazarus)
Разработка модулей. (с. 206-207, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus, с. 204-208, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Компонента TLabel. Размещение и настройка. Свойства. (с. 485-487, Мансуров К.Т. Основы программирования в среде Lazarus)
Компонента TButton. Размещение и настройка. Свойства. (с. 500-502, Мансуров К.Т. Основы программирования в среде Lazarus)
Компонента TEdit. Размещение и настройка. Свойства. (с. 504-505, Мансуров К.Т. Основы программирования в среде Lazarus)
Компонента TMemo. Размещение и настройка. Редактирование текста. (с. 554-556, Мансуров К.Т. Основы программирования в среде Lazarus)
Компонента TStringGrid. Размещение и настройка. Редактирование текста. Доступ к ячейкам. (с. 607-608, Мансуров К.Т. Основы программирования в среде Lazarus)
Компоненты выбора. TListBox. Свойства. (с. 616-617, Мансуров К.Т. Основы программирования в среде Lazarus)
Компоненты выбора. TComboBox. Свойства. (с. 626-628, Мансуров К.Т. Основы программирования в среде Lazarus)
Компоненты выбора. TCheckBox. Свойства. (с. 638-640, 641-643, Мансуров К.Т. Основы программирования в среде Lazarus)
Компоненты выбора. TRadioGroup. Свойства. (с. 640-643, Мансуров К.Т. Основы программирования в среде Lazarus)
Компоненты стандартных диалогов. Функции вызова стандартных окон с сообщениями, форма как диалоговое окно, вывод графических примитивов на холст (Canvas) визуальных компонент. (http://wiki.lazarus.freepascal.org/Lazarus_Tutorial/ru)
Вторая (третья и пр., т.е. неглавная) форма как диалоговое окно. Два типа вызова второй формы: Show и ShowModal. Что возвращает форма после ShowModal. Директивы uses. Доступ к значениям полей второй формы. (http://lazarus-ccr.sourceforge.net/docs/lcl/forms/tcustomform.showmodal.html)
Различные способы завершить работу программы: закрытие главного окна приложения (frMain.Close, Halt, Application.Terminate, bbtClose.Kind:=btClose, функция WinAPI ExitProcess(0)). (с. 159, Мансуров К.Т. Основы программирования в среде Lazarus)
Простейший подход к выводу графических элементов на холсте визуальной компоненты (Canvas) (TBrush, TPen). (http://lazarus-ccr.sourceforge.net/docs/lcl/graphics/tcanvas.html)
Модуль 2: Язык программирования Pascal
Read, Readln, ввод данных. (с. 81-82 Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Write, writeln, вывод численных литералов. Формат вывода. (с. 82-84 Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Численные переменные. Декларирование численных переменных. Инициализация переменных. (с. 74-75 Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Процедуры и функции. Параметры–значения. Параметры–переменные. (с. 75, 158-161, 165-168 Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Строки. Преобразование строк. (с. 256-268, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Базовые типы данных и операции с ними. (с. 53-55, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Массивы. Обходы массивов. Многомерные массивы. (с. 221-225, 227-229, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Структуры данных. Множества. (с. 281-287, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Структуры данных. Записи. (с. 291-299, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Динамические типы. Память. (с. 339-346, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal)
Модуль 3: Алгоритмика-1
Сортировки. (http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8, http://ru.wikibooks.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8, http://www.youtube.com/results?search_query=sort+algorithm)
Рекурсия. (с. 174-176, Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal, 198-202, Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus)