ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И ФИНАНСОВ

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ

«ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ»

Рекомендуется для направления подготовки

230700 Прикладная информатика

Квалификация выпускника – бакалавр

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

2011 год

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

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

Задачи преподавания дисциплины:

·  изучение современных парадигм программирования;

·  изучение основных принципов объектно-ориентированного программирования;

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

·  изучение способов доступа к данных с помощью стандартных классов библиотек языка высокого уровня;

·  освоение программирования в многозадачных операционных системах в визуальной среде программирования;

·  приобретение практических навыков разработки, отладки и тестирования объектно-ориентированных программ для оконных операционных сред с использованием стандартных классов библиотек.

2. Место дисциплины в структуре ООП:

Дисциплина относится к профессиональному циклу (вариативная часть).

Для успешного освоения дисциплины необходимо освоение на базовом уровне дисциплин: «Информатика и программирование», «Вычислительные системы, сети и телекоммуникации», «Информационные системы и технологии», «Операционные системы», «Базы данных», «Разработка и стандартизация программных средств и информационных технологий».

В результате освоения этих дисциплин студент должен приобрести следующие знания, умения и компетенции:

­  способен использовать, обобщать и анализировать информацию, ставить цели и находить пути их достижения в условиях формирования и развития информационного общества (ОК-1);

­  способен самостоятельно приобретать и использовать в практической деятельности новые знания и умения, стремится к саморазвитию (ОК-5);

­  способен применять основные методы защиты производственного персонала и населения от возможных последствий аварий, катастроф, стихийных бедствий, технику безопасности на производстве (ОК - 14).

­  способен использовать основные законы естественнонаучных дисциплин в профессиональной деятельности и эксплуатировать современное электронное оборудование и информационно-коммуникационные технологии в соответствии с целями образовательной программы бакалавра (ПК-З);

­  способен ставить и решать прикладные задачи с использованием современных информационно-коммуникационных технологий (ПК-4);

­  способен принимать участие в создании и управлении ИС на всех этапах жизненного цикла (ПК-11);

­  способен оценивать и выбирать современные операционные среды и информационно-коммуникационные технологии для информатизации и автоматизации решения прикладных задач и создания ИС (ПК-16);

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

Дисциплина является предшествующей для дисциплин «Проектирование информационных систем», «Программная инженерия», «Интеллектуальные информационные системы».

3. Требования к результатам освоения дисциплины:

Процесс изучения дисциплины направлен на формирование следующих компетенций:

­  способен самостоятельно приобретать и использовать в практической деятельности новые знания и умения, стремится к саморазвитию (ОК-5);

­  способен понимать сущность и проблемы развития современного информационного общества (ОК-7);

­  способен применять основные методы защиты производственного персонала и населения от возможных последствий аварий, катастроф, стихийных бедствий, технику безопасности на производстве (ОК - 14).

­  способен использовать основные законы естественнонаучных дисциплин в профессиональной деятельности и эксплуатировать современное электронное оборудование и информационно-коммуникационные технологии в соответствии с целями образовательной программы бакалавра (ПК-З);

­  способен моделировать и проектировать структуры данных и знаний, прикладные и информационные процессы (ПК-9);

­  способен применять к решению прикладных задач базовые алгоритмы обработки информации, выполнять оценку сложности алгоритмов, программировать и тестировать программы (ПК-10);

­  способен применять системный подход и математические методы в формализации решения прикладных задач (ПК-21);

­  знать основы алгоритмизации вычислительных процессов, общих принципов программирования, представления основных структур программ и данных (ПК-40);

­  способен использовать современные методы и средства разработки алгоритмов и программ на языке высокого уровня (ПК-41);

НЕ нашли? Не то? Что вы ищете?

­  способен разрабатывать программы с применением объектно-ориентированных методов информатики (ПК-42).

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

Знать:

­  критерии качества программного обеспечения;

­  базовые понятия объектно-ориентированного подхода к проектированию и программированию;

­  основные технологии разработки программных продуктов;

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

Уметь:

­  проводить сравнительный анализ парадигм и технологий программирования и делать обоснованный выбор;

­  проектировать, разрабатывать и тестировать программное обеспечение по техническому заданию в среде визуального программирования;

­  использовать стандартные классы объектно-ориентированных библиотек, пользоваться справочной системой для получения необходимых знаний о стандартных классах.

Владеть:

­  основными концепциями объектно-ориентированного подхода к программированию;

­  информацией о процессах разработки и жизненном цикле программного обеспечения;

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

4. Объем дисциплины и виды учебной работы

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

Вид учебной работы

Всего часов

(семестр 6)

Аудиторные занятия (всего)

72

В том числе:

-

 

Лекции

24

 

Лабораторные работы (ЛР)

48

 

Самостоятельная работа (всего)

72

 

В том числе:

-

 

Тестирование 1

12

 

Тестирование 2

12

 

Тестирование 3

12

 

Вид промежуточной аттестации (экзамен)

36

 

Общая трудоемкость час

зач. ед.

144

4

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

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

№ п/п

Наименование раздела дисциплины

Содержание раздела

1.

Процедурная парадигма программирования

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

2.

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

Область применения, терминология. Состав класса. Создание объектов. Конструкторы. Методы: виды методов, правила описания и передачи параметров. Свойства класса. Рекомендации по стилю программирования. Дополнительные возможности классов: операции класса, индексаторы, деструкторы. Наследование классов: иерархии классов, правила наследования различных видов элементов класса, реализация полиморфизма. Виды взаимоотношений между классами. Модель включения-делегирования. Элементы UML.

3.

Основы программирования для многозадачных операционных систем

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

4.

Современные технологии разработки программного обеспечения

Обзор современных технологий разработки ПО. Внутренние и внешние критерии качества ПО. Модели жизненного цикла ПО. Унифицированный процесс разработки. Гибкие технологии. Экстремальное программирование. Промышленное тестирование ПО.

5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами

№ п/п

Наименование обеспечиваемых (последующих) дисциплин

№ № разделов данной дисциплины, необходимых для изучения обеспечиваемых (последующих) дисциплин

1

2

3

4

1.

«Проектирование информационных систем»

+

+

+

+

2.

«Программная инженерия»

+

+

+

+

3.

«Интеллектуальные информационные системы»

+

+

+

+

5.3. Разделы дисциплин и виды занятий

№ п/п

Наименование раздела дисциплины

Лекц.

Лаб.

зан.

СРС

Все-го

час.

1.

Процедурная парадигма программирования

6

12

9

27

2.

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

8

14

11

33

3.

Основы программирования для многозадачных операционных систем

4

16

10

30

4.

Современные технологии разработки программного обеспечения

6

6

6

18

6. Лабораторный практикум

№ п/п

№ раздела дисциплины

Наименование лабораторных работ

Трудо-емкость (час.)

1

1

Линейные вычисления (ознакомительная)

2

2

1

Разветвляющиеся и циклические вычисления

6

3

1

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

4

4

2

Классы

8

5

2

Наследование классов

6

6

3

Простое приложение Windows

6

7

3

Приложение Windows

10

8

4

Тестирование приложения

6

9. Учебно-методическое и информационное обеспечение дисциплины:

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

1.  «С#. Программирование на языке высокого уровня» — СПб.: Питер, 2010. – 432с.

2.  «Основы языка С#. Учебно-методическое пособие» — СПб, СПбГУЭФ, 2008 – 120 с.

б) дополнительная литература

3.  , Фролов C#. Самоучитель. — М.: Диалог-МИФИ, 2009. — 560 с.

4.  C# на примерах. — Спб: BHV-Санкт-Петербург, 2011. — 608 с.

5.  , Принципы, паттерны и методики гибкой разработки на языке C# . — Спб: Символ-Плюс, 2011. — 768 с.

6.  C#: учебный курс. — СПб.: Питер, 2010. — 512 с.: ил.

7.  Алгоритмы и структуры данных. — Спб: Невский диалект, 2009 г. — 352 с.

8.  Совершенный код. — СПб.: Питер, 2009. — 896 с.

9.  Биллиг программирования на C#. — М.: Изд-во «Интернет-университет информационных технологий — ИНТУИТ. ру», 2008. — 488 c.

10.  http://www. ***** — Интернет-университет информационных технологий (электронный курс «Основы программирования на языке C#»);

11.  http://ips. ***** — Интернет-школа программирования: учебные пособия, документация, вспомогательные материалы, задания для лабораторных работ, автоматическая проверка выполнения программ;

12.  http://pta-ipm. ***** — презентации лекций, список литературы, полезные ссылки.

в) программное обеспечение

Microsoft Visual C# Express Edition 2005/2008/2010 (http://www. ), лицензия не требуется;

г) базы данных, информационно-справочные и поисковые системы

Microsoft MSDN 2005/2008/2010, лицензия не требуется.

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

1.Лекционные занятия:

a.  комплект электронных презентаций/слайдов,

b.  аудитория, оснащенная презентационной техникой (проектор, экран, компьютер/ноутбук, звуковые колонки).

2.Лабораторные работы

a.  лаборатория (дисплейный класс), оснащенная компьютерами для индивидуального использования студентами.

3.Прочее

a.  рабочее место преподавателя, оснащенное компьютером с доступом в Интернет,

b.  рабочие места студентов, оснащенные компьютерами с доступом в Интернет, предназначенные для работы в электронной образовательной среде.

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

Преподавание дисциплины ведется с применением следующих видов образовательных технологий:

Информационные технологии:

- электронный курс по языку программирования C#, содержащий контрольные вопросы, тестовые задания и задания на лабораторные работы, на http://www. *****;

- презентации лекций (с элементами анимации) и доп. материалы на http://pta-ipm. ***** при подготовке к лекциям и лабораторным работам;

- электронный конспект и система автоматической проверки выполнения программ на сайте Интернет-школы программирования http://ips. *****;

Формы организации учебного процесса:

лекционные занятия: информационные лекции с использование презентаций; лекции с элементами мастер-класса; лекции с заранее запланированными ошибками; лекции с элементами дискуссии; лекции с демонстрациями видеоматериалов; лекции-консультации;

лабораторные работы: контекстное и проблемное обучение; работа в команде; индивидуальная работа со студентом (тьюторство); индивидуальная траектория обучения;

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

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

Самостоятельная работа студента имеет следующие виды:

а) Подготовка к лабораторным работам. Разработка тестовых примеров к лабораторной работе. Изучение возможностей среды программирования, изучение необходимых для создания программы языковых средств, структур данных и стандартных классов. Выбор структур данных и разработка алгоритма. Написание текста программы, создание плана отладки.

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

Примеры контрольных вопросов:

1. Перечислите и опишите лексемы языка C#.

2. Перечислите и опишите литералы языка C#.

3. Перечислите встроенные типы данных и опишите их.

4. Приведите классификацию типов данных C#.

5. Какие элементы стандартных классов. NET, соответствующих встроенным типам языка, вы знаете?

6. Опишите отличия значимых и ссылочных типов. В чем состоят процессы упаковки и распаковки?

в) Подготовка к рубежному контролю. Изучение теоретического материала, прохождение тестов на http://www. *****. Изучение теоретического материала, анализ лекционных примеров программ.

Примеры контрольных вопросов:

1. Даны описания:

class One { int a; public int b; public static int c; }

… One x = new One();

Укажите правильные способы (один или более) обращения к полям:

1. x. a 2 x. b 3. One. a 4. One. c

2. При обращении к нестатическому методу перед его именем указывается

1. имя класса

2. имя экземпляра объекта

3. ничего не указывается

4. имя сборки

г) Подготовка к промежуточной аттестации (экзамену). Приведение в систему полученных ранее знаний.

Оценочные средства по данной дисциплине включают:

§  комплект тестовых заданий по дисциплине – более 350 шт.;

§  комплект заданий на лабораторные работы по дисциплине - по 20 или более вариантов по каждой теме для лабораторной работы, итого - 280 шт., приведены в учебнике [1].

Лабораторные работы

Допуск к ЛР

Допуск к выполнению ЛР происходит при условии наличия у студента комплекта тестовых примеров для тестирования будущей программы в рукописном или электронном виде.

Отчет по ЛР

Отчет по лабораторной работе представляет собой текст программы и комплект результатов ее выполнения на тестовых примерах (в электронном виде). Защита лабораторной работы проходит в форме ответов на вопросы преподавателя (в письменной и/или устной форме).

Если программа написана в полном соответствии с техническим заданием и рекомендуемым стилем (в том числе именования величин), использует оптимальные языковые средства и эффективные алгоритмы, комплектуется полным множеством тестовых примеров и выдает на них грамотно оформленные верные результаты, студент получает максимальное количество баллов.

Основаниями для снижения оценки за работу являются:

§  неполное соответствие техническому заданию;

§  неверный выбор языковых средств;

§  плохой стиль написания программы;

§  неэффективные алгоритмы;

§  недостаточное количество тестовых примеров;

§  недостаточно понятная форма вывода результатов.

Отчет не может быть принят и подлежит доработке в случае:

§  серьезного несоответствия техническому заданию;

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

§  отсутствия минимально необходимого количества тестовых примеров;

§  некорректной работы программы.

По каждой точке контроля студент должен сдать и защитить лабораторные работы (всего 7 работ, состав указан в п.6, из них лабораторная 1 - ознакомительная) и сдать рубежный контроль в виде теста в конце изучения дисциплины.

1. За успешное выполнение каждой лабораторной работы начисляется от 3 до 5 баллов.

2. За успешную защиту каждой лабораторной работы начисляется от 3 до 5 баллов.

3. За успешную сдачу теста начисляется от 12 до 20 баллов.

4. От 1 до 10 баллов дается за активную работу в течение семестра и своевременную сдачу и защиту лабораторных работ.

Тестирование 1 состоит из сдачи и защиты лабораторных работ 2-4.

Тестирование 2 состоит из сдачи и защиты лабораторных работ 5-7.

Тестирование 3 состоит из сдачи и защиты лабораторной работы 8 и итогового теста по дисциплине.

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

6 семестр

Количество баллов

Зачетный минимум

Зачетный максимум

Тестирование 1

18

30

Тестирование 2

18

30

Тестирование 3

18

30

Баллы за активную работу в течение семестра и своевременную сдачу и защиту лабораторных работ

1

10

Итого:

55

100

Экзамен 6 семестр

55

100

Итоговая оценка по курсу: Для формирования итоговой оценки за семестр рассчитывается средняя взвешенная величина: 80% оценки составляет работа студента в течение семестра (количество набранных баллов по каждому виду самостоятельной работы) и 20% оценки составляет ответ на экзамене.

Соответствие баллов рейтинга числовым оценкам за семестр:

менее 55 баллов – «неудовлетворительно».

55-70 баллов – «удовлетворительно»

71-85 баллов – «хорошо»

86-100 баллов – «отлично»

_____________________________________________________________________________

Разработчик:

СПбГУЭФ профессор кафедры информатики

(место работы) (занимаемая должность) (инициалы, фамилия)

Эксперты:

по развитию ММ» ген. директор

____________________ ___________________ ________________________

(место работы) (занимаемая должность) (инициалы, фамилия)