Необходимая подготовка
-
Уверенный пользователь (Windows, Офисные пакеты).
-
Законченное или незаконченное высшее образование в области IT-технологий (ФИСТ НГТУ, ВМК, МехМат, РФ ННГУ).
-
Опыт практической работы — знание одного из языков программирования C, C++, Pascal, Delphi.
-
Представление об архитектуре компьютера.
-
Некоторые представления об операционных системах и сетевых технологиях.
Содержание
Лекции
· Введение в программирование на языке Си
Разработка программного обеспечения (ПО). Жизненный цикл ПО. Процесс проектирования программ. Краткая история языка Си. Достоинства и недостатки языка. Динамика использования языков программирования. Создание программы в среде Microsoft Visual C++. Первая программа. Правила оформления исходных текстов. Особенности создания программ в Unix.
· Организация данных
Роль данных. Представление данных. Системы счисления. Модель памяти. Основные понятия при работе с памятью. Распределение памяти. Классификация типов данных языка Си. Таблица стандартных типов. Объявление и инициализация переменных. Массивы одномерные и многомерные. Символьный тип. Строки. Работа с устройствами ввода/вывода. Локализация консольных программ.
· Операторы и выражения
Архитектура программы. Понятие оператора. Классификация операторов. Классификация и характеристики операций. Обзор операторов и операций.
· Указатели
Прямая и косвенная адресация. Объявление и использование указателей. Области применения указателей. Адресная арифметика. Связывание указателей с массивами. Массивы указателей и указатели на массивы. Взаимозаменяемость имён массивов и указателей. Строки и указатели. Указатели на функции.
· Функции
Функциональная декомпозиция программы. Объявление и использование функций. Формальные и фактические параметры. Способы и механизм передачи параметров. Передача и обработка массивов. Работа с командной строкой. Рекурсия.
· Пользовательские типы данных
Стандартные и нестандартные типы данных. Псевдонимы. Перечисления. Структуры. Объединения.
· Битовые поля и побитовые операции
Поля битов. Организация битовых полей. Побитовые операции и примеры их использования.
· Динамическая организация данных
Динамическое распределение памяти. Порядок работы с динамической памятью. Функции для работы с динамической памятью. Типовые ошибки при работе с динамической памятью. Связанные списки. Программный интерфейс связанных списков. Операции над элементами списков. Понятие двоичного дерева. Построение дерева с упорядоченными данными. Операции над узлами бинарных деревьев.
· Завершающие темы
Классы хранения: auto,register,static,extern. Препроцессор. Директивы препроцессора. Условное включение кода. Особенности построения многофайловых проектов. Заголовочные файлы и их содержимое.
Лабораторные работы
· Стандартный ввод/вывод
· Операторы и выражения – 1
· Операторы и выражения – 2
· Указатели
· Функции
· Рекурсия
· Пользовательские типы
· Файловый компрессор – 1
· Файловый компрессор – 2
· Файловый компрессор – 3
Длительность курса
· Лекции — 36 академических часов.
· Лабораторные работы — 40 академических часов.
Курс читают инструкторы
Штанюк Антон Александрович.