Общее
Курс для школьников "Алгоритмы. Олимпиадное программирование."
Стартовый модуль
Модуль 1
Модуль 2
Модуль 3-4
Новости курса
Курс - все четыре модуля - написаны и опубликованы. Благодаря возможности начинать изучение Алгоритмов со Стартового модуля, можно будет комфортно начать изучать Алгоритмы практически с любого начального уровня.
GeomVis - набор классов для визулизации геометрических алгоритмов, доступен для скачивания.
Опубликовано несколько занятий Стартового модуля (тексты, подсказки, разборы) в формате pdf.
О курсе
Курс состоит из двух частей: пособия и web-части.Пособие включает в себя теоретический материал занятий, подборку задач по каждому занятию, раздел подсказок, разборы задач и справочник.
Web-часть содержит задачи, объединенные в контесты, для сдачи в автоматическую систему тестирования, справочник, некоторые разборы и тексты теоретических материалов в электронном виде.
Перед тем, как начать
Занятия на этом курсе предполагают, что слушатели уже имеют элементарные знания о программировании.
Обычно при изучении алгоритмов язык, на котором решаются задачи, не имеет принципиального значения. Но учебные материалы этого курса - тексты пособия, разборы задач, подборки решений, ориентированы на язык Java, поэтому желательно быть знакомым именно с этим языком программирования.
Для успешной работы с курсом вы должны
- четко представлять себе что такое переменная и понимать, как работает оператор присваивания;
- понимать значения слов if, else, whilе, for, break и уметь их использовать.
Для проверки того, что вы "теоретически" хорошо владеете "стартовым капиталом" рекомендуем пройти "Входное тестирование" из этого раздела.
Если результаты тестирования покажутся вам неудовлетворительными, то следует обратится к литературе. Авторам курса очень нравится замечательная книга "Java 2" авторов Кея С. Хорстманна и Гари Корнелла (в двух томах), которая выдержала много переизданий. Для быстрого старта достаточно ознакомиться только с третьей главой первого тома. Материалов изложенных в этой главе должно хватить почти на весь курс "Алгоритмов", потому что собственно языка в курсе будет немного. Но для глубокого изучения языка Java, эффективного использования его для решения прикладных задач, мы настоятельно рекомендуем поискать эту книгу в магазинах и приобрести.
Чтобы выполнять практические занятия курса вам нужно
- представлять себе базовое устройство простой программы. Уметь вводить и выводить на консоль или в файл входные и выходные данные - числа и строки. Необходимую информацию вы можете найти в разделе "Справочник. Самое важное";
- иметь базовые навыки работы в среде программирования. Уметь набирать программу, компилировать, тестировать. Понимать, в какую папку сохраняются исходные файлы проекта.
Для проверки владения навыками, необходимыми для работы с практической частью курса рекомендуем вам решить (написать программу, послать на проверку в тестирующую систему, получить "OK") мини-контест из этого раздела.