Результат: ученик читает исходный файл как иерархию лексем, выражений, инструкций, блоков и объявлений и различает синтаксическую корректность, статическую допустимость и фактический смысл программы.

Содержание:

  1. Разобрать текст программы на лексические элементы

    • пробельные символы и переносы строк;
    • однострочные и многострочные комментарии;
    • идентификаторы, ключевые и контекстные ключевые слова;
    • литералы, операторы и разделители;
    • чувствительность C# к регистру.
  2. Понять правила именования

    • допустимое начало и продолжение идентификатора;
    • смысловое имя вместо случайного сокращения;
    • PascalCase и camelCase в учебном коде;
    • различие имени сущности и хранимого ею значения;
    • экранированный идентификатор с @ как редкая, но допустимая форма.
  3. Различить основные единицы кода

    • выражение как вычисление значения;
    • инструкция как завершённое действие;
    • объявление как введение сущности;
    • блок { ... } как область вложенных инструкций;
    • разделитель ; и структурная роль фигурных скобок.
  4. Отделить синтаксис от семантики

    • синтаксически неверный текст;
    • синтаксически корректная, но статически недопустимая операция;
    • компилируемая программа с неверным предметным смыслом;
    • корректная программа, которая не соответствует поставленной задаче.
  5. Научиться читать вложенную структуру

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

    • определение статического типа каждого выражения;
    • определение порядка выполняемых инструкций;
    • поиск места, где изменяется состояние;
    • отделение комментария о намерении от фактического поведения кода.