Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"
Факультет информационных технологий и вычислительной техники
МИЭМ НИУ ВШЭ
Программа дисциплины «Программирование»
для направления 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 |


