Общая характеристика курса
Основная цель курса Программирование II ступень − углубление знаний и навыков в области программирования, полученных на I ступени, а также формирование у школьников профессиональной направленности на компьютерные науки.
Именно в этом курсе решается большинство базовых задач по программированию, фигурирующих в ЕГЭ по информатике.
Как и на I ступени, в курсе используются уникальные для России обучающие продукты, созданные на мехмате ЮФУ: Система программирования PascalABC.NET и Электронный задачник Programming Taskbook. Здесь наиболее полно раскрываются поистине безграничные возможности языка PascalABC.NET, опирающегося на передовую платформу Microsoft .NET Framework. По каждой теме курса разрабатывается достаточно сложное игровое или анимационное приложение, позволяющее закрепить полученные знания.
С целью дать учащимся широкие современные знания мы ввели в курс современный распространенный язык программирования Python, позволяющий с помощью высокоуровневых конструкций писать предельно компактные и ясные программы.
Краткая программа курса
Работа с массивами. Ввод и вывод, основные характеристики. Минимумы и максимумы. Лямбда-выражения, запросы. Заполнение и преобразование массивов. Поиск и фильтрация. Операции над массивами, срезы. Класс List, его особенности.
Классы и объекты. Основные понятия. Описание класса, методы классов. Перечислимый тип.
Массивы объектов. Фильтрация и подсчет количества. Запросы All и Any. Сортировка и слияние. Группировка. Визуализация запросов к массиву объектов.
Двумерные массивы. Основные понятия. Заполнение, ввод и вывод. Цикл по двумерному массиву, строки и столбцы. Массовые алгоритмы со строками и столбцами. Изменение элементов двумерного массива.
Символы и строки. Символы. Строки и основные операции с ними. Стандартные подпрограммы и методы для обработки строк и символов. Срезы строк и разбиение строк на слова. Преобразование «строка-число».
Файлы. Основные определения. Операции с файлами. Текстовые и типизированные файлы. Алгоритмы обработки информации в файлах. Файлы как последовательности.
Основы программирования на языке Python. Особенности языка Python. Простые программы. Ошибки в Python. Операции в языке Python. Условный оператор и операторы цикла. Функции и модули.
Дополнительные возможности языка Python. Списки в языке Python, примеры использования списков. Многомерные списки. Работс со строками и файлами в языке Python.
Основы программирования векторной графики. Модуль WPFObjects. Основные 2D-объекты, их свойства и методы. Интерактивные программы, управляемые событиями. Анимация на основе кадра. Программирование игр (разработка сценария игры, дизайн игры, взаимодействие с пользователем, информация о ходе игры). Таймеры, сочетание таймеров с анимацией на основе кадра и событиями мыши и клавиатуры.
Основы создания оконных приложений. Основные элементы управления (кнопки, текстовые и числовые блоки, списки), их свойства, методы и события. Менеджер размещения элементов управления и размещение в абсолютных координатах. Использование элементов управления в графических и игровых программах.
Взаимодействие с платами BBC micro: bit. Основы программирования плат BBC Micro:bit. Прошивка платы, язык управления платой. Взаимодействие платы BBC Micro:bit с компьютером (модуль BBCMicroBit). Ряд пользовательских проектов и игр (BBC Micro:bit + модуль WPFObjects)
Основы программирования трёхмерной графики. Модуль Graph3D. Основные 3D-объекты, их свойства и события. Основные понятия трёхмерной графики: точка, вектор, луч, прямая, плоскость, система координат, камера, материалы. Создание простейших 3D-визуализаций. Группировка объектов, создание дочерних. Загрузка внешних 3D-моделей в программу и управление ими. Особенности управления объектами с клавиатуры и с помощью мыши. Анимация на основе кадра. Алгоритмические анимации, операции над ними (последовательное и параллельное выполнение).
Перейти к курсу Программирование III ступень.