ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И ФИНАНСОВ
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
«ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ»
Рекомендуется для направления подготовки
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 баллов – «отлично»
_____________________________________________________________________________
Разработчик:
СПбГУЭФ профессор кафедры информатики
(место работы) (занимаемая должность) (инициалы, фамилия)
Эксперты:
по развитию ММ» ген. директор
____________________ ___________________ ________________________
(место работы) (занимаемая должность) (инициалы, фамилия)


