Программа учебной дисциплины «Информатика и программирование» Программа дисциплины составлена

Вид материалаПрограмма

Содержание


Программа учебной дисциплины
I. Организационно-методический раздел
Задача курса
Требования к уровню усвоения содержания курса
II. Содержание курса
III. Распределение часов курса по темам и видам работы
Введение в информатику
IV. Формы текущего, промежуточного и итогового контроля
V. Учебно-методическое обеспечение курса Основная литература
Подобный материал:

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ


Санкт-Петербургский государственный университет

Филологический факультет



Рассмотрено и рекомендовано


на заседании кафедры

информационных систем в искусстве

и гуманитарных науках

протокол от №___

Заведующий кафедрой


________________________ (Н.В. Борисов)


«УТВЕРЖДАЮ»


Декан филологического факультета

профессор С.И. Богданов

«___»_________________200 г


___________________________

(подпись)



^ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ


«Информатика и программирование»


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

кафедрой информационных систем в искусстве и гуманитарных науках

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

высшего профессионального образования по направлению 080801 –«Прикладная информатика в области искусств и гуманитарных наук»


Санкт-Петербург

2006
^

I. Организационно-методический раздел

  1. Цель курса: обучение студентов первого курса методам программирования на базе языка VBA; подготовка к восприятию других разделов дисциплины программирования.
  2. ^ Задача курса: изучение основ программирования; развитие навыков самостоятельного решения задач.

Место курса в учебном плане: основное назначение данного курса – дать базовые знания, необходимые для изучения других разделов дисциплины программирования. При изучении настоящего курса используются знания математики в пределах программы (дискретная математика, алгебра).

^ Требования к уровню усвоения содержания курса: студент должен:

1) уметь грамотно осуществить переход от проблемной постановки задачи к алгоритму ее решения.

2) уметь выделять в алгоритме логически завершенные и относительно независимые части и оформлять их функциями и подпрограммами на VBA.

3) освоить работу с простейшими и составными типами данных и знать способы представления и основные операции с линейными списками, деревьями и графами.

4) Студент должен ориентироваться в технической документации по VBA и при необходимости самостоятельно изучать дополнительные разделы.


Курс читается в первом (72 часа) и во втором семестре (32часа).


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


Форма итогового контроля – Первый семестр — зачет.

Второй семестр —экзамен.
^

II. Содержание курса

  1. Разделы курса.

1) Введение в информатику.

1.0. Введение. Теория информации Шеннона.

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

1.2. Алгоритмы

1.3. Языки программирования

2) Основы программирования на VBA.

2.0. Введение в VBA.

2.1. Типы данных в VBA.

2.2. Переменные и константы.

2.3. Структурное программирование. Операторы VBA.

2.4. Подпрограммы и Функции в VBA.

2.5. Программирование классов в VBA.
  1. Краткое содержание тем

1) Введение в информатику.

1.0. Введение. Сообщение и информация

1.0.1. Информация и сообщения.

1.0.2 Теорема Шеннона

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

1.1.1 Простейшие данные:

Биты. Булевы алгебры.

Байты. Символы. Кодирование.

Системы счисления. Целые числа. Способы представления целых чисел, операции.

Вещественные числа. Способы представления, стандарт IEE754.

Указатели.

1.1.2. Структуры данных

Простейшие структуры данных:

Одномерные и многомерные массивы.

Записи.

Хэши. Хэш-функции.

Списки

Линейные списки. Стеки, очереди, деки.

Деревья. Бинарные деревья. Сбалансированные (АВЛ) деревья.

Графы.

Файлы и их форматы.

Тексты. Логическая структура. Язык XML.

1.2. Алгоритмы

1.2.1 Введение в теорию алгоритмов. Определение алгоритма. Этапы решения задач на компьютере.

1.2.2. Машина Тьюринга. Разрешимые и неразрешимые задачи.

1.2.3. Основные виды алгоритмов.

Перебор, рекурсия.

Поиск подстроки в строке. Конечные автоматы.

Алгоритм «разделяй и властвуй».

Алгоритмы с возвратом.

Алгоритмы с оценочной функцией.

Динамическое программирование.

"Жадные" алгоритмы.

1.2.4. Некоторые важные алгоритмы.

Алгоритм генерации случайных чисел.

Алгоритмы сортировки: Простейшие методы, HeapSort и. Quicksort.

Хеширование.

Алгоритмы сжатия. Избыточное кодирование. Статистические, словарные и контекстные методы. Генерация кодов: префиксное кодирование (алгоритм Хаффмана), SZ-алгоритмы.

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

1.2.5. Языки программирования

Процедурные языки программирования и связь с моделью фон Неймана.

Функциональные языки. LISP.

Логические языки. Prolog.

Идеи объектно-ориентированного программирования: абстрактные классы, наследование, полиморфизм.

2) Основы программирования на VBA.

2.0. Введение в VBA.

2.0.1. История создания VBA

2.0.2. Технология программирования в VBA.

2.0.3. Алфавит и лексика VBA.

2.1. Типы данных в VBA.

2.1.1. Простые типы данных в VBA.

2.1.2. Составные типы данных в VBA.

2.2. Переменные и константы.

2.2.1. Описание переменных и констант в VBA.

2.2.2. Область видимости данных в VBA.

2.3. Структурное программирование. Операторы VBA.

2.3.1. Идеи структурного программирования.

2.3.2. Операторы присваивания.

2.3.3. Условные операторы.

2.3.4. Операторы циклы.

2.4. Подпрограммы и функции в VBA.

2.4.1. Стандартные функции.

2.4.2. Функции ввода-вывода

2.4.3. Создание собственных подпрограмм и функций.

2.5. Программирование классов в VBA.

2.5.1. Конструкторы и деструкторы.

2.5.2. Создание класса. Процедуры-свойства.

2.5.3. Закрытые и открытые свойства и методы. Интерфейс класса.
  1. Примерный перечень вопросов для самоконтроля

3.1 Введение в информатику.
  1. Формулировка теоремы Шенона.
  2. Логические операции, реализованные в языках программирования.
  3. Кодировки символов.
  4. Системы счисления. Перевод чисел из одной системы в другую.
  5. Представление вещественных чисел в машине.
  6. Представление записей в ЭВМ.
  7. Получение адреса i-го элемента массива.
  8. Определение линейного списка.
  9. Связное и последовательное представление линейного списка.
  10. Операция включения и исключения элемента в линейный список.
  11. Определения стека, очереди и дека.
  12. Определение дерева.
  13. Обход двоичного дерева.
  14. Определения графа.
  15. Способы представления графов в ЭВМ.
  16. Определение алгоритма.
  17. Машина Тьюринга. Разрешимые и неразрешимые задачи.
  18. Оценка времени в зависимости от быстродействия ЭВМ для задач с временной сложностью Nk и Kn (N — кол-во входных данных, к — целое число).
  19. Определение рекурсии.
  20. Оценка времени работы алгоритма конечных автоматов для задачи поиска подстроки в строке.
  21. Алгоритмы с возвратом.
  22. Алгоритмы с оценочной функцией.
  23. Динамическое программирование.
  24. "Жадные" алгоритмы.
  25. Псевдослучайные числа.
  26. Алгоритм простейшей сортировки включением.
  27. Алгоритм простейшей сортировки выбором.
  28. Алгоритм простейшей сортировки обменом.
  29. Быстрая сортировка.
  30. Сортировка «кучей».
  31. Хеширование. Метод открытой адресации. Метод цепочек.
  32. Методы построение хеш-функции.
  33. Избыточное кодирование.
  34. Сжатие информации и теорема Шенона.
  35. Избыточное кодирование.
  36. Статистическое и словарное сжатие.
  37. Статическое, полуадаптивное и адаптивное построение модели сжатия.
  38. Метод Хаффмана. LZ-алгоритмы методов сжатия.
  39. Архитектура ЭВМ фон Неймана.
  40. Императивные языки программирования. Как они связаны с архитектурой ЭВМ фон Неймана?
  41. Структурное программирование. Можно ли в нем использовать оператор GO TO?
  42. Парадигма функциональных языков программирования.
  43. Логические языки программирования.
  44. Объектно-ориентированное программирование. Классы. Инкапсуляция.
  45. Наследование классов.
  46. Понятия полиморфизма.

3.2. Основы программирования на VBA (основной самоконтроль — написание программ)
  1. Модуль в VBA.
  2. Какое кол-во байт отводится в VBA под целые числа.
  3. Какое кол-во байт отводится в VBA под вещественные числа.
  4. Строковый тип данных. Строки фиксированной длины. Строки переменной длины.
  5. Представление дат в VBA.
  6. Тип данных VARIANT. Операции допустимые для данного типа.
  7. Понятие переменной.
  8. Именованные и неименованные константы.
  9. Глобальные переменные и константы.
  10. Ключевое слово STATIC. Его смысл.
  11. Тип данных определяемый пользователем.
  12. Массивы в VBA.
  13. Какие операторы VBA необходимы для реализации идей структурного программирования?
  14. Какие существуют правила в VBA между формальными и фактическими аргументами подпрограмм и функций?
  15. В каком модуле создается класс в VBA?
  1. Примерная тематика докладов, рефератов, курсовых работ

Доклады, рефераты, курсовые работы по данной дисциплине не предусмотрены.
  1. Примерный перечень вопросов к экзамену

ИНФОРМАТИКА

1. Информация. Модель Шеннона. Информация и сообщения. Дискретные сообщения.

2. Информация. Теорема кодирования Шеннона.

3. Устройство компьютера. Архитектура фон Неймана.

4. Понятие алгоритма и программы. Разрешимые и неразрешимые задачи.

5. Простейшие данные. Логический тип данных. Символьный тип данных.

6. Простейшие данные. Целые числа.

7. Простейшие данные. Вещественные числа.

8. Простейшие данные. Строки. Указатели.

9. Простейшие типы данных определяемые пользователем.

10. Структуры данных. Простейшие структуры с элементами разных типов.

11. Структуры данных. Массивы.

12. Структуры данных. Хэши.

13. Структуры данных. Линейные списки.

14. Структуры данных. Деревья.

15. Структуры данных. Графы.

16. Алгоритмы. Рекурсивные и не рекурсивные алгоритмы.

17. Алгоритмы. Перебор. "Разделяй и властвуй". Динамическое программирование.

18. Алгоритмы. Алгоритм с возвратом. Алгоритм с оценочной функцией.

19. Программирование. Модульный подход.

20. Программирование. Структурное программирование.

VBA

1. Технология программирования в VBA. Использование средств отладчика.

2. Константы. Переменные.

3. Литеральные строки в VBA. Ключевые слова. Имена в VBA. Числа в VBA. Даты в VBA.

4. Типы данных. Тип Boolean. Числовые типы.

5. Типы данных. String. Variant. Object.

6. Область видимости переменной.

7. Операции в VBA. Преобразование типов данных.

8. Типы данных. Статические массивы. Динамические массивы.

9. Типы данных. Тип данных, определяемый пользователем.

10. Операторы присваивания в VBA. Условный оператор If... Then... Else. Оператор Select Case и GoTo.

11. Операторы циклов.

12. Модульность программирования. Подпрограммы и функции.

13. Подпрограммы и функции. Передача параметров.

14. Методы доступа к файлам. Открытие и закрытие файла.

15. Работа с файлом последовательного доступа.

16. Управление файловой системой.

17. Идеи объектно-ориентированного программирования.

18. Классы и объекты.

19. Создание класса. Конструкторы и деструкторы. Открытые и закрытые методы.

20. Создание класса. Процедуры-свойства.

^

III. Распределение часов курса по темам и видам работы




Наименование тем и разделов

ЧАСЫ


Всего

Аудиторные занятия

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

Лекции

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




^ Введение в информатику.













1

1.0. Введение. Теория информации Шеннона.

2

2







2

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

16

4

6

6

3

1.2. Алгоритмы

18

6

6

6

4

1.3. Языки программирования

14

4

4

6




Основы программирования на VBA.













1

2.0. Введение в VBA.

5

1

1

3

2

2.1. Типы данных в VBA.

18

4

4

10

3

2.2. Переменные и константы.

10

1

1

8

4

2.3. Структурное программирование. Операторы VBA.

32

2

10

20

5

2.4. Подпрограммы и Функции в VBA.

48

6

18

24

6

2.5. Программирование классов в VBA.

48

6

18

24




ВСЕГО

211

36

68

107
^

IV. Формы текущего, промежуточного и итогового контроля


Текущий контроль выполняется в форме домашних заданий.

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

Итоговый контроль: 1 семестр – зачет. 2 семестр – экзамен.
^

V. Учебно-методическое обеспечение курса

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

  1. Вирт Н. Алгоритмы + структуры данных = программы. 1985 г.
  2. Биллинг В. А. VBA в Office 2000. Офисное программирование. 2000 г.
  3. Т.Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. М.: МЦНМО, 2001.

Дополнительная литература:
  1. 1. Гарниев А.Ю. и др. Micrsoft Office 2000: разработка приложений. 2000 г.
  2. Перии Г. Освой самостоятельно Micrsoft Office 2000 за 24 часа. 2000 г.
  3. Страуструп Б. Язык програмирования Си++. 1991 г.
  4. Гетц К., Джилберт М. Программирование в Micrsoft Office. 2000 г.
  5. Кузьменко В. Г. VBA 2000, 2000 г.
  6. Евдокимов В. В. Экономическая информатика. Учебник для вузов. 1997 г.
  7. Романовский И.В. Дискретный анализ. Учебное пособие по прикладной математике и информатике Невский диалог Санкт-Петербург 1999


Автор программы:

Доцент А.Д. Положенцев

Рецензенты:

Зав. кафедрой информационных систем

в искусстве и гуманитарных науках Н.В. Борисов

Доц.