Школьник не один год занимался разработкой игр, сайтов, графики в различных средах и у него не пропал интерес? Вы рассматриваете образование в сфере информационных технологий как основное направление? Вы хотите, снять сомнения подходит ли вашему ребенку профессия «программист»? Не хватает программирования в школе? Пора применить системный подход к изучению программирования и начать программировать на языках высокого уровня.
Это начальный курс, открывающий мир профессионального программирования и объектно-ориентированный подход в нем является фундаментом. Он подойдет как для новичков, так и для тех школьников, кто имеет опыт программирования. Освоение конкретного языка здесь стоит на втором плане, так как прежде всего речь идет о понятиях инкапсуляция, наследование, полиморфизм и др. Теория объектно-ориентированного программирования подкрепляется практическими задачами на C# – языке максимально подходящем для изучения этой технологии и понятном школьникам 9, 10, 11 классов.
Курс является обязательным модулем программы профессионального обучения рабочей профессии Цифровой куратор по профилю «Информационная грамотность».
Предварительная подготовка
Наличие уверенных навыков работы за компьютером и высокий уровень логического мышления. Проверить уровень подготовленности можно, пройдя тестирование.
Теория объектно-ориентированного программирования
Синтаксис языка C#, типы данных и их конвертация, управляющие конструкции
Использование классов из NetFramework, работа с коллекциями
Основы рисования на Windows-формах, проекты с несколькими формами
Массивы, классические алгоритмы их обработки
Индивидуальное проектирование «Разработка Windows-приложения на Visual C#».
Подробная программа…
- Введение. Интерфейс Visual Studio.
- Правила техники безопасности. Знакомство с языками программирования.
- Знакомство с интерфейсом среды разработки, регистрация аккаунта. Создание, сохранение, закрытие, открытие проекта.
- Основные элементы управления
- Базовые элементы управления форма, кнопка, панель, текстовое поле и метка.
- Постановка элементов управления на форму, настройка свойств, выравнивании элементов управления. Запуск программ с большим количеством элементов управления. Создание простых примеров с использованием свойств элементов управления.
- Основы написания кода. Переменные и типы данных. Преобразования типов данных
- Понятие оператора, комментария, переменной. Оператор присваивания.
- Типы данных. Арифметические выражения. Необходимость преобразования типов. Неявное преобразование.
- Функция Parse. Класс Convert. Использование функций класса Math.
- Создание и использование переменных.
Проекты «Анкета», «Калькулятор», «Расчет»
Проект «Решение квадратного уравнения»
- Дополнительные элементы управления
- Знакомство с элементами управления «поле для ввода чисел», «окно рисунка PictureBox», «поле ввода маскированного текста», «поле ввода даты» и их свойствами. Элемент управления "Календарь". Элементы управления флажки и переключатели.
- Создание проектов с использованием дополнительных элементов управления и написание кода для них.
Проекты «Заказ программного обеспечения», «Календарь»
- Генерация случайных чисел. Окно сообщения. Текстовые операции
- Тип String. Текстовые функции. Генерирование случайных чисел средствами С#. Назначение и синтаксис функции Show класса MessageBox.
- Создание проектов с использованием текстовых функций и написание кода для них.
Проекты «Таблица умножения», «Выделение символа по номеру», «Прыгающая кнопка», «Проект Лото»
- Условный оператор. Оператор выбора
- Логические значения и логические операции. Синтаксис оператора if. Сложные ветвления, оператор выбора switch.
- Решение задач с применением операторов ветвления.
Контрольная работа
- Работа с датой и временем. Невизуальные компоненты
- Знакомство с элементом управления Таймер.
- Стандартные диалоговые окна. Всплывающая подсказка.
- Решение задач с применением подсчета времени.
Проекты «Часы», «Прыгающая кнопка», «Затмение».
- Списки
- Понятие коллекции, списки ListBox и ComboBox, их основные свойства и функции.
- Решение задач с применением элемента управления «списки».
Проекты «Бронирование гостиницы», «Список класса»
- Цикл foreach. Цикл for
- Понятие цикла. Виды циклов. Синтакис цикла foreach и for.
- Решение задач с применением циклических конструкций.
Проекты «Зоопарк», дорабатываем проект «Список класса»
- Коллекции элементов управления
- Понятие коллекции. Перебор элементов коллекции. Object sender.
- Использование циклических конструкций для решения задач с использованием коллекций элементов управления.
- Решение классических задач на поиск максимума, минимума, суммы и среднего арифметического в наборе чисел.
- Рисование на Windows-формах
- Класс Graphics. События для создания графического изображения.
- Создание проектов, отрабатывающих изменение системы координат, очистку формы, выбор пера, рисования линий, вывод текста и изображения.
- Проект с несколькими формами
- Добавление второй формы. Передача данных между формами.
- Создание проекта с использованием 2-х форм. Показ второй формы, передача данных между формами.
Итоговая практическая работа
Алгоритмизация и технологии программирования
- Одномерные и многомерные массивы
- Объявление, инициализация, обращение к элементу, вывод на печать.
- Типовые алгоритмы обработки одномерных массивов
- Реверс массива. Подсчет суммы и произведения элементов массива. Поиск максимального и минимального элемента массива. Поиск в массиве заданного числа и вывод индекса этого числа. Поиск в массиве одинаковых чисел и вывод индексов этих чисел.
- Заполнение главной и второстепенной диагонали. Поиск в массиве.
- Использование массивов для нахождения корней системы линейных уравнений
- Сортировка одномерных массивов
- Алгоритм сортировки методом "пузырька". Описание алгоритма, программная реализация.
- Алгоритм сортировки методом "выбора". Описание алгоритма, программная реализация.
Проект «Сортировка списков»
- Алгоритм сортировки методом "вставок". Описание алгоритма, программная реализация.
- Дополнительные алгоритмы сортировки - метод вставки и метод Шелла.
- Алгоритмы эффективного поиска в массиве
- Поиск одновременно максимума и минимума в неупорядоченном массиве.
- Поиск значения в упорядоченном массиве (бинарный поиск).
- Алгоритмы генерации неповторяющихся элементов
- Алгоритм последовательной генерации элементов массива
- Алгоритм генерации номера элемента во вспомогательном массиве
- Алгоритм генерации упорядоченного массива с последующим перемешиванием.
- Решение задач поиска в массивах и задач с использованием массивов
- Слияние массивов.
- Нахождение элементов по строкам и столбцам
- Анализ подряд идущих элементов. Анализ троек элементов
- Заполнение массива с ориентацией на диагональ.
- Конвертация массива (транспонирование, симметричные преобразования).
- Заполнение массива спиралью и змейкой.
Индивидуальное проектирование: "Разработка Windows-приложения на Visual C#"
- Создание собственного индивидуального проекта с «нуля» по требованиям:
- Приложение должно иметь адекватное дизайнерское решение. Рекомендуется применение элементов оформления в виде изображений, фоновых рисунков или заливок. Все формы должны иметь соответствующий заголовок и иконку. Файл *.exe также должен иметь соответствующую пиктограмму. Все рисунки рекомендуется использовать из ресурсов приложения.
- Все элементы должны быть аккуратно расположены на форме. Назначение тех или иных элементов должно быть ясно пользователю (элементы должны быть подписаны с помощью меток, всплывающих подсказок или надписей на самих элементах управления).
- Код программы должен быть экономичным, структурированным и комментирован. На каждые 5-6 строчек кода, описание переменных или законченный смысловой фрагмент должен стоять комментарий.
- При запуске вашего проекта все ненужные элементы управления должны быть заблокированы. По мере работы с программой пользователь должен иметь возможность работать только с теми ЭУ, которые необходимы в данный момент, и никакие другие.
- Необходимо предусмотреть позицию старта для главной формы программы, наличие справочной системы для вашей программы и наличие информации об авторе и версии программы (например, на отдельной форме).
- Необходимо в электронном виде оформить пояснительную записку, содержащую:
- описание работы проекта (для пользователя);
- скриншоты форм с указанием измененных свойств элементов управления;
- описание метода решения задачи;
- код программы с пояснениями.
Изучаемые программы и технологии
Теория ООП, установка и настройка MS Visual Studio, синтаксис C#, разработка алгоритмов и их реализация на примере Windows-приложений на языке C#
Объектно-ориентированный подход (ООП) — это способ разработки программ. Весь готовый цифровой продукт состоит из объектов со своими свойствами и функциями. Занимаясь программированием сегодня, необходимо научиться мыслить объектами и их взаимосвязями, а это достаточно сложно. Так как без ООП сложно представить любое современное программное обеспечение, важно начинать развивать объектное мышление как можно раньше и школьникам 9-10 класса это уже под силу. С помощью объектно-ориентированного подхода решаются задачи практически любого типа. Использование ООП приводит к упрощению процесса разработки, экономии времени и повышению читаемости кода. Как только вы познаете дзен ООП — вы начнете получать удовольствие от программирования.
C# — это язык программирования, разработанный фирмой Microsoft для улучшения существующих концепций C-подобных языков. Он позволяет программировать что угодно, начиная от веб-приложений, игр, настольных приложений и заканчивая мобильными приложениями. C# обладает выразительным синтаксисом и с него легко начать изучение программирования в целом. Изучение языка C# станет для школьника 9 класса новой ступенью в освоении программирования и шагом в профессиональное программирование. У школьников уже сформирован достаточный математический аппарат, чтобы понимать и решать достаточно сложные задачи, которые можно использовать для реализации школьных проектов по любой тематике. Кроме того, С# – это язык программирования, разрешенный к использованию для сдачи ЕГЭ по информатике.
MS Visual Studio — является рекомендованной средой для программирования под ОС Windows, можно сказать, что других вариантов просто нет. Это официальная, самая «правильная», функциональная среда разработки, в которой есть все что необходимо. Данный продукт позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, поддерживаемых Microsoft Windows. И что немаловажно – ее можно скачать с официального сайта Microsoft (выбрав Express версию), так как она бесплатная для некоммерческого использования.
Среда программирования включает в себя редактор кода с поддержкой технологии IntelliSense и возможностью отладки исходного кода и проверкой ошибок еще на этапе проектирования, с интерфейсом, интуитивно понятным для школьников старших классов.
Пройдя курс «Объектно-ориентированное программирование на языке C#», школьники смогут разработать программу, назначение которой выберут сами. Например, игровые приложения типа «Найди клад», «Мозаика», «Быки и коровы», «Ход конем», «Пятнашки», «Как стать миллионером», «Поле чудес», «Спортлото», «Memory», «Морской бой», «Японский кроссворд, «Лабиринт» или Викторины и тесты по разным темам или тренажеры или приложения для проектной деятельности на стыке любых школьных предметов и информатики: «Решатель примеров», «Работа с графиками функций», «Графическое моделирование физических процессов» и т.п.
Как проходят занятия
Занятия по объектно-ориентированному программированию построены на изучении теоретического материала и закреплении этих знаний на практических прикладных примерах. Решение задач охватывает все этапы работы от постановки задачи и формализации исходных данных до реализации составленного алгоритма на языке С# и тестирования готового приложения.
Материалы занятий структурированы и доступны. В процесс обучения заложено выполнение домашних заданий. Материалы занятия, включая домашние задания, публикуются в Личном кабинете. За посещаемостью и успеваемостью можно следить в электронном журнале.
Результат обучения
По окончании курса школьник сможет применять на практике принципы объектно-ориентированного программирования: абстракцию, инкапсуляцию, наследование, полиморфизм, пользоваться классами, объектами, конструкторами и другими элементами интерфейса программных продуктов, работающих под Windows, познакомится с классическими алгоритмами для различных структур данных, создаст в итоге прикладную программу на языке C#, работающую в Windows.
Помимо этого, школьник пройдет весь путь от создания до защиты индивидуального проекта с соблюдением всех технических и организационных требований, получит удовольствие от прикладной реализации полученных знаний и умений в области программирования и сможет применять полученные знания при работе с любым другим языком программирования.
По окончании курса школьник получит Свидетельство установленного образца об освоении дополнительной предпрофессиональной общеобразовательной программы в области информационных технологий.
Успешная аттестация по курсу дает право перехода на следующий уровень профессионального обучения для получения рабочей профессии «Цифровой куратор» по профилю «Информационная грамотность».

Примеры работ