7813
Комментарий:
|
7575
|
Удаления помечены так. | Добавления помечены так. |
Строка 2: | Строка 2: |
Предполагается адаптация [[PascalAAL|курса на базе Паскаля]], в котором сохранить структуру изложения, а темы адаптировать к Питону. При необходимости добавить / преобразовать / удалить подтемы. | |
Строка 16: | Строка 17: |
* Возможно, хватит для большего числа алгоритмов | * Возможно, хватит времени для большего числа алгоритмов * /!\ К лекциям (!) прилагаются задания в EJudge. |
Строка 19: | Строка 22: |
''В таблице для краткости используются урезанные формулировки, полные версии см. в [[PascalAAL]]. | |
Строка 21: | Строка 25: |
/!\ '''TODO''' Часть 1. Введение в теорию алгоритмов |
|||||| Часть 1. Введение в теорию алгоритмов || || Интуитивное понятие алгоритма. Свойства алгоритмов. || || || || Алгоритм как преобразование слов из заданного алфавита. МТ. НАМ || || || || Композиция алгоритмов, тезис Тьюринга || || || || Алгоритмически неразрешимые проблемы|| || || || Модельная ЭВМ || || || |||||| Часть 2. Алгоритмические языки. Язык Паскаль /* comment */ || || АЯ, синтаксис, семантика, прагматика. БНФ || || || |
Строка 24: | Строка 34: |
Интуитивное понятие алгоритма. Свойства алгоритмов. Уточнение понятия алгоритма, алгоритм как преобразование слов из заданного алфавита. Машина Тьюринга. Нормальные алгоритмы Маркова. Основные схемы объединения алгоритмов (композиция, разветвление, цикл). Тезис Тьюринга и принцип нормализации, их обоснование. Алгоритмически неразрешимые проблемы. Неразрешимость проблем самоприменимости, останова и эквивалентности алгоритмов. Модельная ЭВМ. Машинное представление данных. Машинный язык как практический формальный способ записи алгоритмов. Недостатки машинных языков. |
/!\ ----- |
Строка 29: | Строка 37: |
Часть 2. Алгоритмические языки. Язык Паскаль Характеристика алгоритмических языков. Понятие трансляции. Алфавит, синтаксис и семантика алгоритмического языка. Описание синтаксиса языка с помощью металингвистических формул (БНФ) и синтаксических диаграмм. |
|| Структура ЯП Паскаль и программы || |
Алгоритмы и алгоритмические языки
Предполагается адаптация курса на базе Паскаля, в котором сохранить структуру изложения, а темы адаптировать к Питону. При необходимости добавить / преобразовать / удалить подтемы.
Концепция
- Введение в теорию алгоритмов
- В основном без изменений
- Организовать практику по МТ и НАМ
- Увеличить в объёме тему УМ, организовать практику и построить обучение второго семестра на этой базе (примерно наполовину)
- Алгоритмические языки. Язык Python
- Выделить тематические составляющие и построить большую часть курса аналогично
- Использовать классы как конструкторы пространства имён (строго без ООП)
- Подробно описывать достаточное подмножество языка, остальное тезисно (спецкурс? 4-й семестр?)
- Динамические структуры данных
- «Динамические структуры данных» — это не «то, что можно сконструировать», а «то, что удобно использовать в алгоритмах» ⇒ конструируем сами, изучаем, некоторые берём готовые
- Возможно, хватит времени для большего числа алгоритмов
К лекциям прилагаются задания в EJudge.
Сравнительная таблица
В таблице для краткости используются урезанные формулировки, полные версии см. в PascalAAL. Курс Паскаля Курс Питона Замечания Часть 1. Введение в теорию алгоритмов Интуитивное понятие алгоритма. Свойства алгоритмов. Алгоритм как преобразование слов из заданного алфавита. МТ. НАМ Композиция алгоритмов, тезис Тьюринга Алгоритмически неразрешимые проблемы Модельная ЭВМ Часть 2. Алгоритмические языки. Язык Паскаль АЯ, синтаксис, семантика, прагматика. БНФ || Структура ЯП Паскаль и программы || Часть 3. Динамические структуры данных Третья