№ | Тема проекта | Примечание |
| Раздел «Основы логики» | |
1 | Логика высказываний и ее использование в языках программирования | |
2 | Таблицы истинности – построение и анализ | |
3 | Логика предикатов и ее использование в языках программирования | |
4 | Минимизация логических функций | |
5 | Решение логических задач | |
| Раздел «Программирование. Начальный курс» | |
6 | Понятие типа данных и его интерпретация в различных языках программирования. | |
7 | Создание и использование собственных типов данных в различных объектно-ориентированных языках. | |
8 | Способы реализации ветвления в языках программирования высокого уровня и решение типовых задач с помощью ветвления | |
9 | Способы реализации циклов в языках программирования высокого уровня и решение типовых задач с помощью циклов | |
10 | Способы обработки текстовых файлов в языках программирования высокого уровня и решение типовых задач с файлами | |
| Раздел «Массивы и строки» | |
11 | Алгоритмы поиска элемента в упорядоченном и неупорядоченном массиве. | |
12 | Поиск одной строки в другой – сравнение различных алгоритмов. | |
13 | Оценка релевантности web-страницы условиям поиска путем анализа ее содержимого | |
14 | Программирование игр с использованием двумерных массивов. | |
15 | Решение шахматных задач с помощью компьютера | |
| Раздел «Процедуры и функции» | |
16 | Непосредственная и опосредованная рекурсия. Примеры использования | |
17 | Решение задач численного анализа с помощью рекурсии | |
18 | Сортировка массивов с помощью рекурсии | |
19 | Решение игровых задач с помощью рекурсии (задача С3 ЕГЭ) | |
20 | Рекурсивные грамматики и их использование | |
| Раздел «Сложность алгоритмов» | |
21 | Сложность алгоритмов и способы ее оценки | |
22 | Асимптотический анализ сложности алгоритмов | |
23 | Труднорешаемые задачи и способы их решения | |
24 | Анализ сложности комбинаторных алгоритмов | |
| Раздел «Перебор с возвратом» | |
25 | Решение задачи обхода лабиринта с помощью перебора с возвратом | |
26 | Рекурсивные и нерекурсивные методы реализации перебора с возвратом | |
27 | Решение задачи перечисления всех перестановок методом перебора с возвратом | |
28 | Решение задачи порождения всех сочетаний методом перебора с возвратом | |
29 | Использование метода ветвей и границ для оптимизации перебора с возвратом | |
| Раздел «Системы счисления» | |
30 | Позиционные и непозиционные системы счисления и их использование | |
31 | Единственность представления чисел в Р-ичных системах счисления | |
32 | Арифметические операции в Р-ичных системах счисления | |
33 | Перевод чисел из Р-ичной системы счисления в десятичную и обратно | |
34 | Перевод из двоичной в родственные системы счисления и обратно | |
35 | Смешанные системы счисления и их использование. | |
| Раздел «Представление чисел в компьютере» | |
36 | Представление знаковых и беззнаковых чисел в компьютере | |
37 | Использование дополнительного кода для хранения отрицательных чисел | |
38 | Побитовые логические операции и их использование | |
39 | Различные методы представления вещественных чисел в компьютере | |
40 | Преобразования типов данных. Опасные и безопасные преобразования | |
| Раздел «Арифметические алгоритмы» | |
41 | Нахождение наибольшего общего делителя с помощью разложения на множители | |
42 | Нахождение наибольшего общего делителя с помощью разложения на множители | |
43 | Нахождение наибольшего общего делителя с помощью алгоритма Евклида | |
44 | Нахождение наибольшего общего делителя с помощью бинарного алгоритма | |
45 | Использование бинарного алгоритма для выполнения операции возведения в степень | |
46 | Проверка на простоту числа с помощью алгоритма пробных делений | |
47 | Проверка на простоту числа с помощью построения таблицы простых чисел | |
48 | Нахождение простых чисел с помощью решета Эратосфена | |
49 | Задача факторизации целых чисел и ее программное решение | |
| Раздел «Динамическое программирование» | |
50 | Методы динамического программирования и область их использования | |
51 | Использование динамического программирования в задачах, связанных с вычислением сумм и произведений | |
52 | Решение задачи триангуляции многоугольника методом динамического программирования | |
53 | Решение задачи распределения денежных средств методом динамического программирования | |
54 | Решение задачи о наибольшей общей подпоследовательности методом динамического программирования | |
55 | Решение задачи о ранце методом динамического программирования | |
| Раздел «Линейные динамические структуры данных» | |
56 | Использование линейных динамических структур данных для хранения различных видов информации | |
57 | Решение задач на основе использования линейных и кольцевых списков | |
58 | Решение задач на основе использования односвязных и двусвязных списков | |
59 | Задачи с очередями и их реализация на базе массивов и списков | |
60 | Задачи со стеками и их реализация на базе массивов и списков | |
| Раздел «Деревья» | |
61 | Деревья, их классификация и использование | |
62 | Двоичные (бинарные) деревья и способы их реализации | |
63 | Программная реализация различных способов обхода двоичных деревьев | |
64 | Деревья поиска, их реализация и использование | |
65 | Сбалансированные двоичные деревья и их реализация | |
| Раздел «Графы» | |
66 | Понятие графа, основные задачи, решаемые с помощью графов. | |
67 | Поиск на графе. Алгоритм поиска в ширину и способы его реализации. | |
68 | Поиск на графе. Алгоритм поиска в глубину и способы его реализации. | |
69 | Пути на графах. Алгоритмы поиска кратчайшего пути и способы его реализации. | |
70 | Способы построения минимального связывающего дерева графа. | |
| Раздел «Эффективное использование Интернет» | |
71 | Сетевые технологии Интернет | |
72 | Сервисы сети Интернет и их использование | |
73 | Технологии создания собственных страниц в Интернет | |
74 | Технологии Web 2.0 и их использование | |
75 | Направление развития Интернет технологий | |