Правительство Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"

Факультет информационных технологий и вычислительной техники

МИЭМ НИУ ВШЭ

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

для направления 230100 – «Информатика и вычислительная техника» подготовки бакалавра (профиль 230102 – «Автоматизированные системы обработки

информации и управления» )

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

, к. т.н. n. *****@***ru

Одобрена на заседании кафедры ИТАС «___»____________ 2012 г

Зав. кафедрой _______________________________

Рекомендована профессиональной коллегией УМС по направлению « »

«___»____________ 2012 г

Председатель _______________

Утверждена УС МИЭМ НИУ ВШЭ «___»_____________2012 г.

Ученый секретарь ________________________

Москва, 2012

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

1.1.  Цель преподавания дисциплины.

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

1.2.  Задачи изучения дисциплины.

В ходе изучения дисциплины студенты должны овладеть следующими знаниями:

·  принципами разработки программ для компьютера;

·  методами и математическими моделями программирования задач различного класса;

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

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

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

·  диалоговыми режимами работы при решении задач на компьютере.

2.  Требования к уровню освоения содержания дисциплины.

2.1.  Знания и умения студентов.

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

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

Дисциплина относится к разделу ООП «Профессиональные дисциплины» и является частью профессионального учебного цикла в структуре ООП бакалавриата (Б3. Б3).

·  На входе от бакалавра требуются компетенции по следующим областям знаний:

·  Основы линейной алгебры;

·  Математическая логика;

·  Основы информатики и ИКТ;

·  Программные и аппаратные средства информатики.

·  Теория графов;

·  Математическая логика;

·  Программные и аппаратные средства информатики;

·  Операционные системы и сети ЭВМ.

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

·  Операционные системы

·  Базы данных

·  Защита информации

·  Моделирование систем

·  Технология программирования

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

·  Проектирование АСОИУ

·  Системное программное обеспечение

·  Сетевые технологии

·  Диалоговые системы обработки информации

·  Микропроцессорные системы управления

·  Экспертные системы

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

·  Учебная и производственная практики;

·  Научно-исследовательская работа.

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

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

Процесс изучения дисциплины направлен на формирование у выпускника следующих компетенций в соответствии с ФГОС ВПО по направлению «Информатика и вычислительная техника»

a.  Общекультурных (ОК)

-  владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения (ОК-1);

-  умеет логически верно, аргументировано и ясно строить устную и письменную речь (ОК-2);

-  стремится к саморазвитию, повышению своей квалификации и мастерства (ОК-6);

-  использует основные законы естественнонаучных дисциплин в профессиональной деятельности, применяет методы математического анализа и моделирования, теоретического и экспериментального исследования (ОК-10)ж

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

-  имеет навыки работы с компьютером как средством управления информацией (ОК-12);

-  способен работать с информацией в глобальных компьютерных сетях (ОК-13).

b.  Профессиональных (ПК)

-  осваивать методики использования программных средств для решения практических задач (ПК-2);

-  разрабатывать интерфейсы «человек - электронно-вычислительная машина» (ПК-3);

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

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

-  обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности (ПК-6);

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

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

Знать:

-  основные этапы решения задач на компьютере;

-  критерии качества программы;

-  жизненный цикл программ;

-  принципы алгоритмизации задач;

-  типы данных;

-  основные управляющие структуры программирования;

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

-  принципы структурного и модульного программирования;

-  основные виды и способы реализации абстрактных типов данных;

-  программирование рекурсивных алгоритмов;

-  способы конструирования и верификации программ;

-  основные конструкции алгоритмических языков: Паскаль, Бейсик, Фортран, Си.

Уметь:

-  работать в диалоговом режиме на компьютере;

-  ставить и решать задачу по разработке программы для компьютера;

-  выбирать и применять известные методы решения задач на компьютере;

-  проектировать программу для компьютера;

-  создавать программную документацию на программу;

-  составлять программу на каждом изучаемом алгоритмическом языке программирования;

-  отлаживать программу на компьютере;

-  проводить анализ получаемых результатов.

Владеть навыками:

-  программирования в современных средах;

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

-  разработки программной документации.

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

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

Всего часов / зачетных единиц

Семестры

1

2

3

4

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

216/6

54

54

54

54

В том числе:

-

-

-

-

-

Лекции

72/2

18

18

18

18

Практические занятия (ПЗ)

Семинары (С)

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

144/4

36

36

36

36

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

126/3,5

18

18

54

36

В том числе:

-

-

-

-

-

Курсовой проект (работа)

9/0,25

9

Расчетно-графические работы

Реферат

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

Домашняя работа

117/3,25

18

9

54

36

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

36

зачет

зачет

зачет

экзамен

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

зачетные единицы

378

72

72

108

90

10,5

2

2

3

2,5

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

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

№ п/п

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

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

1

Классификация программ, характеристики и критерии качества программы.

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

2

Жизненный цикл программы и основные этапы разработки программы.

Жизненный цикл программы. Основные этапы решения задач на ЭВМ. Общая схема разработки программы. Постановка задачи и спецификация программы. Язык описания способов и методов решения задач. Внешняя спецификация программы для компьютера и язык описания внешней спецификации. Алгоритмическое конструирование алгоритмов и способы записи алгоритмов. Разработка средств тестирования программы Кодирование алгоритмов. Программа на языке высокого уровня. Тестирование и отладка программы. Документирование программы.

3

Русский алгоритмический язык проектирования алгоритмов.

Назначение русского алгоритмического языка (РАЯ) проектирования. Алфавит языка, объекты языка проектирования. Стандартные типы данных. Базовые операции языка: присвоение, ввод, вывод. Структурные управляющие конструкции: последовательность, альтернатива, повторение. Представление основных управляющих структур программирования. Теорема структуры и структурное программирование. Типовые технологические схемы. Пошаговая детализация алгоритмов. Основные и вспомогательные алгоритмы.

4

Алгоритмический язык Паскаль.

Элементы языка Паскаль: алфавит, слова, имена, числа, строки. Синтаксические диаграммы, стандартные типы данных. Массивы. Кодирование структурированных алгоритмов на языке Паскаль. Процедуры и функции. Локальные и глобальные объекты языка Паскаль. Формальные и фактические параметры процедур. Модульные программы. Рекурсия в языке Паскаль. Рекурсивные определения и алгоритмы. Программирование рекурсивных алгоритмов.

5

Документирование программы.

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

6

Проверка правильности алгоритмов и программ.

Методы проверки программ: тестирование и доказательство правильности. Анализ программ. Утверждение о программах. Корректность программ. Правила вывода для основных структур программирования. Инвариантные утверждения. Утверждения о массивах. Индуктивные функции на последовательностях (файлах, массивах). Способы конструирования и верификации программ.

7

Тестирование алгоритмов и программ

Принципы тестирования алгоритмов и программ. Стратегии тестирования программ. Методы тестирования программ: метод "белого" и "черного" ящиков. Построение тестовых наборов. Программные средства для тестирования программ: драйверы и заглушки. Методы отладки программ.

8

Типы данных в языке Паскаль, абстрактные типы данных.

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

9

Разработка структуры программы.

Понятие структуры программы. Программный модуль. Классификация модулей. Принципы организации сложной программы. Рекурсивные программы. Модульные программы.

10

Алгоритмический язык Бейсик.

Общая характеристика языка Бейсик. Элементы языка. Запись операторов на языке Бейсик. Типы данных в языке. Кодирование структурированных алгоритмов РАЯ на языке Бейсик. Подпрограммы и функции языка. Работа с файлами на языке.

11

Алгоритмический язык Фортран.

Общее описание языка Фортран. Элементы языка. Запись операторов языка Фортран. Программные единицы языка: главная программа, подпрограмма, функция. Кодирование структурированных алгоритмов РАЯ на язык Фортран. Работа с файлами в языке.

112

Алгоритмический язык Си.

Общее описание языка. Элементы языка Си. Основные типы данных. Классы памяти. Операции языка Си. Кодирование структурированных алгоритмов РАЯ на язык Си. Библиотека стандартных функций ввода - вывода. Массивы и указатели в языке Си. Структуры и объединения в языке Си. Препроцессор языка. Работа с файлами в языке.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4