Загрузка...
Категории:

Загрузка...

Программирование

Загрузка...
Поиск по сайту:


Скачать 94.79 Kb.
Дата08.05.2012
Размер94.79 Kb.
ТипПрограмма
Содержание
Перечень дисциплин, усвоение которых необходимо для изучения курса
Содержание курса
Тема 2. Языки программирования и современные среды программирования.
Тема 3. Язык программирования C. Реализация линейных алгоритмов.
Тема 4. Реализация разветвляющихся алгоритмов.
Тема 5. Реализация циклических алгоритмов.
Тема 6. Статические и динамические массивы.
Тема 7. Организация интерфейса пользователя.
Тема 8. Принципы работы с файлами.
Тема 9. Графика.
Тема 10. Пользовательские функции.
Тема 11. Типы данных, определяемые пользователем.
Тема 12. Архитектура и возможности языков высокого уровня.
Тема 13. Основные понятия объектно-ориентированного подхода к программированию.
Тема 14. Инициализация объектов. Конструкторы и деструкторы.
Тема 15. Перегрузка операций.
Тема 16. Стандартная библиотека.
Тема 17. Принцип наследования и его реализация средствами языка программирования.
Тема 18. Шаблоны. Библиотека STL.
Тема 19. Обработка исключительных ситуаций.
...
Полное содержание
Подобный материал:

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

ПРОГРАММИРОВАНИЕ

Маслянкин В.И.


Для очной формы обучения ВСЕГО 260

лекции 69

семинары 70

Всего аудиторных занятий 139

самостоятельная работа 121


Требования ГОС к обязательному минимуму содержания основной

образовательной программы:

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


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

^ Перечень дисциплин, усвоение которых необходимо для изучения курса: «Информатика», «Математическая логика», «Дискретная математика».

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

    • иметь представление о:

  • об архитектуре и возможностях семейства языков высокого уровня;

  • о критериях качества программы;

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

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

    • знать:

  • способы записи алгоритмов, средства реализации алгоритма на языке программирования высокого уровня;

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

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

  • базовые алгоритмы обработки числовой и текстовой информации;

  • принципы функционирования программ в различных операционных системах, способы разработки Windows – приложений;

  • принципы построения, вывода на экран и хранения графических объектов.

    • уметь:

  • формализовать поставленную задачу, составлять алгоритмы ее решения;

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

  • составить план и провести тестирование, написать программную документацию;

  • применять базовые приемы объектно-ориентированного программирования;

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

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

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

Основной вид рубежного контроля знаний: зачет, курсовая работа, экзамен.


^ СОДЕРЖАНИЕ КУРСА

Тема 1. Алгоритмизация и основы программирования.

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

Типовые алгоритмы – суммирование, поиск максимума (минимума). Алгоритмы сортировки – подсчетом, методом вставки, методом пузырька. Алгоритм быстрой сортировки. Алгоритмы поиска – последовательный поиск, ступенчатый поиск, бинарный поиск.

Динамические структуры данных: списки, очереди, стек.

Методология разработки алгоритма. Оценка эффективности алгоритма. Качество программного обеспечения. Доказательное программирование.

^ Тема 2. Языки программирования и современные среды программирования.

Языки программирования и их классификация. Высокоуровневые языки программирования. Сравнительный обзор высокоуровневых языков программирования и общие понятия высокоуровневых языков программирования – типы данных, переменные, выражения, операторы ветвления, циклы, функции и т.д.

Трансляция программы. Интерпретаторы и компиляторы. Исходный текст. Модули. Библиотеки. Исполняемая программа. Отладка и тестирование. Отладчик.

Интегрированная среда программирования. Встроенный редактор. Препроцессор. Трансляция и сборка программы. Встроенный отладчик.

Основные понятия: алгоритм, блок-схема, псевдокод, суммирование, упорядочивание, поиск, язык программирования, транслятор, отладчик, модуль, библиотека, приложение, тестирование.

^ Тема 3. Язык программирования C. Реализация линейных алгоритмов.

Алфавит языка, лексемы. Ключевые слова и идентификаторы. Типы данных. Директивы препроцессора include и define. Понятие функции. Структура программы.

Переменные и константы. Глобальные и локальные переменные. Область видимости переменных. Функции ввода/вывода.

Операция присваивания. Арифметические выражения и операции. Операции сдвига. Преобразование типов данных. Библиотечные функции. Математические функции.

Основные понятия: тип данных, идентификатор, переменная, константа, операция, оператор, выражение, директива препроцессора.

^ Тема 4. Реализация разветвляющихся алгоритмов.

Операции отношения, условные выражения и логические операции. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление.

Оператор множественного выбора switch. Конструкции case и default. Оператор прерывания break.

Передача управления: оператор безусловного перехода goto. Метки.

Основные понятия: ветвление, передача управления, метка, дизъюнкция, конъюнкция, отрицание.

^ Тема 5. Реализация циклических алгоритмов.

Циклы с предусловием и постусловием. Реализация циклов с помощью операторов ветвления и передачи управления. Операторы цикла while, do while, for. Взаимное приведение циклов for и while. Оператор продолжения continue. Прерывание циклов.

Вложенные циклы. Понятие об итерации. Рекурсивные и циклические алгоритмы.

Основные понятия: предусловие, постусловие, тело цикла, передача управления, метка, итерация, рекурсия.

^ Тема 6. Статические и динамические массивы.

Массивы как однородные статические структуры данных. Числовые массивы. Алгоритмы обработки массивов: суммирование, поиск максимума (минимума), сортировка, поиск. Массивы различной размерности. Заполнение и инициализация массивов. Многомерные массивы. Алгоритмы работы с матрицами.

Указатели. Динамические массивы. Арифметика указателей. Связь между массивами и указателями.

Строки. Обработка строк как массивов символов. Библиотечные функции обработки строк. Массивы строк.

Основные понятия: указатель, значение, адрес, разадресация, размерность, символ, копирование, конкатенация.

^ Тема 7. Организация интерфейса пользователя.

Организация и средства человеко-машинного интерфейса. Работа с экраном в текстовом режиме Задание цвета. Интерфейс командной строки. Горячие клавиши. Пассивное меню. Активное меню. Создание формы ввода на экран.

Основные понятия: код клавиши, меню, пункт меню, команда меню.

^ Тема 8. Принципы работы с файлами.

Файлы. Типы файлов. Организация работы с файлами. Библиотечные функции, предназначенные для работы с файлами.

Основные понятия: имя файла, полное имя файла, текстовый файл, бинарный файл, файл прямого доступа, открытие файла, закрытие файла, чтение, запись.

^ Тема 9. Графика.

Работа с экраном в графическом режиме. Выбор графического драйвера и моды. Инициализация графического режима.

Выбор инструментов рисования: пера, кисти (заливки), шрифта. Функции вывода графики. Графические примитивы.

Основные понятия: драйвер, мода, координаты, пиксель, перо, заливка, шрифт, графический примитив.

^ Тема 10. Пользовательские функции.

Библиотечные и пользовательские функции. Прототип и описание функции. Возвращаемое значение. Передача параметров по значению и по адресу. Ссылки. Массивы в качестве параметров. Параметры со значениями по умолчанию. Функции в качестве параметров. Понятие функтора. Рекурсия. Перегрузка функций.

Основные понятия: формальный параметр, фактический параметр, тип функции, прототип, рекурсия.

^ Тема 11. Типы данных, определяемые пользователем.

Пользовательские типы данных. Структуры. Массивы структур. Инициализация структур. Поля (данные) структур. Операции доступа данным.

Переименование типов. Перечисления. Объединения. Битовые поля.

Основные понятия: базовые типы данных, пользовательские типы данных, структура, поле структуры, операция доступа.

^ Тема 12. Архитектура и возможности языков высокого уровня.

Принципы объектно-ориентированного программирования. Функциональное программирование. Визуальное программирование. Программирование баз данных. Программирование в компьютерных сетях. Программирование мультимедиа-сред.

^ Тема 13. Основные понятия объектно-ориентированного подхода к программированию.

Понятие инкапсуляции, полиморфизма, наследования, модульности и абстракции объектов.

Понятие класса и объекта. Объявление класса. Данные-члены (свойства) и функции-члены (методы). Доступ к членам класса: открытые, закрытые и защищенные члены класса. Объекты. Обращение к членам объекта. Дружественные классы и функции. Передача объекта в качестве параметра функции.

Основные понятия: инкапсуляция, полиморфизм, наследование.

^ Тема 14. Инициализация объектов. Конструкторы и деструкторы.

Конструкторы. Свойства конструкторов. Конструктор по умолчанию. Параметры конструкторов. Конструктор преобразования.

Деструктор. Вызов деструктора. Виртуальный деструктор.

Указатель this. Оператор присваивания. Конструктор копий. Поразрядное (буквальное) копирование и развернутое копирование. Реализация копирования через присваивание.

Основные понятия: инициализация, конструктор, деструктор.

^ Тема 15. Перегрузка операций.

Понятие перегрузки. Перегрузка функций. Перегрузка операций. Перегружаемые операции. Операции, не допускающие перегрузки.

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

Основные понятия: перегрузка, операция, функция.

^ Тема 16. Стандартная библиотека.

Строки C++. Класс string. Конструкторы, операции и методы класса строк.

Потоковые классы. Предопределенные объекты cin и cout. Форматирование потоков. Методы обмена с потоками. Файловые потоки.

Основные понятия: строка, поток, извлечение из потока, помещение в поток, флаг, манипулятор, файл.

^ Тема 17. Принцип наследования и его реализация средствами языка программирования.

Базовый и производный классы. Режимы доступа к членам базового класса. Конструкторы и деструкторы производных классов. Полиморфизм. Виртуальные методы.

Множественное наследование. Использование виртуальных базовых классов. Чисто виртуальная функция. Абстрактные классы.

Основные понятия: наследование, виртуальность, раннее связывание, позднее связывание.

^ Тема 18. Шаблоны. Библиотека STL.

Перегрузка функций. Шаблоны функций. Создание шаблонов функций. Классы-шаблоны. Создание и использование шаблонов классов.

Библиотека STL. Алгоритмы и контейнеры. Вектор, список, стек, очередь.

Основные понятия: шаблон, итератор, контейнер.

^ Тема 19. Обработка исключительных ситуаций.

Понятие исключения. Генерация исключения, обработчики исключений. Абсолютный обработчик. Стандартный обработчик и его перегрузка.

Исключения в классах. Исключения в функциях.

Основные понятия: исключение, контролируемый блок, тип исключения, генерация исключения.

^ Тема 20. Проектирование программных комплексов.

Этапы создания объектно-ориентированных программ. Понятие проекта. Понятие компонента. Реализация проекта. Отладка проектов. Средства проектирования.

Основные понятия: проект, компонент, визуальная среда.

^ Тема 21. Разработка Windows - приложений.

Структура и выполнение Windows –программ. Инициализация окон. Обработка сообщений. Управление памятью. Классы приложений. Классы-шаблоны и виртуальные функции для работы с Windows. Окно и его ресурсы. Методы создания ресурсов окна.

Основные понятия: наследование, приложение, фрейм, дочернее окно, сообщение, цикл обработки сообщения, ресурсы.

^ Тема 22. Графика в Windows - приложениях.

Общие принципы создания графических программ. Вывод графических образов на экран. Хранение графических образов. Программирование графики для Windows. Графические объекты Windows. Библиотеки графических образов.

Основные понятия: пиксель, перо, кисть, шрифт, контекст устройства, графический примитив, событие Paint.

^ Тема 23. Обзор современных средств и технологий программирования.

Методика проектирования, ориентированная на потоки данных. Визуальное программирование: компоненты и события, обработка событий. Многооконный интерфейс и средства его создания. Средства автоматизации программирования (CASE - технологии).

Основные понятия: визуальное программирование, компонент, свойства компонента, невизуальный компонент, стандартный диалог.


ЛИТЕРАТУРА

Основная:

  1. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – Спб.: «Питер», 2009.- 464 стр.: ил.

  2. Полубенцева М. С/С++. Процедурное программирование. Издательство: БХВ-Петербург, 2008 г., 448 стр.

  3. Керниган Б., Ритчи Д. Язык программирования Си. Пер. с англ. – М.: Издательский дом «Вильямс», 2009 – 304 стр.

  4. Страуструп Б. Язык программирования С++.Специальное издание. Пер. с англ. – М: Издательство «Бином», 2008 -1104 стр.


Дополнительная.

  1. Маслянкин В.И. Разработка Windows – приложений в среде Borland: Учебное пособие. – М.: РосНОУ, 2007. – 200 стр.: ил.

  2. Киммел П.и др.Borland C++ 5.Пер. с англ.– Спб.: «БХВ- Петербург», 2001- 976 стр.: ил.

  3. Павловская Т.А., Щупак Ю.А. C/C++. Структурное и объектно-ориентированное программирование. Практикум– Спб.: «Питер», 2010.- 352 стр.

  4. Юркин А.Г. Задачник по программированию. – Спб.: «Питер», 2002.- 192 стр.

  5. Культин Н. С/С++ в задачах и примерах. Спб: «БХВ-Петербург», 2003., 288 стр.: ил.

  6. Шилдт Г. Справочник программиста по С/С++, 3-е изд.:пер. с англ. – М.: Издательский дом «Вильямс», 2010. – 432 стр.: ил.

  7. Шилдт Г. C++: базовый курс, 3-е издание.:пер. с англ. – М.: Издательский дом «Вильямс», 2009 - 624 стр., с ил.

  8. Каймин В. А. Информатика. Издательство: Проспект, 2009 г., 272 стр.

Скачать, 132.68kb.
Поиск по сайту:

Добавить текст на свой сайт
Загрузка...


База данных защищена авторским правом ©ДуГендокс 2000-2014
При копировании материала укажите ссылку
наши контакты
DoGendocs.ru
Рейтинг@Mail.ru