Курс представляет вторую и третью часть фундаментального учебника "Почувствуй класс. Учимся программировать хорошо с объектами и контрактами". Рассматриваются технологии, поддерживающие программирование, - синтаксис языков программирования, особенности языков, основы компиляции, используемый инструментарий.
Большую часть курса составляет рассмотрение структур данных и алгоритмов. При рассмотрении структур данных основное внимание уделяется динамическим структурам – прежде всего спискам и деревьям. Рассматриваются понятия сложности алгоритмов, рекурсивных алгоритмов. Заключительная лекция курса дает образец инженерного проектирования на примере рассмотрения задачи о топологической сортировке.
У слушателей Интернет университета появилась уникальная возможность не только пройти курсы лекций по замечательной книге "Почувствуй класс. Учимся программировать хорошо с объектами и контрактами", но и увидеть, услышать автора книги – профессора Бертрана Мейера. Отвечая на вопросы профессора Владимира Биллига – переводчика книги, Бертран Мейер объясняет, почему этот курс может быть интересен студентам, приступающим к изучению информатики, чем книга может быть интересна преподавателям, читающим подобный курс, чем книга и курсы по ней могут быть интересны профессионалам ИТ. Он рассказывает о том, как учат информатике в ЕТН – одном из старейших учебных заведений Европы, об особенностях этого курса.
В беседе затрагиваются и другие вопросы, в частности Бертран говорит о своей любви к русскому языку и о том, как он, будучи школьником, учил русский язык. Эта лекция является хорошим введением в курс, полученным "из первых уст".
-
В данной лекции более подробно рассматривается устройство компьютера, организация памяти, команд компьютера. Рассматриваются вопросы представления данных в памяти компьютера.
-
В лекции обсуждается синтаксис языков программирования и формальные грамматики, как способ описания синтаксиса языка. Вводится классификация языков программирования.
-
В лекции продолжается рассмотрение языков программирования. Вводятся понятия компилятора и интерпретатора программ. Даются основы компиляции. Рассматривается инструментарий, используемый на всех этапах работы с программами, начиная от текстовых редакторов, заканчивая рассмотрением интегрированных сред разработки, в частности среды разработки Eiffel Studio.
-
В лекции расматриваются текстовые редакторы, метрики, интегрированная среда обработки и подробно изучается управление конфигурацией.
-
В этой лекции рассматриваются вопросы статической проверки типов, вводится понятие сложности алгоритмов O-большое и О-малое. Рассматриваются массивы, как одна из основных структур данных.
-
В лекции рассматриваются такие структуры данных как кортежи и списки разного рода.
-
В лекции рассматриваются хеш-таблицы, распределители и итерирование структур данных.
-
В лекции вводится понятие рекурсии, рекурсивных определений. Рассматривается известная задача "Ханойской башне". Широко используемая в программировании структура данных – дерево рассматривается как рекурсивная структура данных. Обсуждаются рекурсивные операции, выполняемые над рекурсивными структурами данных.
-
В лекции обсуждается стратегия перебора с возвратами и стратегия "альфа-бета". Обсуждаются вопросы связи рекурсии и циклов, а также алгоритм реализации рекурсии.
-
Она представляет собой образец искусства программирования, представляя образец инженерного подхода к проектированию программы. Здесь на примере задачи о топологической сортировке строится инженерное решение, допускающее повторное использование, сочетающее построение эффективного алгоритма и структур данных с проверкой корректности данных, учета ситуаций, которые могут возникать на практике.
-