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

Вид материалаЗадача

Содержание


Раздел 1. Алгоритмы с их свойства
Раздел 3. Технология программирования
Электронная библиотека курса
7.3.  Методические указания студентам
Формы контроля
Задания для самостоятельной работы студентов
Подобный материал:

Алгоритмизация и языки программирования  


I.      Рабочая программа дисциплины

  1. Цель и  задачи  дисциплины


Разработана в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по направлению 061800 «Математические методы в экономике» (квалификация - Экономист-математик) и с учетом инновационной образовательной программы ПГУ, направленной на формирование информационно-коммуникационной компетентности выпускников классического университета в соответствии с потребностями информационного общества.

Дисциплина «Алгоритмизация и языки программирования» имеет целью изучение фундаментальных, современных алгоритмов теоретического программирования, использование основных алгоритмических приемов при анализе информации, а также умение программировать на языках: Turbo Pascal, dBase - подобных СУБД, SQL (Secuel), HTML

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


2.     Требования к уровню освоения содержания дисциплины, соотнесенные с квалификационными  характеристиками специалиста в соответствии с ГОС ВПО


В результате изучения дисциплины студент должен:
  • иметь представление, как о фундаментальных алгоритмах классического программирования, так и о современных алгоритмах, а также об алгоритмических проблемах Internet;
  • знать языки программирования, входящие в программу изучения дисциплины, и возможности и целесообразности их применения для конкретных задач;
  • понимать значение ключевых терминов дисциплины;
  • знать логику выполнения программы, написанную на конкретном языке программирования;
  • иметь представление о целесообразности и возможность применения различных алгоритмов для конкретных экономических задач;
  • иметь опыт программирования на различных языках программирования и в различных технологиях;
  • уметь документировать задачи;
  • обладать навыками работы с системами программирования: Turbo Pascal, Microsoft FoxPro, Access;
  • ориентироваться в информационных ресурсах Интернет, предназначенных для систем программирования.

Дисциплина «Алгоритмизация и языки программирования» базируется на знаниях и умениях, полученных студентами в ходе изучения дисциплины «Информатика», а также математических, экономических дисциплин, изученных к данному периоду.

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


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


Дисциплина «Алгоритмизация и языки программирования» планируется преподавать как основную дисциплину, отвечающую требованиям естественно - научных дисциплин региональной (вузовской) компоненты (ЕН Р.01), на втором курсе обучения специальности 061800 «Математические методы в экономике» в объеме 17 ч. лекций,  34 ч. лабораторных занятий, предусмотрено 19 ч. самостоятельной работы, практических занятий не предусмотрено. По окончании изучения дисциплины студент сдает экзамен. Дисциплина является обязательной для изучения.

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

Лекционный курс опирается на труды российских и зарубежных ученых в области программирования, информационных технологий и ориентирован на базовые знания студентов, полученные при изучении дисциплины «Информатика» и других дисциплин экономико-математического цикла.

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

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

Раздел, тема

Раздел 1. Алгоритмы с их свойстваТема 1. Элементы теории алгоритмов Элементы теории алгоритмов. Понятие алгоритма. Интуитивное / уточненное понятие алгоритма. Свойства алгоритмов. Понятие об  исполнители алгоритма. Машина Поста. Машина Тьюринга. Понятие об алгоритмической неразрешенности. Основные этапы и методы разработки алгоритмов. Способы описания алгоритмов. Оценки трудоемкости алгоритмических процессов.Тема 2. Виды алгоритмов Алгоритмы вида «разделяй и властвуй». Алгоритмы поиска. Алгоритмы выборки. Алгоритмы сортировки. Рекурсии. Численные алгоритмы. Алгоритмы сравнения с образцом. Алгоритмы на графах. Параллельные алгоритмы. Недетерминированные алгоритмы. Жадные приближенные алгоритмы. Вероятностные алгоритмы. Тема 3. Идеи современных алгоритмовАлгоритмы и простые числа. Генетические алгоритмы. Муравьиные алгоритмы.

Раздел 2. Языки программирования для решения экономических задачТема 4. Основные понятие и определенияЭлементы языка: алфавит, семантика, синтаксис. Классификация языков. Понятие о формальных языках. Способы строгого описания формальных языков. Понятие о метаязыках. Описание синтаксиса алгоритмического языка с помощью металингвистических формул, лексем  и синтаксических диаграмм. Классификация языков программированияТема 5. Язык PascalИстория создания языка и его дальнейшее развитие. Интегрированная среда Turbo Pascal и ее элементы. Правила записи языка. Основные элементы языка:  алфавит, семантика, синтаксис. Общая структура программы. Типы данных: простые типы (стандартные, переменные), структурированные типы.Простые операторы. Составные (сложные) операторы. Структурированные типы данных и операции над ними. Стандартные процедуры, функции, модули. Процедуры, функции, модули. Объектно-ориентированное программирование на Pascal.Идеи объектно -  ориентированного программирования.Объект. Расширяемость объектов. Совместимость объектов. Внутреннее представление объектов. Виртуальные правила и полиморфизм. Наследование записей. Методы. Деструкторы.Тема 6. Языки dBase – подобных СУБД  Общность языков dBase – подобных СУБД: dBase III Plus, FoxBase, Clipper, R : Base, FoxPro. Интегрированная оболочка FoxPro и ее элементы. Общие сведения. Модели данных: иерархические, сетевые, реляционные. Основные понятия и определения. Оформление программы. Файлы, их типы и команды работы с ними. Создание программных файлов. Запись, команды работы с записями. Перемещение в базе данных. Ввод / вывод данных. Команды управления. Организация меню. Переменные и работа с ними. Системные параметры и их настройка. Процедуры и функции. Спецификация макро.Тема 7. Язык SQL (Sequel)Основные понятия языка: таблица, ключи, формы, отчеты, запросы.Импорт / экспорт информации. Подразделы языка: язык описания данных / язык определения схемы (Data Definition Language / DDL),  язык манипулирования данными (Data Manipulation Language  / DML), язык управления данными (Data Control Language / DCL). Типы данных. Предикаты:  отрицания,  сравнения,  в,  нуль –  предикат, между,  как,  составной предикат,  предикат существования. Создание таблиц. Формирование запроса.Реляционные и булевы операторы для создания сложных предикатов. Использование функций агрегирования и специальных операторов. Права доступа к данным. Пользователь.Тема 8.  Язык HTML (язык гипертекстовой разметки Hypertext Markup Language)История создания языка. Наиболее распространенные средства просмотра гипертекстовых документов: Netscape Navigator (фирма Netscape Communications Corporation), Microsoft Internet Explorer (фирмы Microsoft).Представление информации в глобальной сети Internet.Структура документа. Статические документы HTML. Динамические документы HTML. Простейшие способы создания гипертекстовых документов. Выделение параграфа горизонтальной линией. Цветовое оформление документа. Работа со шрифтами. Организация ссылок. Использование изображений в качестве ссылок. Организация бегущей строкиТаблицы в документах HTML.  Способы построения таблиц. Основные средства описания таблиц. Графика, анимация, видео  и звук в документах HTML. Графические форматы HTML. Размещение графических изображений.  Видеофрагменты в документах HTML.  Озвучивание документов HTML.

Раздел 3. Технология программированияТема 9. Виды технологий программированияИстория вопроса. Операционный подход. Структурная технология разработки программных средств. Объектно - ориентированная технология разработки программных средств. Визуальная технология разработки программных средств.Тема 10. Технология Visual AccessСпособы создания баз данных в Microsoft Access. Режимы конструктор, мастерВстроенный язык программирования для создания приложений Access – VBA (Visual Basic for Application


  4.      Темы семинарских занятий

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

5.      Лабораторные работы (лабораторный практикум)


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


Задания на  проектирование информационной системы средствами «FoxPro» и Sequel
1. Склад.
2. Риэлтор.
3. Деканат.
4. Бухгалтерия (например, расчет заработной платы для организаций: бюджетных, коммерческих).
5. Валютный / кредитный отдел банка.
6. Библиотека.
7. Фондовый портфель.
8. Обслуживание клиентов (банк, ...).
9. Поликлиника (регистратура, ...).
Лабораторная работа № 1  «Алгоритмы поиска, выборки и сортировки и их иллюстрация средствами Turbo Pascal»     
При выполнении этой лабораторной работы студенты могут воспользоваться электронным образовательным ресурсом, пароль сообщается преподавателем.
Контрольные вопросы и задания

1. Последовательный поиск: структура алгоритма, анализы наихудшего / среднего случая.
2.  Двоичный поиск: структура алгоритма, анализы наихудшего /  среднего случая.
3. Алгоритм выборки: структура и анализ алгоритма.
4. Типы алгоритмов сортировки: вставками, пузырьковая, сортировки Шелла, корневая сортировка, пирамидальная, слиянием, быстрая сортировка.
5. Для каждого типа сортировки уметь объяснять структуру алгоритма и уметь проводить анализы наихудшего /  наилучшего / среднего случая.
6. Реализация алгоритмов в среде Turbo Pascal: разработать общую постановку задачи, разработать частные постановки задач для каждой процедуры / блока, использовать наиболее рациональные алгоритмы для конкретных ситуаций.
7. Разобрать алгоритм - образец «Начисление премии для сотрудников за месяц».
8.Запрограммировать индивидуальную задачу, отражающую бухгалтерские расчеты и использующую алгоритмы поиска, выборки и сортировки.
Рекомендуемый учебно-методический список литературы: [2, 3 основной, 1 дополнительный, 1,2  рекомендуемый список литературы], электронный образовательный ресурс «Алгоритмы поиска, выбора,  сортировки  и их реализация в Turbo Pascal».

Лабораторная работа № 2 «Постановка задачи «Проектирование ИС ... средствами FoxPro»

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

1. Моделирование предметной области при проектировании информационной системы.

2. Определение ресурсов (персонал, сырье и материалы, станки, деньги, изделия, полуфабрикаты, ...).

3. Определение процессов (преобразование одних ресурсов в другие, взаимосвязи,...).

4. Информационная база, как отражение предметной области.Компоненты информационной системы (база данных, вычислительная система, программное обеспечение, пользователи, ...).

5. Детализация представлений информационной системы (внешнее, концептуальное, внутреннее, ...).

6. Стадии проектирования информационной системы.
Задание:Написать постановку задачи для программирования в среде FoxPro.
Рекомендуемый учебно-методический список литературы: [3 основной, 1,2 дополнительный рекомендуемый список литературы].

Электронная библиотека курса, размещенная на сервере экономического факультета и на сайте кафедры информационных систем и математических методов в экономике.

Лабораторная работа № 3 «Программирование ИС ... средствами  «FoxPro»   
Задание:

1. Освоить интегрированную среду FoxPro.

2. Написать постановку задачи для программирования.

3. Описать исходную информацию для своей задачи (создать файлы типа .dbf).

4. Занести туда исходные данные (сформировать записи).

5. Продумать алгоритмы поиска информации (создать индексы (.idx)).

6. Написать алгоритм работы с данными (.prg).

7. Если необходимо модифицируйте структуру исходных файлов (типа .dbf).

8. Модифицируйте записи (Browse, Append blank, Insert, Edit,...).

9. Отработайте алгоритмы перемещения в базе данных:поиск (Find, Seek, Locate), фильтр (Set filter), установить связи (Set relation), ...

10. Разберите алгоритмы ввода/вывода данных.

11. Разработайте пользовательский интерфейс (меню).

12. Настройте системные параметры для конкретных алгоритмов.

13. Используйте функции (работы с датами, перевода данных, ...).

14. Используйте спецификации макро для написания стандартных программ.

Рекомендуемый учебно-методический список литературы: [1 основной, 2, 4 дополнительный].

Электронная библиотека курса, размещенная на сервере экономического факультета и на сайте кафедры информационных систем и математических методов в экономике
Лабораторная работа № 4 «Проектирование запросов с помощью языка Sequel (SQL)»

Построение таблиц

Контрольные вопросы и задания:

1. Какие есть способы создания таблиц?

2. Что такое структура таблицы?

3. Какие есть типы данных?

4. Как ввести данные в ячейки таблицы?

5. Как выполнить редактирование данных?

6. Как отсортировать данные?

7. Выполнить отбор данных с помощью фильтра.

8. Задать ключевые поля в таблице. Для чего они необходимы?

9. Что такое индексация полей таблицы?

10. Как установить связи между таблицами?

Создание запросов в рамках задачи, запрограммированной на FoxPro

Контрольные вопросы и задания:

1. Создать простой запрос на выборку.

2. Использовать в запросе на выборку нескольких связанных таблиц.

3. Создать перекрестный запрос.

4. Создать запросы на изменение данных в таблице: удаление,добавление, обновление, создание таблицы.

5. Сформировать формы и отчеты для задачи.

Рекомендуемый учебно-методический список литературы: [1 основной, 2,4 дополнительный, 3 рекомендуемый]Электронная библиотека курса, размещенная на сервере экономического факультета и на сайте кафедры информационных систем и математических методов в экономике.

Лабораторная работа № 5 «Язык HTML. Создание сайта средствами HTML»
Задание: создать эскиз сайта  для задачи, решаемой средствами FoxPro


Контрольные вопросы и задания:

1. Какие есть способы представления информации в глобальной сети Internet?

2. Что такое статические документы HTML?

3. Что такое динамические документы HTML?

4. Какие простейшие способы создания гипертекстовых документов?

5. Как выделить параграф горизонтальной линией?

6. Какие есть способы оформления документа цветом?

7. В чем заключается работа со шрифтами?

8. Как организовать ссылки в документах HTML?

9. Какие есть способы использования изображений в качестве ссылок?

10. Как организовать бегущую строку?

11. Какие есть способы построения таблиц в документах HTML?

12. Как выполнить визуализацию в документах HTML?

13. В чем сложности работы с графикой в документах HTML?

14. В чем сложности работы с анимацией в документах HTML?

15. В чем сложности работы с видео в документах HTML?

16. В чем сложности работы со звуком в документах HTML?

17. Какие есть графические форматы HTML?

Рекомендуемый учебно-методический список литературы: [3 основной, 3 дополнительный].

Электронная библиотека курса, размещенная на сервере экономического факультета и на сайте кафедры информационных систем и математических методов в экономике


6.      Тематика курсовых/контрольных работ/рефератов


В рамках изучения дисциплины «Алгоритмизация и языки программирования»  проведение контрольных работ не предусмотрено.


7.      Учебно-методическое обеспечение дисциплины


7.1.  Список литературы

Основной:

1. Семакин И.Г. Основы программирования: учебник / И. Г. Семакин. - 5-е изд., стер. - М.: Академия, 2006.

Дополнительный:

1. Андреева Т.А. Программирование на языке Pascal : Учеб. пособие / Т. А. Андреева. - М.: Интернет-Университет Информационных Технологий : БИНОМ. Лаборатория знаний, 2006.

2. Бартеньев О.В. Microsoft Visual FoxPro : учебно-справ. пособие / О. В. Бартеньев. - М.: Диалог-МИФИ, 2005.

3. Вильямсон Х. Универсальный Dynamic HTML = Writing Cross-Browser Dynamic HTML : Пер. с англ. / Х. Вильямсон. - СПб.: Питер, 2001.

4. Мусина Т. В. Visual FoxPro 8.0. Учебный курс : [учеб. пособие] / Т. В. Мусина 2-е изд. - Киев; СПб. : КОРОНА принт : НТИ, 2004.

Рекомендуемый:

1. Дж. Макконелл Основы современных алгоритмов. ТЕХНОСФЕРА. - М., 2004.

2. Пратт, М. Зелковиц Языки программирования. Разработка и реализация. - ПИТЕР, 2002. - СПб, 2002.

3. Грабер М., Введение в SQL. - М.: Лори, 2000.

4.  Попов А.А..,  Программирование в среде СУБД FoxPro 5.0. - М.: Радио и связь, 2003.

5.  Фаронов В.В. Турбо Паскаль. - М.: МВТУ-ФЕСТО Дидактик, 2002.


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


Перечень технических средств обучения, используемых в учебном процессе, и способы их применения:

В рамках курса разработан дистанционный электронный образовательный ресурс «Алгоритмы поиска, выбора,  сортировки  и их реализация в Turbo Pascal», доступ к которому студент получает по паролю преподавателя.

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

Применяются пакеты прикладных программ: «1С : Бухгалтерия», «1С : Предприятие», «Консультант плюс».

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

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


7.3.  Методические указания студентам


Перечень учебно-методических изданий, рекомендуемых студентам для подготовки к занятиям и выполнения самостоятельной работы, а также методические материалы на бумажных и/или электронных носителях, выпущенные кафедрой своими силами и предоставляемые студентам во время занятий:
1. Конт О.Д. Алгоритмизация и языки программирования //Сборник учебных программ экономического факультета ПГУ по специальности 061800 «Математические методы в экономике». - Пермь, ПГУ, 2006.
2. Конт О.Д. «Алгоритмы поиска, выбора,  сортировки  и их реализация в Turbo Pascal» дистанционный электронный образовательный ресурс ПГУ, 2007.
3. Конт О.Д. Методические рекомендации и задания для работы на лабораторных занятиях и для самостоятельной работы студентов. Сервер экономического факультета ПГУ.
4. Конт О.Д. Контрольные задания для студентов очно-заочного обучения. Сервер экономического факультета ПГУ.
Самостоятельная работа должна носить систематический характер, быть интересной и привлекательной для студента.Результаты самостоятельной работы контролируются преподавателем и учитываются при аттестации студента (промежуточный зачет по теме, итоговый экзамен). В самостоятельную работу студентов входят освоение теоретического материала, подготовка к лабораторным занятиям.
Формы контроля: контроль качества подготовки к лекционным и лабораторным занятиям (контроль усвоения теоретического материала, контроль выполнения заданий на самостоятельную работу, тесты), выполнение контрольных заданий по разделам для индивидуального программирования


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


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

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

Раздел 1

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

Раздел 2
Проработка учебного материала

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

в среде Turbo Pascal,

dBase - подобных СУБД (FoxPro), SQL и HTML, ответы на вопросы

Раздел 3
Проработка учебного материала

по конспектам лекций, по учебной литературе, программирование и отладка задач, написанных с применением технологии Visual Access