Курс последовательно проводит ученика от первой консольной программы до проектирования, проверки и исследования законченной процедурной системы. Учебник задаёт теоретическую последовательность, а Модули 1–16 закрепляют соответствующие Разделы задачами возрастающей самостоятельности.

  • Уровень: полный фундамент языка и процедурного программирования до начала объектно-ориентированного проектирования.
  • Назначение: сформировать строгую модель исполнения, хранения данных, управления состоянием, построения алгоритмов, диагностики, отказоустойчивости и архитектуры процедурной программы.
  • Формат: Введение, 27 последовательных Разделов, 16 Модулей и Финальный экзамен.
  • Темп: определяется отдельно выбранной глубиной прохождения Модулей; программа фиксирует состав и порядок обучения, а не календарный срок.
  • Итог курса: ученик способен формализовать задачу, выбрать представление данных, реализовать и доказать алгоритм, измерить и отладить программу, обработать внешние данные и отказы и защитить архитектуру законченной процедурной системы.

Как читать учебную программу

Каждый Раздел содержит два элемента:

  • Результат — проверяемое действие, которое ученик должен уметь выполнить после завершения Раздела.
  • Содержание — хронологическая последовательность учебных блоков. Каждый следующий блок опирается на предыдущие и показывает, что именно необходимо понять, реализовать и уметь объяснить.

Разделы изучаются по порядку. Материал не считается завершённым после чтения: после соответствующей группы Разделов выполняется закрепляющий Модуль. Более поздние Разделы повторно используют ранние понятия, поэтому типы, контракты, инварианты, nullable-анализ, культура, сложность и политика отказа сохраняются во всех последующих задачах.

Рабочий формат курса

  • Все программы используют using System;, namespace, class Program и static void Main(string[] args).
  • Top-level statements не применяются.
  • Минимальная версия языка — C# 9; версия .NET SDK фиксируется для всей учебной группы.
  • Nullable-анализ включён через <Nullable>enable</Nullable>.
  • Вычисляющее ядро по мере развития курса отделяется от консоли, файлов, времени и псевдослучайности.
  • Проектирование классов, инкапсуляция, наследование, полиморфизм, интерфейсы, обобщённые коллекции, делегаты, события, асинхронность и многопоточность начинаются в Курсе II.

Хронологический маршрут

ШагТеоретическая частьЗакреплениеРезультат шага
0Введение, Разделы 1–3Первые программы и устная проверкаУченик создаёт проект, читает структуру кода и понимает путь исполнения
1Разделы 4–8Модуль 1. Линейные вычисления и представление данныхУченик точно моделирует значения и машинные вычисления
2Разделы 9–11Модуль 2. ВетвленияУченик строит полную систему случаев и безопасно разбирает ввод
3Раздел 12Модуль 3. ЦиклыУченик реализует повторение, доказывает завершимость и оценивает работу
4Разделы 13–14Модуль 4. Методы и рекурсияУченик проектирует процедурный API и прослеживает стек вызовов
5Раздел 15Модуль 5. Одномерные массивыУченик реализует алгоритмы над последовательностями, сортировку и поиск
6Раздел 16Модуль 6. Значимые и ссылочные типыУченик управляет идентичностью, псевдонимами, мутацией и копированием
7Раздел 17Модуль 7. Многомерные массивыУченик проектирует алгоритмы над прямоугольными областями и координатами
8Раздел 18Модуль 8. Зубчатые массивыУченик работает с нерегулярной формой и топологией внутренних объектов
9Раздел 19Модуль 9. СтрокиУченик реализует точные текстовые контракты, парсеры и строковые алгоритмы
10Раздел 20Модуль 10. Собственный значимый типУченик создаёт процедурные модели связанных данных через struct
11Раздел 21Модуль 11. Время и измерениеУченик работает со временем и строит воспроизводимый измерительный эксперимент
12Раздел 22Модуль 12. СлучайностьУченик реализует корректные случайные алгоритмы и вероятностные исследования
13Раздел 23Модуль 13. Систематическая отладкаУченик локализует первое неверное состояние и подтверждает исправление
14Разделы 24–25Модуль 14. Отказы и файлыУченик проектирует модель отказа и согласованный файловый конвейер
15Раздел 26Модуль 15. Проектирование процедурной программыУченик самостоятельно проектирует законченную процедурную архитектуру
16Раздел 27Модуль 16. Процедурные симуляцииУченик реализует дискретную модель и проводит техническое исследование
17Весь курсФинальный экзаменУченик подтверждает целостное владение процедурным C#