GruNDsaWopxZ (личная):
Основы программирования
: Информация
Опубликован: 03.10.2011 | Уровень: для всех | Доступ: свободно | ВУЗ: Тверской государственный университет
Курс представляет первую часть фундаментального учебника "Почувствуй класс. Учимся программировать хорошо с объектами и контрактами". В отличие от традиционного подхода введение в основы программирования начинается с рассмотрения объектов, классов, интерфейсов и контрактов. В этой части курса рассматриваются также основы логики и внутреннее устройство компьютера. В курсе излагаются основы объектно-ориентированного программирования (ООП). В этой вводной части мы начнем наше путешествие в мир программирования с самых его основ: объектов, классов, интерфейсов и контрактов. Будут рассмотрены поддерживающие концепции, включающие логику и внутреннее устройство компьютера, которые каждый программист должен знать.
Данный курс определяет строительные блоки программы, от объектов и классов до интерфейсов, управляющих структур и присваивания. Особое внимание уделяется понятию контракта. Студенты учатся на абстрактном, но вместе с тем точном описании используемых ими модулей и должны применять такой же интерфейс для создаваемых модулей. В лекции 5 вводятся ключевые элементы пропозиционального исчисления и исчисления предикатов. Оба исчисления создают основу дальнейших обсуждений. Возвращаясь к программированию, в последующих лекциях мы рассматриваем создание
и структуру объектов. В этих лекциях устанавливается моделирующая мощь объектов и необходимость при построении объектной модели отражения реальной структуры моделируемой
внешней системы. После введения концепций структурирования программы разбирается присваивание, ссылки, ссылочное присваивание и интересные задачи, возникающие при работе со связанными списками.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 12 часа 14 минут | ВведениеОглавление | - |
Лекция 235 минут | Индустрия чистых идей
В первой лекции вводится понятие компьютера, как машины, способной обрабатывать информацию. Рассматривается роль компьютеров в современном мире, различие между данными и информацией.
Оглавление | - |
Тест 124 минуты | - | |
Лекция 351 минута | Работа с объектами
Материалы второй лекции позволяют написать первые содержательные программы на языке Eiffel, используя мощную программную систему Traffic, поддерживающую изучение данного курса. Подход, использующий с самого начала работу с объектами, интерфейсами и контрактами, отличает этот курс от традиционного изучения основ программирования, начинающих обучение с программ типа "Здравствуй, мир!".
Оглавление | - |
Тест 224 минуты | - | |
Лекция 440 минут | Основы структуры программ
Предыдущая лекция позволила нам получить первое представление о программах. Теперь мы готовы к введению новых концепций. Давайте ближе познакомимся с некоторыми частями программы, уже использованными, но не получившими пока собственные имена.
Оглавление | - |
Тест 324 минуты | - | |
Лекция 51 час 11 минут | Интерфейс класса
В предыдущих лекциях мы начали строить некоторое ПО, основываясь на существующих элементах. Теперь мы собираемся сделать нечто большее, рассмотрев, как можно использовать ранее написанные классы. Это даст возможность по-новому взглянуть на понятие класс – фундамент всего дальнейшего программирования. Мы введем в рассмотрение новые концепции – интерфейса и контракта.
Оглавление | - |
Тест 424 минуты | - | |
Лекция 62 часа 21 минута | Логики вполне достаточно
Первая часть лекции вводит булеву алгебру в форме пропозиционального исчисления, которое имеет дело с базисными высказываниями, включающими специфические переменные. Вторая часть расширяет обсуждение до логики предикатов, позволяющей выражать свойства произвольного множества значений. Помимо классических логических операций рассматриваются полустрогие операции, учитывающие особенности применения булевских операций в программировании.
Оглавление | - |
Тест 524 минуты | - | |
Лекция 71 час 45 минут | Создание объектов и выполняемых систем
После экскурсии в математические основания вернемся к технике программирования. Обсуждаются вопросы создания объектов и процесс выполнения программной системы.
Оглавление | - |
Тест 624 минуты | - | |
Лекция 83 часа 49 минут | Структуры управления
В седьмой лекции рассматриваются классические структуры управления – последовательность, выбор, цикл. Ранее введенное понятие контракта позволяет взглянуть на эти структуры с новой точки зрения, рассматривая их корректность, гарантирующую выполнение постусловия. Приводится обоснование идей структурного программирования. В лекции вводится понятие исключительной ситуации и дается введение в обработку исключений.
Оглавление | - |
Тест 724 минуты | - | |
Лекция 949 минут | Подпрограммы, функциональная абстракция, скрытие информации
Управляющие структуры предыдущей лекции — цикл, составной и условный операторы, их варианты — дают нам базисные механизмы планирования порядка выполнения операторов. Если бы они были единственными средствами, то нам пришлось бы задавать поток управления со всеми деталями. Для сложных программ глубина вложенности стала бы главным препятствием на пути понимания программы.
Оглавление | - |
Тест 824 минуты | - | |
Лекция 101 час 57 минут | Переменные, присваивание и ссылки
Программы используют имена или сущности для обозначения значений периода выполнения. Отличительным свойством большинства программ является то, что некоторые сущности, называемые "переменными сущностями" или просто переменными, могут обозначать значения, изменяющиеся во время выполнения. Предыдущие примеры неявно исходили из этого предположения, хотя базисная операция — присваивание — до сих пор формально еще не введена. Эта концепция, обманчиво простая с первого взгляда, полна удивительных следствий. Мы будем изучать ее в этой главе наряду с несколькими связанными приемами, в частности, с использованием ссылок, определяющих структуру объектов в период выполнения.
Оглавление | - |
Тест 924 минуты | - | |
Дополнительный материал 1 | Программирование в ETHОглавление | - |
Дополнительный материал 213 минут | Использование среды EiffelStudioОглавление | - |
5 часов | - |