Information

Created: 10.02.2005 | Level: specialist | Access: free
Programming styles and methods Данный курс предполагает начальные умения структурного программирования на традиционном языке и не исключает начальных умений на одном из языков других стилей. Базовые умения для других стилей программирования могут быть получены по ходу изучения курса, для чего в него включены необходимые сведения и упражнения.
Этот курс для тех, кто хочет программировать осмысленно. Впервые в практике учебных материалов систематически излагаются сведения о стилях программирования и их методах. Он предлагает ориентиры для понимания сочетаемости и несовместимости разных методов, показывает, что универсальность программных средств есть не что иное, как плохо определенные границы их применимости. Освоив предлагаемый материал, учащемуся откроются те аспекты программистской деятельности, которым обычно не уделяют должного внимания авторы учебников, монографий, руководств, хотя именно они больше, чем что-либо определяют уровень квалификации разработчика. Курс будет полезен как для начинающих, так и для опытных программистов.
| | Share | | Download e-book

План занятий

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