Авторы: Ирина Баженова, Владимир Сухомлин | Московский государственный университет имени М.В.Ломоносова
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Стоимость обучения с персональным тьютором:
500 руб. [?]
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
19:20:00
Студентов:
10030
Выпускников:
263
Качество курса:
4.12 | 4.01
В курсе рассматриваются общие концепции разработки языков программирования. Подробно изучаются основные конструкции языков программирования, анализируются различные структуры данных, освещаются вопросы объектно-ориентированного программирования и сетевого программирования, дается краткий обзор компонентной технологии программирования. Особое внимание уделяется рассмотрению семантики языков программирования C++, C#, Java и Object Pascal.
Курс содержит краткий обзор эволюции развития языков программирования. Вводится понятие среды программирования. Приводится применение НБФ-нотаций для описания синтаксиса языка. Несколько лекций посвящены рассмотрению основных конструкций языков программирования. Рассматривается синтаксис и семантика высокоуровневых языков программирования, включая языки С++, Pascal, Java, C#. Вводится понятие рекурсии; математических рекурсивных функций; приводятся примеры рекурсивных процедур. В курсе описываются основные структуры данных и проводится анализ их реализации в различных языках программирования. Определяются простые типы, массивы, записи и структуры. Рассматривается статическое и динамическое управление памятью, размещение в памяти различных типов данных. Описывается применение стеков, очередей, хеш-таблиц, графов и деревьев. Вводится понятие объектно-ориентированного программирования. Рассматривается механизмы наследования, инкапсуляции и полиморфизма. Приводится сравнение объектно-ориентированной модели, используемой в языках C++, C#, Java и Object Pascal. Описываются правила использования объектных типов данных. Рассматривается событийно-управляемое и параллельное программирование. Курс вводит в круг вопросов связанных с сетевым программированием. Рассматриваются аспекты применения языков программирования для Internet. Описывается применение прикладных программных интерфейсов (API), вводится понятие компонентной технологии.
Специальности: Программист
ISBN: 978-5-9556-0077-9
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
20 минут
Развитие языков программирования
В лекции последовательно рассматривается развитие языков программирования от самых первых алгоритмических языков до современных объектно-ориентированных языков программирования. Анализируются характеристики языка программирования в зависимости от области применения языка. Освещаются вопросы стандартизации языков программирования.
-
Лекция 2
14 минут
НБФ-нотации
В лекции вводится понятие НБФ грамматики, приводится определение порождающей и распознающей грамматики. Дается описание процесса трансляции.
-
Лекция 3
26 минут
Управление последовательностью действий
В лекции рассматриваются различные виды управляющих структур. Объясняется механизм построения дерева грамматического разбора. Дается обзор операторов языков программирования и приводятся уровни приоритета операторов.
-
Лекция 4
16 минут
Управление подпрограммами
Дается определение подпрограммы и записи активации. Рассматриваются механизмы последовательного и рекурсивного вызова подпрограмм.
-
Лекция 5
24 минуты
Управление данными и параметрами подпрограмм
Рассматривается формирование среды ссылок подпрограммы. Дается определение динамической и статической области видимости. Вводится понятие блочно-структурированного языка программирования. Дается обзор различных механизмов передачи параметров в подпрограммах.
-
Лекция 6
51 минута
Простые типы данных
Рассматривается понятие объекта данных. Анализируется реализация простых типов данных в различных языках программирования. Описывается представления целых и вещественных типов в памяти компьютера.
-
Лекция 7
23 минуты
Производные типы данных языка C++. Массивы и указатели
Описывается синтаксис и семантика объявления массивов, рассматривается их размещение в памяти, определяется доступ к элементам массива. Освещается применение символьных массивов и строк. Рассматривается работа с указателями, определяются указатели на переменные, константные указатели, указатели на указатели.
-
Лекция 8
16 минут
Производные типы данных языка C++. Структуры, объединения и перечисления
В лекции рассматриваются производные типы данных языка С++, дается определение структуры, описывается использование объединений и перечислений.
-
Лекция 9
22 минуты
Структурированные типы данных языка Object Pascal
Приводится синтаксис и семантика объявления производного типа. Вводится понятие множества, массива, записи и файла.
-
Лекция 11
17 минут
C++: методы-члены класса, дружественные классы и члены класса
Описывается синтаксис и семантика определения методов-членов класса. Вводится понятие прототипа метода. Рассматривается назначение модификаторов доступа. Описывается механизм применения методов с переменным числом параметров, создание указателей на методы - члены класса.
-
Лекция 12
17 минут
C++: статические члены класса и виртуальные функции
Описывается объявление и инициализация статических членов класса. Рассматривается применение виртуальных функций, реализация механизмов раннего и позднего связывания. Вводится понятие абстрактного метода. Рассматривается применение шаблонов методов и шаблонов классов.
-
Лекция 13
28 минут
Java: механизмы наследования, ссылочные типы данных, интерфейсы, вложенные классы
Вводится понятие класса и интерфейса в языке Java. Рассматривается применение вложенных и абстрактных классов. Приводится пример реализации раннего и позднего связывания. Рассматривается эквивалентность объектов в языке Java.
-
Лекция 14
22 минуты
Java: члены класса, статические переменные и методы
В лекции вводится понятие членов класса, описывается использование статических переменных и переменных экземпляра. Рассматривается синтаксис переопределения метода и использование перегружаемых методов. Изучается механизм передачи параметров в языке Java.
-
Лекция 15
37 минут
С#. Классы и структуры.
В лекции вводится понятие управляемого кода, описывается применение пространства имен System. Рассматриваются основы объектно-ориентированного программирования на языке C#: объявление классов, реализация конструкторов, структура программы.
-
Лекция 16
17 минут
C#. Механизмы наследования.Абстрактные классы. Интерфейсы
В лекции описываются механизмы наследования языка C#, определяется понятие производного класса и вложенного класса, приводится механизм применения виртуальных методов. Описывается использование абстрактных классов и интерфейсов.
-
Лекция 17
33 минуты
C#. Индексаторы класса и атрибуты
В лекции описывается создание и назначение индексаторов класса, вводится понятие методов аксессоров и элементов индексаторов. Приводится определение атрибута, рассматриваются типы атрибутов и их назначение, позиционные и именованные параметры атрибута, доступ к значению атрибута.
-
Лекция 18
16 минут
C#. Отражения. Делегаты
В лекции рассматривается использование делегатов для вызовов методов, применение делегатов как методов обратного вызова. Вводится понятие небезопасного кода, описывается процесс применения в управляемом коде фрагментов небезопасного кода и DLL-библиотек.
-
Лекция 19
32 минуты
Библиотека классов MFC среды проектирования Visual Studio .NET. Диалоги
Вводится понятие MFC-приложения. Дается краткий обзор структуры MFC-библиотеки. Рассматриваются приложения-диалоги, использующие класс CDialog, и классы стандартных диалогов.
-
Лекция 20
32 минуты
Библиотека классов MFC среды проектирования Visual Studio .NET. SDI и MDI приложения
Вводится понятие архитектуры документ-отображение, рассматривается механизм управления документом. Изучаются классы отображений, классы шаблона документа и классы документа. Приводится пример SDI-приложения.
-
Лекция 21
34 минуты
Библиотека классов MFC среды проектирования Visual Studio .NET. Элементы управления
Рассматривается механизм использования элементов управления в MFC-приложениях. Изучаются классы элементов управления, включая CEdit, CStatic, CButton, CListBox, CAnimateCtrl, CComboBox, CRichEditCtrl.
-
Лекция 22
15 минут
Библиотека классов MFC среды проектирования Visual Studio. NET. Многостраничные диалоги
В лекции рассматривается механизм создания и использования многостраничных диалогов, описывается применение списков изображений.
-
Лекция 23
23 минуты
Библиотека классов .NET Framework среды проектирования Visual Studio .NET. Формы Windows
В лекции рассматривается процесс создания приложений-диалогов с использованием библиотеки классов .NET Framework, описывается применение класса Form, применение классов стандартных диалогов, построение системы меню.
-
Лекция 24
33 минуты
Библиотека классов VCL среды проектирования Delphi
В лекции рассматривается библиотека классов VCL среды проектирования Delphi, описывается иерархия классов, описывается применение классов TApplication, TScreen, TForm, TMainMenu, TMenuItem и TPopupMenu.
-
Лекция 25
24 минуты
Библиотека классов VCL среды проектирования Delphi. Приложения и диалоги
В лекции рассматривается процесс создания приложений, структура модулей, построение MDI-приложений, применение модальных и немодальных диалогов. Изучается создание и использование DLL-библиотек, статическое и динамическое подключение DLL-библиотек.
-
Лекция 26
33 минуты
Библиотека классов JDK. Основы построения интерфейса пользователя на языке Java. События
В лекции приводятся основные принципы построения интерфейса пользователя на языке Java, описывается модель управления событиями, вводится понятие блоков прослушивания и классов адаптеров, рассматриваются методы обработчики событий.
-
Лекция 27
1 час 3 минуты
Библиотека классов JDK. Основы построения интерфейса пользователя на языке Java. Компоновки и элементы управления
В лекции рассматриваются принципы построения интерфейса пользователя на языке Java, описывается использование компоновок из пакета java.awt. Дается краткое описание основных классов элементов управления, используемых для реализации панелей, кнопок, текстовых компонентов и списков.
-
Лекция 28
34 минуты
Серверные приложения
В лекции описывается взаимодействие приложений по протоколу TCP/IP, рассматриваются основы построения серверных приложений. Дается обзор классов, используемых для реализации серверного приложения на языке С++ в среде проектирования Visual Studio.NET и на языке Object Pascal в среде проектирования Borland Developer Studio (Delphi for Win32). Изучается создание WEB-форм в VisualStudio .NET.
-
1 час 40 минут
-
Александр Демьяненко
Александр Демьяненко

Можно ли сдавать один и тот же тест несколько раз?
Или же один и тот же тест можно сдать лишь однажды?

Максим Стогний
Максим Стогний

Добрый день!

Скажите, пожалуйста, если в терминологии объектно-ориентированного программирования функции также называются методами или методами - членами класса, в примере объявления указателя на метод использовали в формальном описании оба названия:

тип_метода (имя_класса::*имя_метода_указателя)
    (список параметров);
тип_функции (*имя_ функции_указателя)
    (список параметров);

при этом можно было  тип_функции во втором описании заменить на тип_метода? Т.е.:

тип_метода (*имя_ метода_указателя)
    (список параметров);

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Денис Комаров
Денис Комаров
Россия, Москва