Введение в программирование 1 курс ПИ 14

advertisement
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
Правительство Российской Федерации
Нижегородский филиал
Федерального государственного автономного образовательного
учреждения высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"
Факультет бизнес-информатики и прикладной математики
Программа дисциплины
«Введение в программирование»
для направления 09.03.04 – Программная инженерия
подготовки бакалавра
Адаптировано из программы НИУ ВШЭ Пермь
О.Л. Викентьева, к.т.н., vikentyevaol@hse.perm.ru,
Автор адаптации:
Кащеев Н.И..к.т.н., профессор, e-mail: nkasheev@hse.ru
Одобрена на заседании кафедры «Базовая кафедра МЕРА» «___»____________ 2014г.
Зав. кафедрой Н.И.Кащеев
Рекомендована секцией УМС «Прикладная математика»
Председатель В.А. Калягин
Утверждена УМС НИУ ВШЭ – Нижний Новгород
Председатель В.М. Бухаров
«___»____________ 2014г.
«___»_____________2014г.
Нижний Новгород, 2014 г.
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
Область применения и нормативные ссылки
Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и
отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину,
учебных ассистентов и студентов направления 09.03.04 «Программная инженерия» подготовки бакалавра , изучающих дисциплину Введение в программирование (факультатив).
Программа разработана в соответствии с:
образовательным стандартом федерального государственного автономного образовательного
учреждения
высшего
профессионального
образования
«Национальный исследовательский университет «Высшая школа экономики»
по направлению 09.03.04 «Программная инженерия» подготовки бакалавров

образовательной
программой
направления
09.03.04
«Программная инженерия» подготовки бакалавра;
рабочим
учебным
планом
университета
по
направлению
09.03.04
«Программная инженерия» подготовки бакалавра, утвержденным в 2014 г.
Цели освоения дисциплины
Цель изучения дисциплины «Введение в программирование» на первом курсе –
дать базовые знания по алгоритмизации, программированию и использованию инструментальных средств разработки программ, необходимые для успешного освоения дисциплин
профессионального, математического и естественнонаучного цикла (базовых и вариативных частей), изучение которых связано с применением средств информационнокоммуникационных технологий, созданием эффективных алгоритмов решения задач, разработкой программного обеспечения для различных предметных областей. Освоение дисциплины должно обеспечить базовые знания в области алгоритмизации и программирования, которые дадут возможность выпускнику успешно работать в сфере организации процессов жизненного цикла ИС и ИКТ, обладать универсальными и предметноспециализированными компетенциями, способствующими его социальной мобильности и
устойчивости на рынке труда.
В области воспитания личности целью ВПО по направлению подготовки 09.03.04
«Программная инженерия» является формирование социально-личностных качеств студентов: целеустремленности, организованности, трудолюбия, ответственности, гражданственности, коммуникативности, толерантности, готовности к ответственному и целеустремленному решению поставленных задач во взаимодействии с обществом, коллективом, партнерами, способность проявлять гражданственность, толерантность и высокую
общую культуру в общении с подчиненными и сотрудниками всех уровней, способность к
саморазвитию, повышению своей квалификации и мастерства, понимание социальной
значимости своей будущей профессии, высокую мотивацию к выполнению профессиональной деятельности.
Для достижения поставленной цели при изучении дисциплины решаются следующие задачи:
познакомить студентов с базовыми понятиями и методами алгоритмизации и программирования;
познакомить студентов с современными средствами разработки программ, возможностями языков высокого уровня (на примере одного языка);
2
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
дать навыки практического применения различных методов решения задач с помощью
компьютеров;
привить студентам навыки исследовательской работы, предполагающей самостоятельное
изучение алгоритмов решения типовых задач информатики и программирования, методов
и средств их реализации, анализа и оценки решений.
Содержание программы дисциплины должно обеспечить базовую подготовку студентов в процессе формирования устойчивых знаний и практических навыков решения
задач с помощью компьютеров, разработки алгоритмов и программ, их оценки, заложить
основы для успешного освоения курсов, посвященных созданию современных информационных систем (в частности, курса «Введение в программирование).
Курс также призван повысить общую эрудицию студентов, показать возможности
применения алгоритмического подхода к решению задач в различных областях.
Компетенции обучающегося, формируемые в результате освоения
дисциплины
Бакалавр программной инженерии в соответствии с образовательным стандартом должен
знать основные технологии программирования, владеть методами и инструментальными
средствами разработки программ. Основы этих компетенций закладываются при изучении
данной дисциплины.
В результате освоения дисциплины студент должен:

Знать:
основные понятия информатики и программирования;
основные технологии программирования: средства процедурного программирования с использованием языка высокого уровня;
определение, свойства и средства формализации алгоритмов;
основные управляющие структуры и способы описания алгоритмов с использованием различных нотаций;
основные методы разработки алгоритмов, особенности их реализации;
понятие типа данных, форматы представления данных при решении задач с
помощью компьютера;
основные алгоритмы сортировки и поиска данных;

Уметь:
решать задачи, используя различные методы разработки алгоритмов и выбирая
наиболее подходящие алгоритмы и средства их реализации в зависимости от
постановки задачи;
разрабатывать программные продукты: разрабатывать программы средней
сложности на языке программирования высокого уровня с использованием основных управляющих конструкций и стандартных типов данных.

Владеть (приобрести опыт):
навыками разработки и анализа алгоритмов решения типовых задач (сортировки и поиска данных и пр.), исследования их свойств;
методами и инструментальными средствами разработки программ: разработки
программ средней сложности на языке программирования высокого уровня, их
тестирования и отладки;
3
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
навыками самостоятельного решения задач с помощью компьютеров, изучения
новых средств разработки программ.
Студенты также должны получить общее представление об основных парадигмах и
методологиях разработки программных продуктов, о теоретических основах и инструментальных средствах создания информационных систем различного назначения, связи между ними.
В результате освоения первой части дисциплины студент должен освоить следующие компетенции:
Компетенция
Код по
Дескрипторы – основные признаки освоения
стандарту
(показатели достижения результата)
Владение культурой
мышления, способность к обобщению,
анализу, восприятию
информации, постановке цели и выбору
путей её достижения
ОК-1
Способность логически верно, аргументировано и ясно строить
устную и письменную
речь
ОК-2
Готовность к использованию методов и
инструментальных
средств объектов профессиональной деятельности
ПК-3
Умение готовить презентации, оформлять
научно-технические
отчеты по результатам выполненной ра-
ПК-5
Формы и методы
обучения,
способствующие
формированию и
развитию
компетенции
Даёт четкие определения основных понятий Аудиторные заняинформатики и программирования, видит их тия проводятся в
связь
форме, предполагающей активное
Четко формулирует задачи, анализирует
участие студентов в
условия и обоснованно выбирает методы
работе, обсуждение
решения, уверенно интерпретирует резуль- проблем и анализ
таты
решений, предлагаДемонстрирует умение обосновывать пред- емых студентами и
лагаемые решения (не только разрабатывать преподавателем на
алгоритмы и программы, реализующие их,
лекциях и практино и уметь доказывать правильность проческих занятиях.
грамм, анализировать и оценивать эффективность решений)
Демонстрирует умение оценивать и отбирать
наиболее важную информацию, максимально полезную для решения поставленных задач при выполнении домашних заданий, при
подготовке к контрольным мероприятиям.
Владеет методами и инструментальными
средствами разработки программ, в частности основными возможностями современных
систем программирования, языков высокого
уровня:
- знает возможности системы программирования и может разрабатывать программы средней сложности на языке программирования высокого уровня;
- владеет средствами тестирования и отладки программ с использованием возможностей системы программирования.
Умеет грамотно оформлять отчеты о выполнении домашних заданий, включающие постановку задач, описание решений и оценки
результатов
Выполнение практических заданий с
использованием
языка программи-
рования высокого
уровня, их тестирование с использованием различных методов и отладка
Оформление результатов выполнения заданий с использованием требований к оформ-
4
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
Код по
Дескрипторы – основные признаки освоения
стандарту
(показатели достижения результата)
Компетенция
боты, публиковать
результаты исследований в виде статей и
докладов на научнотехнических конференциях
Формы и методы
обучения,
способствующие
формированию и
развитию
компетенции
Владеет навыками грамотного оформления и лению отчетов, содокументирования текстов программ, ревременных технозультатов их тестирования
логий подготовки
документов
Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к факультативам.
Изучение данной дисциплины базируется на следующих дисциплинах:
 Базовый школьный курс информатики.
 Линейная алгебра.
Для освоения учебной дисциплины студенты должны владеть следующими знаниями и компетенциями:
 Знание основ функционирования персональных компьютеров.
 Знание основ организации обработки данных с помощью компьютеров.
 Базовые навыки работы с персональным компьютером в среде Microsoft Windows.
 Базовые знания и навыки работы с офисными приложениями (текстовым процессором и электронными таблицами).
 Знание основных понятий линейной алгебры, операций над векторами и матрицами.
Основные положения дисциплины будут использованы в дальнейшем при изучении следующих дисциплин учебного плана:
 Программирование.
 Теоретические основы информатики.
 Дискретная математика.
Тематический план учебной дисциплины
Аудиторные часы
№
1
2
3
4
5
Название раздела
Раздел I. Основы программирования на
языке программирования высокого
уровня.
Тема 1. Жизненный цикл программного
обеспечения.
Тема 2. Общая характеристика системы
MSDN
Тема 3. Состав языка программирования
высокого уровня
Раздел II. Решение задач с использова-
Само-
Всего
часов
Лекции
стояПрактичеСеминаские заня- тельная
ры
тия
работа
62
15
15
32
22
5
5
12
20
5
5
10
52
15
15
22
23
6
5
12
5
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
нием основных операторов.
6
7
Тема 4. Основные операторы
Тема 5. Понятие структурированного типа
данных
ИТОГО
23
29
6
9
5
10
12
10
114
30
30
54
Формы контроля знаний студентов
Тип контроля
Текущий контроль
Итоговый
Форма контроля
Контрольная
работа
Экзамен
1
*
1 год
2
*
Параметры
*
устная форма 2 вопроса и 1
задача
Решение задач
Критерии оценки знаний, навыков
Контроль знаний студентов включает формы текущего и итогового контроля. Текущий контроль осуществляется в течение двух модулей. В рамках учебного курса предусмотрены различные формы текущего контроля знаний и работы студентов на практических занятиях: контрольные работы (после каждого практического занятия). Каждая форма текущего контроля оценивается по 10-балльной шкале, оценка выставляется в рабочую
ведомость преподавателя. Форма итогового контроля оценивается так же по 10-балльной
шкале.
Домашняя работа содержит несколько задач. Для каждой из задач студент должен
представить решение в электронном виде, включая исходный код и исполняемый файл
программы.
Контрольная работа
высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при отличном выполнении заданий (правильном решении задачи, четком и исчерпывающем ее представлении);
почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и отличном выполнении заданий, но при отсутствии четкого и исчерпывающего представления решаемой задачи;
оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном
решении задачи, но при наличии отдельных неточностей в ответах на вопросы;
оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на
вопросы (включая грамматические ошибки) или неточностях в решении задачи непринципиального характера (описки и случайные ошибки);
оценка в 5 баллов проставляется в случаях, когда в ответах на вопросы и в решении
задачи имеются неточности и ошибки, свидетельствующие о недостаточном понимании
изучаемой дисциплины и требующие дополнительного обращения к учебным материалам;
оценка в 4 балла проставляется при наличии серьезных ошибок в ответах на вопросы и в решении задачи, что свидетельствует о наличии пробелов в знании изучаемой дисциплины;
оценка в 3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задач, говорящих лишь о потенциальной воз6
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
можности в последующем более успешного выполнения заданий; оценка в 3 балла, как
правило, ведет к повторному решению дополнительной задачи;
оценка в 2 балла проставляется при полном отсутствии положительных моментов в
ответах на вопросы и в решении задачи и, как правило, ведет к повторному написанию
контрольной работы в целом;
оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине.
Экзамен
На экзамене, представляющем собой ответы на вопросы и решение задачи с последующим собеседованием, оценка проставляется следующим образом:
высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при отличном выполнении заданий (полных, с примерами и возможными обобщениями ответах на вопросы, при правильном решении задачи и детальном ее представлении);
почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и решении задачи, но при отсутствии примеров и обобщений, а также детального представления решаемой задачи;
оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном
решении задачи, но при отсутствии пояснений и обобщений, а также детального представления решаемой задачи;
оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на
вопросы или неточностях в решении задачи непринципиального характера (описки и случайные ошибки);
оценка в 4-5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются существенные неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины;
оценка в 2-3 балла проставляется при наличии лишь отдельных положительных
моментов в ответах на вопросы и в решении задачи;
оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине.
По результатам устного собеседования с преподавателем возможны корректировки
оценки в ту или иную сторону.
Порядок формирования оценок по дисциплине
Накопленная оценка за текущий контроль учитывает результаты студента по текущему контролю следующим образом:
Онакопленная = 0,5* Ок/р1 + 0,5*Ок/р2
Способ округления накопленной оценки - арифметический.
Результирующая оценка за дисциплину рассчитывается следующим образом:
Орезульт = 0,6*Онакопленная + 0,4*Оэкзамен
В диплом выставляет результирующая оценка по учебной дисциплине.
Способ округления оценок – арифметический.
7
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
Содержание дисциплины
Раздел I. Основы программирования на языке программирования высокого уровня.
Тема 1. Жизненный цикл программного обеспечения. [12]
Постановка задачи и спецификация программы, способы записи алгоритма. Программа на языке высокого уровня. Понятия тестирования и отладки. Критерии качества
программы. Диалоговые программы, дружественность интерфейса. Стиль программирования. Понятие алгоритма. Свойства алгоритма. Способы записи алгоритма. Типовые алгоритмы вычислительных процессов.
Тема 2. Общая характеристика системы MSDN. [10]
Понятия системы программирования и среды программирования. Основные понятия. Выполнение программы в .NET. Структура платформы .NET. Интегрированная среда
разработки MS Visual Studio.NET.
Тема 3. Состав языка программирования высокого уровня [20]
Структура программы на языке высокого уровня. Алфавит языка. Лексемы.
Понятие типа данных. Классификация типов. Значимые типы и ссылочные типы
данных. Классификация по способу хранения. Встроенные типы данных.
Переменные. Выражения. Основные операции. Использование стандартных функций. Приведение типов.
Литература по разделу:
1. Подбельский В.В. Язык С#.Базовый курс:учеб. Пособие. – М.:Финансы и статистика;
ИНФРА-М, 2011, (Глава 1, Глава 2, Глава 3, Глава 4)
2. Павловская Т.А. С#. Программирование на языке высокого уровня. – СПБ.: Питер,
2009. (Глава 1, Глава 2, Глава 3)
3. Плаксин М.А. Тестирование и отладка программ – для профессионалов будущих и
настоящих. М.: БИНОМ. Лаборатория базовых знаний, 2007.
Формы и методы проведения занятий по разделу, применяемые учебные технологии: практические занятия и самостоятельная работа студентов предусматривают
решение задач по программированию, для каждой задачи должен быть составлен алгоритм в виде блок-схемы, программа, набор тестов (критерии черного ящика, белого ящика, МГТ).
Раздел II. Решение задач с использованием основных операторов.
Тема 4. Основные операторы [32]
Операторы и основные управляющие структуры: итерация, ветвление, повторение.
Решение задач с использованием основных управляющих структур. Вложенные
циклы. Рекуррентные вычисления.
Тема 5. Понятие структурированного типа данных [34]
Одномерные массивы. Способы перебора массивов. Типы задач по обработке массивов. Простые методы сортировки. Поисковые задачи. Двумерные массивы. Решение задач с использованием массивов.
8
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
Литература по разделу:
1. Подбельский В.В. Язык С#.Базовый курс:учеб. Пособие. – М.:Финансы и статистика;
ИНФРА-М, 2011, (Глава 6, Глава 7)
2. Павловская Т.А. С#. Программирование на языке высокого уровня. – СПБ.: Питер,
2009. (Глава 4, Глава 6)
3. Плаксин М.А. Тестирование и отладка программ – для профессионалов будущих и
настоящих. М.: БИНОМ. Лаборатория базовых знаний, 2007.
Формы и методы проведения занятий по разделу, применяемые учебные технологии: практические занятия и самостоятельная работа студентов предусматривают
решение задач по программированию, для каждой задачи должен быть составлен алгоритм в виде блок-схемы, программа, набор тестов (критерии черного ящика, белого ящика, МГТ).
Образовательные технологии
8.1.Методические рекомендации преподавателю
На лекциях используется «проблемный» подход к изложению материала: материал каждой лекции иллюстрируется примерами, рассматриваются нестандартные ситуации, требующие решения с использованием рассматриваемого материала. При этом студенты
должны активно участвовать в обсуждении вопросов, выработке решений. Для самостоятельного изучения предлагается использовать электронные ресурсы.
На практических занятиях используются следующие методы обучения и контроля усвоения материала:
 выполнение практических работ по теме занятия сопровождается контрольным опросом;
 обсуждение различных вариантов решения, предложенных студентами, сравнение решений, анализ возможных ситуаций.
8.2.Методические указания студентам
Студенту рекомендуется следующая схема подготовки к практическому занятию:
1) проработать конспект лекций;
2) проанализировать основную и дополнительную литературу, рекомендованную
по изучаемому разделу;
3) проанализировать варианты решений, предложенные преподавателем;
4) при затруднениях сформулировать вопросы к преподавателю.
Для подготовки к занятиям рекомендуется использовать источники, представленные
в электронных форматах: рассмотреть примеры решений, использовать пошаговое выполнение программ в среде разработки.
Оценочные средства для текущего контроля и аттестации студента
9.1. Тематика заданий текущего контроля
Примерные вопросы/ задания для домашнего задания:
1. Разработка алгоритма для решения задачи по обработке массивов (удаление,
добавление, перестановка элементов, поиск, сортировка).
2. Разработка программы для решения задачи по обработке массивов (удаление, добавление, перестановка элементов, поиск, сортировка).
3. Тестирование и отладка программы.
9
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
9.2. Вопросы для оценки качества освоения дисциплины
1. Формальный язык. Лексика. Синтаксис. Семантика. Прагматика.
2. Терминалы. Нетерминалы
3. Ошибка в программе. Тестирование. Отладка.
4. Цель тестирования. Принципы тестирования. Полнота тестирования
5. Отличия критериев Черного ящика и Белого ящика.
6. Перечислить критерии Черного ящика.
7. Тестирование функций.
8. Тестирование классов входных данных.
9. Тестирование классов выходных данных.
10. Тестирование ОДЗ.
11. Тестирование длины набора данных
12. Тестирование упорядоченности
13. Перечислить критерии белого ящика.
14. Покрытие операторов.
15. Покрытие решений.
16. Покрытие путей.
17. Покрытие условий. Комбинаторное покрытие условий.
18. Покрытие решений/условий.
19. МГТ для if с простым условием и для if со сложным условием
20. МГТ для цикла while с простым условием и для цикла while со сложным условием.
21. МГТ для цикла repeat с простым условием и для цикла repeat со сложным условием.
22. МГТ для цикла for.
23. Алгоритм (определение). Свойства алгоритма
24. Понятие переменной.
25. Понятие типа данных.
26. Классификация типов данных.
27. Встроенные типы данных.
28. Область действия идентификатора.
29. Локальные и глобальные переменные.
30. Чтение данных с клавиатуры.
31. Вывод данных на экран.
32. Оператор присваивания
33. Составной оператор.
34. Условный оператор.
35. Оператор выбора.
36. Цикл с предусловием.
37. Цикл с постусловием.
38. Цикл со счетчиком.
39. Массивы.
40. Размерность массива. Многомерные массивы.
41. Типы задач по обработке массивов.
42. Бинарный поиск в массиве
43. Сортировка простым обменом
44. Сортировка простым выбором
45. Сортировка простым включением
10
НИУ ВШЭ – Нижний Новгород
Программа дисциплины «Введение в программирование» для направления 09.03.04– Программная
инженерия подготовки бакалавра
Учебно-методическое и информационное обеспечение дисциплины
10.1.
Базовый учебник
1. Подбельский В.В. Язык С#.Базовый курс:учеб. Пособие. – М.:Финансы и статистика; ИНФРА-М, 2011, 384 с.
10.2. Основная литература
2. Павловская Т.А. С#. Программирование на языке высокого уровня. – СПБ.: Питер, 2009. – 43 с.: ил.
3. Плаксин М.А. Тестирование и отладка программ – для профессионалов будущих
и настоящих. М.: БИНОМ. Лаборатория базовых знаний, 2007.
10.3. Дополнительная
4. Шилдт, Герберт. Полный справочник по С#. : Пер. с англ. — М. : Издательский
дом "Вильямс", 2004. — 752 с. : ил. — Парал. тит. англ.
5. Троелсен, Эндрю. Язык программирования С# 2010 и платформа .NET 4.0., 5-е
изд.: Пер. с англ. – М.: Издательский дом "Вильямс", 2011. – 1392с. : ил. – Парал.
тит. англ.
10.4. Справочники, словари, энциклопедии
Интерактивная справочная система MSDN.
10.5. Программные средства
Для успешного освоения дисциплины, студент использует следующие программные средства:
 MS Visual Studio.Net
 MS Word,
 MS Visio
 MS Excel
11.1. Дистанционная поддержка дисциплины
Используется система LMS.
Материально-техническое обеспечение дисциплины


Для проведения лекций необходим проектор.
Для проведения практических занятий необходим компьютерный класс с установленным программным обеспечением (п. 10.5).
Автор программы
О.Л.Викентьева
11
Download