Дистанционный курс
«Математические основы программирования» для учащихся 9-11 классов, занимающихся на учебных сессиях по информатике (очном курсе).
Концепция
1. Актуальность данного курса, его отличительные особенности
Ежегодно проводимые олимпиады по информатике по сути своей являются олимпиадами по программированию. Задачи, предлагаемые на этих олимпиадах, с каждым годом усложняются. Решение олимпиадных задач практически всех этапов, начиная с районного и заканчивая международным уровнями, базируются на вполне определенных алгоритмах (например, алгоритмах на графах, двоичная куча, дерево отрезков и т.д.), широко известных в математике и информатике, но знакомство с которыми чаще всего происходит только в вузе. Чтобы решить олимпиадную задачу, школьник должен:
- владеть знаниями, выходящими далеко за пределы школьной программы (например, из аналитической геометрии, теории графов, комбинаторики и вероятности и т.д.);
- хорошо программировать на Pascal или C/C++ (Java, Python), умело используя различные типы данных;
- уметь оценивать алгоритмы с точки зрения их эффективности и оптимальности.
Таким образом, для достижения высоких результатов в этой области совершенно необходимой является дополнительная подготовка учащихся. Известен опыт работы со школьниками по подготовке к олимпиадам областного и российского уровней в таких субъектах РФ как Санкт-Петербург (на базе ГДТЮ), Киров (на базе КГПУ) и т.п. В Ленинградской области такая подготовка школьников проводится во время учебных сессий по информатике на базе ГОУДОД Ленинградский областной центр одаренных школьников «Интеллект» по программе «Математические основы программирования».
Программа курса “Математические основы программирования” относится к научно-технической направленности, предназначена для учащихся IX - XI классов и рассчитана на 216 часов: 72 часа в 9-м классе, 108 часов в 10-м классе и 36 часов в 11-м классе (всего 6 учебных сессий по 36 часов).
Для закрепления знаний, полученных во время сессий, для отработки практических навыков решения задач по разобранным в «Интеллекте» темам целесообразными и необходимыми являются регулярные плановые занятия школьников в межсессионные периоды.
Решением данной проблемы является этот дистанционный курс «Математические основы программирования».
Выделяемое дополнительное время для дистанционного курса может быть использовано
- для изучения тех разделов математики и информатики, которые недостаточно четко были усвоены во время прошедшей очной сессии;
- для изучения тех разделов математики и информатики, которые являются слишком сложными, поэтому излагаются с целью предварительного знакомства;
- для выполнения тестов с целью самоконтроля полученных по определенным темам знаний;
- для самостоятельного решения предложенных в дистанционном курсе задач.
2. Востребованность данной программы. Степень новизны для учащихся
Идеи, которые изложены в дистанционном курсе «Математические основы программирования», получат свое развитие и обобщение при изучении таких разделов высшей математики, как «Алгебра логики», «Комбинаторика и теория вероятностей», «Теория графов», «Аналитическая геометрия» и других разделов курса математики, изучаемых в высших учебных заведениях.
В школе на уроках математики и информатики данным темам уделяется довольно много внимания лишь в физико-математических классах, но даже в них далеко не всегда учащиеся готовы к восприятию всего многообразия идей, содержащихся в этих разделах математики и информатики. Поэтому представляется важным создать отдельный дистанционный курс и включить в него многие важные вопросы, необходимые для успешного продвижения в области олимпиадной информатики и профессионального программирования.
3. Реализация современных теорий и моделей обучения
Как и в очном курсе, в дистанционном предлагается модульное изложение учебного материала, т.е. законченное изложение отдельного раздела темы с набором задач и упражнений (иногда тестов). Каждый модуль рассчитан на работу с ним от трех до десяти часов. Разбиение учебного материала по модулям соответствует тематическому планированию.
4. Структура модуля
- Изложение теоретического материала по каждому из 6 модулей - 18 часов.
- Примеры по теме модуля.
- Контрольные вопросы или тесты для проверки усвоения теоретического материала
- Упражнения и задачи.
5. Подчиненность системы обучения реальным потребностям, интересам и возможностям учащихся
Для тех ребят, которые свою будущую профессию связывают с информатикой, программированием, представление об идеях и методах дискретной математики складывается еще в школе. Обычно школьники недостаточно представляют, где и как они смогут воспользоваться своими знаниями по математике.
Те ученики, для которых красота математических идей и рассуждений представляет ценность сама по себе, не нуждаются в дополнительных обоснованиях целесообразности изучения таких разделов математики, как теория графов или комбинаторика, но для более прагматически настроенных учеников имеет смысл показать перспективу использования данных тем в их дальнейшем обучении.
Например, в вузовском курсе дискретной математики излагаются основы построения алгоритмов, графы и бинарные отношения, формальные языки и грамматики и многое другое, что очень важно знать будущим профессиональным программистам или другим специалистам в сфере IT-технологий.
Курс рассчитан на 108 часов, состоит из 6 глобальных тем, распадающихся на более мелкие темы. По каждой теме изложение теоретического материала сопровождается решением задач, а по отдельным темам выполнением тестов.
Данный курс построен на основе ВУЗовского курса дискретной математики и адаптирован для школьников 9-11 классов.
Учебно-тематический план по сессиям:
- Сессия 1 - весна, перед первой очной сессией
- Сессия 2 - лето, после 2-ой очной сессии
- Сессия 3 - осень, после 3-ей очной сессии. ООП C++, Дерево отрезков
- Сессия 4 - весна, после 4-ой очной сессии
- Сессия 5 - лето, после 5-ой очной сессии
- Сессия 6 - осень, после 6-ой очной сессии
Учебно-тематический план
|
№ п/п |
Тема |
Теория |
Практика |
Всего |
|
1. |
АЛГОРИТМЫ ТЕОРИИ ЧИСЕЛ |
8 |
10 |
18 |
|
1.1. |
Алгоритмы над целыми числами |
4 |
4 |
8 |
|
1.2. |
Длинная арифметика |
2 |
3 |
5 |
|
1.3. |
Криптография |
2 |
3 |
5 |
|
2. |
КОМБИНАТОРИКА И ТЕОРИЯ ВЕРОЯТНОСТЕЙ. МЕТОД МОНТЕ-КАРЛО |
14 |
14 |
28 |
|
2.1. |
Базовые идеи комбинаторики |
2 |
2 |
4 |
|
2.2. |
Рекурсия и рекуррентные соотношения |
4 |
6 |
10 |
|
2.3. |
Переборные алгоритмы |
4 |
4 |
8 |
|
2.4. |
Метод Монте-Карло |
4 |
2 |
6 |
|
3. |
ТЕОРИЯ ГРАФОВ |
14 |
12 |
26 |
|
3.1 |
Классические идеи теории графов |
4 |
0 |
4 |
|
3.2 |
Алгоритмы на графах |
4 |
4 |
8 |
|
3.3 |
Деревья в программировании |
2 |
2 |
4 |
|
3.4 |
Динамическое программирование |
4 |
6 |
10 |
|
4. |
ВЫЧИСЛИТЕЛЬНАЯ ГЕОМЕТРИЯ |
8 |
8 |
16 |
|
4.1 |
Основные геометрические понятия |
3 |
0 |
3 |
|
4.2 |
Отношения между геометрическими объектами |
3 |
2 |
5 |
|
4.3 |
Построение выпуклой оболочки |
2 |
2 |
4 |
|
4.4 |
Задачи с использованием геометрических понятий |
0 |
4 |
4 |
|
5. |
ЛОГИКА |
4 |
6 |
10 |
|
5.1 |
Булева алгебра и построение логических схем |
2 |
3 |
5 |
|
5.2 |
Алгебра логики |
|
|
5 |
|
6. |
ЯЗЫКИ И ГРАММАТИКИ |
7 |
3 |
10 |
|
6.1 |
Компьютерное представление и обработка формул |
1 |
2 |
3 |
|
6.2 |
Конечные автоматы |
2 |
1 |
3 |
|
6.3 |
Машины Тьюринга и система Поста |
4 |
0 |
4 |
|
Всего часов |
55 |
53 |
108 |
|