up

Язык программирования C++. Часть 1. Процедурное программирование

8 October 2020 - 1 February 2021 г.
The course has already started
60 days
До конца записи
  • 10 недели

    длительность курса

  • от 2 до 3 часов в неделю

    понадобится для освоения

  • 2 зачётных единицы

    для зачета в своем вузе

О курсе

Курс дает знания процедурного программирования на языках C/C++, которые послужат фундаментом для дальнейшего изучения самых востребованных сегодня языков программирования: Python, Java, C#, JavaScript, PHP, так как эти языки являются «Си-подобными». А также для дальнейшего изучения языка C++, который уже много лет является главным языком системного программирования. Язык C++ ­­– это самый низкоуровневый язык из всех универсальных и самый универсальный из всех низкоуровневых. Автор полагает, что именно его и нужно изучать для знакомства с программированием как таковым, независимо от того, в какой области вы будете заниматься программированием в своей профессиональной жизни.

Формат

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

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

1. Bjarne Stroustrup, Programming: Principles and Practice using C++ (2nd Edition), Addison-Wesley 2014.

2. Ben Klemens, 21st Century C: C Tips from the New School (2nd Edition), O’Reilly 2014.

Требования

Знание английского языка на уровне не ниже Intermediate

Программа курса

1.     Устройство компьютера: процессор, память, устройства ввода-вывода.

2.     Создание проекта в MS Visual Studio. Программа Hello World. Установка среды Cygwin компиляция программы компилятором GCC.

3.     Структура программы на языке C. Инструкции и выражения. Переменные: типы данных; объявление, инициализация, присваивание. Функции: объявление, определение, вызов. Области видимости: локальные и глобальные переменные.

4.     Ввод-вывод данных. Функции printf, scanf, gets, getchar. Задача: консольный калькулятор. 

5.     Ветвления (if-else). Циклы (while, do-while, for). Задачи: факториал, наибольший общий делитель, простые числа, числа Фибоначчи, алгоритм Евклида.

6.     Массивы (одномерные и многомерные) и указатели. Указательная арифметика. Строки. Преобразования типов. Задачи: сортировка массива (метод вставки, метод пузырька, быстрая сортировка), поиск подстроки, дамп памяти.

7.     Структуры. Ссылки. Передача параметров по значению и по ссылке. Задачи: векторы и матрицы в виде структур и операции над ними.

8.     Динамическое выделение памяти (функции malloc и free). Работа с файлами (функции fopen, fclose, fwrite, fread, fseek). Задачи: чтение и запись текстового файла.

Результаты обучения

Получение знаний процедурного программирования на языках С/С++

Знания

  • Архитектура компьютера в объеме, достаточном для начинающего программиста
  • Синтаксис языка С
  • Широко известные алгоритмы
  • Абстрактные концепции потоков ввода-вывода

Умения

  • Создание программ на языках С/С++ с интерфейсом командной строки
  • Сортировать массивы тремя способами на собеседовании при приеме на работу
  • Считывание данных с клавиатуры и файлов и вывод данных на экран и в файлы

Навыки

  • Владение средой разработки Microsoft Visual Studio и компилятором GCC

Савченков Дмитрий Владимирович

Кандидат технических наук
Должность: Старший преподаватель Отделения нанотехнологий в электронике, спинтронике и фотонике

Похожие курсы