Авторы: Ирина Баженова, Владимир Сухомлин | Московский государственный университет имени М.В.Ломоносова
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Для всех
Длительность:
19:20:00
Студентов:
11300
Выпускников:
451
Качество курса:
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
                  Приводится синтаксис и семантика объявления производного типа. Вводится понятие множества, массива, записи и файла.
                  Оглавление
                    -
                    Лекция 10
                    21 минута
                    С++. Классы. Механизмы наследования. Объектные типы
                    Выполняется введение в терминологию объектно-ориентированных языков программирования. Дается понятие класса, конструктора и деструктора класса, вложенного класса. Вводится понятие объектного типа данных.
                    Оглавление
                      -
                      Лекция 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 минут
                                                          -
                                                          Александр Демьяненко
                                                          Александр Демьяненко

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

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

                                                          Добрый день!

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

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

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

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