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

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 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 часов
-
Дарья Федотова
Дарья Федотова
Сергей Березовский
Сергей Березовский

В рамках проф. переподготовки по программе "Программирование"

Есть курсы, которые я уже прошел. Но войдя в курс я вижу, что они не зачтены (Язык Ассемблера и архитектура ЭВМ, Программирование на С++ для профессионалов). Это как?

Константин Леденев
Константин Леденев
Россия
Олег Равков
Олег Равков
Россия