Введение в программирование

В курсе рассматриваются общие концепции разработки языков программирования. Подробно изучаются основные конструкции языков программирования, анализируются различные структуры данных, освещаются вопросы объектно-ориентированного программирования и сетевого программирования, дается краткий обзор компонентной технологии программирования. Особое внимание уделяется рассмотрению семантики языков программирования C++, C#, Java и Object Pascal.
690 ₽
Темы:
Программирование
Объем

96 час.
Длительность

96 дней
Нагрузка в неделю

2 час.
Описание Этот курс рассматривает эволюцию и архитектуру современных языков программирования, начиная от основ разработки до сложных концепций объектно-ориентированного подхода. Обучение включает изучение формальных методов описания синтаксиса с помощью НБФ-нотаций и практический разбор конструкций высокоуровневых языков. Основная часть материалов сфокусирована на управлении подпрограммами и работе с различными типами данных — от простых до сложных производных структур. Особое внимание уделяется механизмам наследования и виртуальным функциям на примере C++ и Java. Курс будет полезен начинающим разработчикам и студентам ИТ-специальностей, стремящимся сформировать системное понимание логики работы императивных и объектно-ориентированных языков.
Цели
  • Сформировать понимание эволюции и классификации современных языков программирования.
  • Систематизировать знания об основных синтаксических конструкциях и структурах данных.
  • Раскрыть принципы объектно-ориентированного подхода и механизмы наследования.
  • Подготовить к анализу синтаксиса и семантики различных высокоуровневых языков.
Чему я научусь?
  • Использовать НБФ-нотации для описания синтаксиса языковых конструкций.
  • Проектировать алгоритмы с применением рекурсии и механизмов управления последовательностью действий.
  • Разрабатывать программные модули с использованием классов, интерфейсов и виртуальных функций.
  • Сравнивать подходы к реализации объектных типов в языках C++, Java и C#.
  • Оперировать простыми и производными типами данных при решении вычислительных задач.

Авторы

Баженова Ирина Юрьевна
Баженова Ирина Юрьевна
Кандидат физико-математических наук, доцент, старший научный сотрудник лаборатории \n"Открытых информационных технологий" факультета Вычислительной математики и кибернетики\nМосковского Государственного Университета им. М.В. Ломоносова.
Сухомлин Владимир Александрович
Сухомлин Владимир Александрович
Доктор технических наук, профессор, заведующий лабораторией открытых информационных технологий факультета ВМиК МГУ им. Ломоносова.
Чему я научусь?
  • Использовать НБФ-нотации для описания синтаксиса языковых конструкций.
  • Проектировать алгоритмы с применением рекурсии и механизмов управления последовательностью действий.
  • Разрабатывать программные модули с использованием классов, интерфейсов и виртуальных функций.
  • Сравнивать подходы к реализации объектных типов в языках C++, Java и C#.
  • Оперировать простыми и производными типами данных при решении вычислительных задач.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Развитие языков программирования В лекции последовательно рассматривается развитие языков программирования от самых первых алгоритмических языков до современных объектно-ориентированных языков... В лекции последовательно рассматривается развитие языков программирования от самых первых алгоритмических языков до современных объектно-ориентированных языков программирования. Анализируются характеристики языка программирования в зависимости от области применения языка. Освещаются вопросы стандартизации языков программирования. ещё
2 НБФ-нотации
3 Управление последовательностью действий В лекции рассматриваются различные виды управляющих структур. Объясняется механизм построения дерева грамматического разбора. Дается обзор операторов... В лекции рассматриваются различные виды управляющих структур. Объясняется механизм построения дерева грамматического разбора. Дается обзор операторов языков программирования и приводятся уровни приоритета операторов. ещё
4 Управление подпрограммами Дается определение подпрограммы и записи активации. Рассматриваются механизмы последовательного и рекурсивного вызова подпрограмм.
5 Управление данными и параметрами подпрограмм Рассматривается формирование среды ссылок подпрограммы. Дается определение динамической и статической области видимости. Вводится понятие блочно-структурированного языка... Рассматривается формирование среды ссылок подпрограммы. Дается определение динамической и статической области видимости. Вводится понятие блочно-структурированного языка программирования. Дается обзор различных механизмов передачи параметров в подпрограммах. ещё
6 Простые типы данных Рассматривается понятие объекта данных. Анализируется реализация простых типов данных в различных языках программирования. Описывается представления целых... Рассматривается понятие объекта данных. Анализируется реализация простых типов данных в различных языках программирования. Описывается представления целых и вещественных типов в памяти компьютера. ещё
7 Производные типы данных языка C++. Массивы и указатели Описывается синтаксис и семантика объявления массивов, рассматривается их размещение в памяти, определяется доступ к элементам массива.... Описывается синтаксис и семантика объявления массивов, рассматривается их размещение в памяти, определяется доступ к элементам массива. Освещается применение символьных массивов и строк. Рассматривается работа с указателями, определяются указатели на переменные, константные указатели, указатели на указатели. ещё
8 Производные типы данных языка C++. Структуры, объединения и перечисления
9 Структурированные типы данных языка Object Pascal Приводится синтаксис и семантика объявления производного типа. Вводится понятие множества, массива, записи и файла.
10 С++. Классы. Механизмы наследования. Объектные типы Выполняется введение в терминологию объектно-ориентированных языков программирования. Дается понятие класса, конструктора и деструктора класса, вложенного класса.... Выполняется введение в терминологию объектно-ориентированных языков программирования. Дается понятие класса, конструктора и деструктора класса, вложенного класса. Вводится понятие объектного типа данных. ещё
11 C++: методы-члены класса, дружественные классы и члены класса Описывается синтаксис и семантика определения методов-членов класса. Вводится понятие прототипа метода. Рассматривается назначение модификаторов доступа. Описывается... Описывается синтаксис и семантика определения методов-членов класса. Вводится понятие прототипа метода. Рассматривается назначение модификаторов доступа. Описывается механизм применения методов с переменным числом параметров, создание указателей на методы - члены класса. ещё
12 C++: статические члены класса и виртуальные функции Описывается объявление и инициализация статических членов класса. Рассматривается применение виртуальных функций, реализация механизмов раннего и позднего... Описывается объявление и инициализация статических членов класса. Рассматривается применение виртуальных функций, реализация механизмов раннего и позднего связывания. Вводится понятие абстрактного метода. Рассматривается применение шаблонов методов и шаблонов классов. ещё
13 Java: механизмы наследования, ссылочные типы данных, интерфейсы, вложенные классы Вводится понятие класса и интерфейса в языке Java. Рассматривается применение вложенных и абстрактных классов. Приводится пример... Вводится понятие класса и интерфейса в языке Java. Рассматривается применение вложенных и абстрактных классов. Приводится пример реализации раннего и позднего связывания. Рассматривается эквивалентность объектов в языке Java. ещё
14 Java: члены класса, статические переменые и методы
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Стоимость программы

690 ₽