Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
Данный курс предполагает начальные умения структурного программирования на традиционном языке и не исключает начальных умений на одном из языков других стилей. Базовые умения для других стилей программирования могут быть получены по ходу изучения курса, для чего в него включены необходимые сведения и упражнения.
Этот курс для тех, кто хочет программировать осмысленно. Впервые в практике учебных материалов систематически излагаются сведения о стилях программирования и их методах. Он предлагает ориентиры для понимания сочетаемости и несовместимости разных методов, показывает, что универсальность программных средств есть не что иное, как плохо определенные границы их применимости. Освоив предлагаемый материал, учащемуся откроются те аспекты программистской деятельности, которым обычно не уделяют должного внимания авторы учебников, монографий, руководств, хотя именно они больше, чем что-либо определяют уровень квалификации разработчика. Курс будет полезен как для начинающих, так и для опытных программистов.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
22 минуты
Вводная лекция
Появление языков программирования. Примеры простейших программ. Возможность понимать программы без изучения языка. Как текст программы превращается в исполняемый код?
Оглавление
    -
    Тест 1
    9 минут
    -
    Лекция 2
    47 минут
    Модели вычислений
    Традиционная архитектура вычислительных машин. Первое понятие о стилях программирования. Модификации традиционной архитектуры. Нетрадиционные архитектуры. Сети данных и параллелизм. Эмуляция и машина программы.
    Оглавление
      -
      Тест 2
      12 минут
      -
      Лекция 3
      53 минуты
      Традиционные языки
      Традиционные языки и традиционная архитектура. Структура традиционной программы. Основные традиционные языки. Как текст программы превращается в исполняемый код?
      Оглавление
        -
        Тест 3
        12 минут
        -
        Лекция 4
        46 минут
        Синтаксис, семантика и прагматика
        Как определять язык программирования? Язык как текст (синтаксис). Язык как исполнимый текст (семантика). Конкретизация языка для данной обстановки. Какая часть синтаксиса нужна для семантики?
        Оглавление
          -
          Тест 4
          15 минут
          -
          Лекция 5
          54 минуты
          Сентенциальное программирование: Рефал
          Глобальные действия и глобальные условия. Конкретизация как один из видов отождествления. Данные и программы Рефала. Модель вычислений. Приемы программирования и примеры программ.
          Оглавление
            -
            Тест 5
            18 минут
            -
            Лекция 6
            1 час 11 минут
            Сентенциальное программирование: PROLOG
            Исходные концепции языка. Данные. Управление при помощи неудач и возвратов. Порождение программы в ходе исполнения. Стандартные операции.
            Оглавление
              -
              Тест 6
              15 минут
              -
              Лекция 7
              35 минут
              Общие вопросы сентенциального программирования
              Превращение логики в сентенциальный язык. Превращение теоретического языка в практический. Несовместимость моделей исполнения и отождествления. Вред и польза стандартизации.
              Оглавление
                -
                Тест 7
                9 минут
                -
                Лекция 8
                1 час
                Функциональное программирование
                Теоретические предпосылки. Списки и простейшие операции. Значения и модель вычислений. Динамическое порождение программ и функционалы. Объекты и синтез программ.
                Оглавление
                  -
                  Тест 8
                  9 минут
                  -
                  Лекция 9
                  54 минуты
                  Автоматное программирование: анализ задачи
                  Термин "автоматное программирование" принадлежит, насколько нам известно, А.А. Шалыто. Во всяком случае, ему принадлежит заслуга его развития вопреки моде и мнению большинства.
                  Оглавление
                    -
                    Тест 9
                    9 минут
                    -
                    Лекция 10
                    57 минут
                    Автоматное программирование: от таблицы к программе
                    Трансляция таблиц состояний и переходов. Различные методы представления таблиц как программ. Интерпретация таблиц переходов.
                    Оглавление
                      -
                      Тест 10
                      9 минут
                      -
                      Лекция 11
                      34 минуты
                      Автоматное преобразование структурированных текстов
                      Понятие о языках разметки. Представление автоматной программы с помощью XML.
                      Оглавление
                        -
                        Тест 11
                        9 минут
                        -
                        Лекция 12
                        28 минут
                        Переход от данных к конечному автомату
                        Построение автомата по данным. Анализ автоматного программирования.
                        Оглавление
                          -
                          Тест 12
                          9 минут
                          -
                          Лекция 13
                          30 минут
                          Событийное программирование
                          События и демоны. Программирование от событий и от приоритетов.
                          Оглавление
                            -
                            Тест 13
                            9 минут
                            -
                            Лекция 14
                            1 час 7 минут
                            Структурное программирование
                            Теоретические предпосылки структурного программирования. Локальность действий и условий, требования к программным структурам. Призраки и подпорки. Сеть данных и совместность. Циклический и рекурсивный варианты.
                            Оглавление
                              -
                              Тест 14
                              9 минут
                              -
                              Лекция 15
                              52 минуты
                              Проблемы, встающие перед параллельным программированием
                              Параллелизм и совместность. Виды параллелизма. Трудности параллельного программирования. Организация квазипараллелизма.
                              Оглавление
                                -
                                Тест 15
                                9 минут
                                -
                                Лекция 16
                                40 минут
                                Программирование от переиспользования
                                Что нужно для переиспользования? Необходимость математической культуры. Если бы Билли остался математиком... Образцы, шаблоны и фреймы.
                                Оглавление
                                  -
                                  Тест 16
                                  9 минут
                                  -
                                  Лекция 17
                                  37 минут
                                  Общее понятие о стилях программирования
                                  Следствия теоремы Гёделя о неполноте для программирования. Логическая несовместимость разных классов задач. Практическая несовместимость ипостасей внутри стилей. Взаимодействия и сочетаемость стилей.
                                  Оглавление
                                    -
                                    Тест 17
                                    9 минут
                                    -
                                    Лекция 18
                                    5 минут
                                    -
                                    5 часов
                                    -