Авторы: Ирина Баженова, Владимир Сухомлин | Московский государственный университет имени М.В.Ломоносова
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
9:08:00
Студентов:
1223
Выпускников:
79
В курсе рассматриваются общие концепции разработки языков программирования. Подробно изучаются основные конструкции языков программирования, анализируются различные структуры данных, освещаются вопросы объектно-ориентированного программирования и сетевого программирования, дается краткий обзор компонентной технологии программирования. Особое внимание уделяется рассмотрению семантики языков программирования C++, C#, Java и Object Pascal.
Курс содержит краткий обзор эволюции развития языков программирования. Вводится понятие среды программирования. Приводится применение НБФ-нотаций для описания синтаксиса языка. Несколько лекций посвящены рассмотрению основных конструкций языков программирования. Рассматривается синтаксис и семантика высокоуровневых языков программирования, включая языки С++, Pascal, Java, C#. Вводится понятие рекурсии; математических рекурсивных функций; приводятся примеры рекурсивных процедур. В курсе описываются основные структуры данных и проводится анализ их реализации в различных языках программирования. Определяются простые типы, массивы, записи и структуры. Рассматривается статическое и динамическое управление памятью, размещение в памяти различных типов данных. Описывается применение стеков, очередей, хеш-таблиц, графов и деревьев. Вводится понятие объектно-ориентированного программирования. Рассматривается механизмы наследования, инкапсуляции и полиморфизма. Приводится сравнение объектно-ориентированной модели, используемой в языках C++, C#, Java и Object Pascal. Описываются правила использования объектных типов данных. Рассматривается событийно-управляемое и параллельное программирование. Курс вводит в круг вопросов связанных с сетевым программированием. Рассматриваются аспекты применения языков программирования для Internet. Описывается применение прикладных программных интерфейсов (API), вводится понятие компонентной технологии.
Специальности: Программист
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
22 минуты
Развитие языков программирования
В лекции последовательно рассматривается развитие языков программирования от самых первых алгоритмических языков до современных объектно-ориентированных языков программирования. Анализируются характеристики языка программирования в зависимости от области применения языка. Освещаются вопросы стандартизации языков программирования.
Оглавление
    -
    Лекция 2
    15 минут
    НБФ-нотации

    Оглавление
      -
      Лекция 3
      28 минут
      Управление последовательностью действий
      В лекции рассматриваются различные виды управляющих структур. Объясняется механизм построения дерева грамматического разбора. Дается обзор операторов языков программирования и приводятся уровни приоритета операторов.
      Оглавление
        -
        Лекция 4
        18 минут
        Управление подпрограммами
        Дается определение подпрограммы и записи активации. Рассматриваются механизмы последовательного и рекурсивного вызова подпрограмм.
        Оглавление
          -
          Лекция 5
          20 минут
          Управление данными и параметрами подпрограмм
          Рассматривается формирование среды ссылок подпрограммы. Дается определение динамической и статической области видимости. Вводится понятие блочно-структурированного языка программирования. Дается обзор различных механизмов передачи параметров в подпрограммах.
          Оглавление
            -
            Лекция 6
            55 минут
            Простые типы данных
            Рассматривается понятие объекта данных. Анализируется реализация простых типов данных в различных языках программирования. Описывается представления целых и вещественных типов в памяти компьютера.
            Оглавление
              -
              Лекция 7
              25 минут
              Производные типы данных языка C++. Массивы и указатели
              Описывается синтаксис и семантика объявления массивов, рассматривается их размещение в памяти, определяется доступ к элементам массива. Освещается применение символьных массивов и строк. Рассматривается работа с указателями, определяются указатели на переменные, константные указатели, указатели на указатели.
              Оглавление
                -
                Лекция 9
                23 минуты
                Структурированные типы данных языка Object Pascal
                Приводится синтаксис и семантика объявления производного типа. Вводится понятие множества, массива, записи и файла.
                Оглавление
                  -
                  Лекция 10
                  23 минуты
                  С++. Классы. Механизмы наследования. Объектные типы
                  Выполняется введение в терминологию объектно-ориентированных языков программирования. Дается понятие класса, конструктора и деструктора класса, вложенного класса. Вводится понятие объектного типа данных.
                  Оглавление
                    -
                    Лекция 11
                    19 минут
                    C++: методы-члены класса, дружественные классы и члены класса
                    Описывается синтаксис и семантика определения методов-членов класса. Вводится понятие прототипа метода. Рассматривается назначение модификаторов доступа. Описывается механизм применения методов с переменным числом параметров, создание указателей на методы - члены класса.
                    Оглавление
                      -
                      Лекция 12
                      19 минут
                      C++: статические члены класса и виртуальные функции
                      Описывается объявление и инициализация статических членов класса. Рассматривается применение виртуальных функций, реализация механизмов раннего и позднего связывания. Вводится понятие абстрактного метода. Рассматривается применение шаблонов методов и шаблонов классов.
                      Оглавление
                        -
                        Лекция 13
                        29 минут
                        Java: механизмы наследования, ссылочные типы данных, интерфейсы, вложенные классы
                        Вводится понятие класса и интерфейса в языке Java. Рассматривается применение вложенных и абстрактных классов. Приводится пример реализации раннего и позднего связывания. Рассматривается эквивалентность объектов в языке Java.
                        Оглавление
                          -
                          1 час 40 минут
                          -