Основы программирования на C

Курс предназначен для школьников, у которых ранее не было опыта работы с языками программирования. Знания, полученные на курсе, помогут в освоении языков программирования С++, С#, Java.

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

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

  • Уровень курса

    Базовый

  • Профиль

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

  • Класс

    9-11 классы

  • Необходимый входной уровень

    • Знание основ логики и математики на уровне не ниже 9 класса

    • Желательно наличие абстрактного мышления

  • Примеры задач

  • Формат обучения

    Очный

  • Количество занятий

    24 занятий по 1 разу в неделю в течение 2 астрономических часов

  • Стоимость обучения

    30 000 рублей за весь курс

Примерная программа курса

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

Раздел 1. Управляющие конструкции

Введение в язык. Простые программы

  • История появления и развития языка программирования C;

  • Компиляторы и интерпретаторы;

  • Среды разработки ПО;

  • Точка входа;

  • Понятие переменной;

  • Именование переменных и ключевые слова;

  • Простые типы данных;

  • Арифметические операции и их приоритет;

  • Вывод информации на экран;

  • Ввод данных с клавиатуры.

Условный оператор

  • Области видимости переменных;

  • Локальные и глобальные переменные;

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

  • Операторы сравнения и логические операции;

  • Условный оператор if ... else;

  • Тернарный оператор;

  • Оператор множественного ветвления switch.

Циклы

  • Необходимость применения циклов;

  • Понятие цикла;

  • Цикл со счётчиком for;

  • Цикл с предусловием while;

  • Цикл с постусловием do ... while.

Функции. Подключение библиотек

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

  • Объявление функции;

  • Параметры функции;

  • Возвращаемое значение;

  • Рекурсия;

  • Подключение библиотек и заголовочные файлы;

  • Обзор встроенных библиотек.

Раздел 2. Простые структуры данных

Массивы

  • Понятие массива;

  • Создание и инициализация массива;

  • Хранение массива в памяти;

  • Доступ к элементам массива;

  • Работа с массивами в функциях;

  • Массивы переменной длины.

Двумерные массивы

  • Понятие двумерного и многомерного массива;

  • Создание и инициализация массива;

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

  • Доступ к элементам многомерного массива;

  • Работа с массивами в функциях.

Символы и строки

  • Представление символов в памяти компьютера. Кодировки;

  • Специальные символы;

  • Объявление строк и null-терминатор;

  • Ввод и вывод строк;

  • Стандартные функции для работы со строками.

Работа с файлами

  • Открытие файлов;

  • Режимы открытия файлов;

  • Закрытие файлов;

  • Функции для чтения информации из файла;

  • Функции для записи информации в файл.

Раздел 3. Продвинутые структуры данных

Указатели. Управление памятью. Динамические массивы

  • Устройство оперативной памяти и хранение переменных;

  • Стек и куча;

  • Понятие указателя;

  • Взятие адреса переменной;

  • Разыменование указателя;

  • Адресная арифметика;

  • Выделение и освобождение памяти;

  • Создание динамического одномерного массива;

  • Способы создания динамического двумерного массива;

  • Изменение размера существующего массива.

Способы передачи параметров функции. Аргументы точки входа

  • Передача параметра функции по значению;

  • Передача параметра функции по ссылке;

  • Аргументы программы и доступ к ним.

Псевдонимы типов. Структуры. Массивы структур

  • Псевдонимы типов и их назначение;

  • Понятие структуры и их преимущества;

  • Объявление структуры;

  • Создание структуры и её инициализация;

  • Получение доступа к полям структуры;

  • Указатели на структуры;

  • Статические и динамические массивы структур.

Динамический связный список

  • Понятие связного списка;

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

  • Реализация вставки, поиска и удаления элемента.

Раздел 4. Работа с графическими библиотеками

  • Подключение графической библиотеки

  • Режим работы монитора (окна)

  • Графические примитивы

  • Вывод на экран изображения

  • Обновление изображения

  • Построение графиков простых функций

  • Создание простого анимированного изображения