+7 (812) 703-02-02 info@hse.spbstu.ru

Программирование на C#

Любой школьный класс | 36 занятий | Очно

Длительность курса: 144 ак.часа

О чём курс

Курс «Программирование на C#» - отличный старт для того, кто начинает путь к профессии в сфере разработки программного обеспечения. C# это язык, разрабатываемый компанией Microsoft, реализующий технологию объектно-ориентированного программирования, наиболее часто применяемую в современном программном обеспечении. На C# программируют для таких компаний, как Яндекс, Сбербанк, Газпром, Центробанк, Лукойл, Банк России, L’Etual, Ozon и т. д., и это только в нашей стране.

Для C# характерно наличие чёткой документации, обилие "родных" библиотек для решения большинства задач, отсутствие путаницы в версиях, компиляторах и т. д., что очень сильно облегчает жизнь начинающему программисту. Многие свободно развивающиеся языки имеют тысячу и одну разновидность, под них написано множество библиотек, у каждой из которых своя логика, поэтому такие библиотеки иногда сложно подружить в одном проекте. Для С# также существует большое количество библиотек, но эти библиотеки отлично ладят между собой.

Начинать свой путь в программировании лучше всего с классического языка, которым как раз и является C#. Этот язык даст базовые представления о типизации данных, алгоритмических конструкциях, структуре программы. Получив фундаментальные основы построения программы на C#, переходить на другие си-подобные языки или, например, на Java, будет легко. И, конечно, после С# вам будет очень комфортно осваивать C++ и Python, что в свое время мы с удовольствием вам порекомендуем.

Программа «Программирование на C#» состоит из 4-х модулей, которые посвящены классическим парадигмам программирования: алгоритмизация, структурное программирование, процедурное программирование.

Чему научим

В результате освоения дополнительной образовательной программы обучившийся будет:

знать:

  • понятия «алгоритм», «данные», «программа», «среда разработки»;
  • свойства алгоритмов;
  • способы представления алгоритмов;
  • операторы объявления данных, ввода, конвертации типов данных, вывода, присваивания;
  • ветвления и организацию циклического алгоритма на языке программирования C#;
  • теоретическую информатику;
  • основные способы организации данных;
  • основные алгоритмические конструкции;
  • технологию подготовки и решения задач на ПК;
  • основные синтаксические конструкции языка программирования C#;
  • основные принципы структурного программирования;
  • приемы построения информационной модели поставленной задачи;
  • последовательность действий при решении задачи средствами программирования;
  • критерии качества программы;
  • основные инструменты отладки;
  • синтаксис процедур и функций, их вызова на языке C#;
  • синтаксис описания массивов и работы с ними;
  • классические алгоритмы поиска и сортировки в массивах;
  • управляющие элементы оконного интерфейса, их основные свойства;

уметь:

  • по условию задачи составлять схему входных и выходных данных;
  • формулировать линейные, разветвлённые, простые циклические алгоритмы в виде блок-схем и на псевдокоде;
  • выполнять алгоритм с помощью таблицы значений;
  • создавать консольные приложения на языке C# в среде MS Visual Studio;
  • анализировать условие задачи и формализовать её;
  • самостоятельно разрабатывать алгоритм решения задачи;
  • использовать различные типы данных для решения конкретной задачи;
  • рационально организовывать ввод и вывод данных;
  • программировать основные алгоритмы структурного программирования;
  • документировать готовую программу;
  • анализировать условие задачи в неформальной постановке, строить на его основе информационную модель задачи;
  • разрабатывать и оформлять алгоритм решения задачи;
  • организовывать простые и структурированные данные в программе;
  • проектировать интерфейс консольного приложения;
  • писать и отлаживать программный код средствами среды программирования Visual Studio;
  • тестировать программу;
  • разрабатывать консольные и оконные приложения на языке C#;
  • проектировать интерфейс и структуру программы;
  • выполнять отладку программы;

владеть:

  • инструментарием IDLE MS Visual Studio;
  • начальными навыками создания и отладки консольных приложений на C#;
  • навыками работы в интегрированной среде разработки MS Visual Studio;
  • навыками использования синтаксических конструкций языка C#;
  • навыками самостоятельного выполнения всех этапов проектной деятельности, связанной с разработкой программного продукта;
  • навыками самостоятельной разработки оконных и консольных приложений в среде программирования MS Visual Studio.

Модуль 1. Разработка интерактивной программы на языке C#: от вычислений к играм

Тема 1.1. Программа и алгоритм

Лекции:

  • Программа как вид информационной модели.
  • Программа как информационный процесс.
  • Понятия «Данные» и «Алгоритм».
  • Алгоритм: исполнитель, система команд.
  • Свойства алгоритмов.

Практические занятия:

  • Работа с различными видами информационных моделей.
  • Анализ информационных моделей.
  • Формы записи алгоритмов: словесный, блок-схема, псевдокод.
  • Исполнение алгоритмов, перевод словесного описания алгоритма в другую форму записи.
  • Упражнения и задания на формы записи алгоритмов (словесный, блок-схема, псевдокод) и исполнение алгоритмов.

Самостоятельная работа:

  • Упражнения и задания на формы записи алгоритмов (словесный, блок-схема, псевдокод) и исполнение алгоритмов.

Тема 1.2. От алгоритма к программе

Лекции:

  • Языки программирования, обзор, классификация.
  • C# – особенности, достоинства, сферы применения.
  • Понятие проект.
  • Состав проекта на C#.

Практические занятия:

  • Тест по теме «Тема 1.1. Программа и алгоритм».
  • Знакомство с MS Visual Studio.
  • Настройка интерфейса.
  • Создание проекта. Создание класса.
  • Операции с классами.
  • Практика по написанию кода и запуску его на выполнение.
  • Упражнения и задания по написанию кода и запуску его на выполнение.

Самостоятельная работа:

  • Упражнения и задания по написанию кода и запуску его на выполнение.
Тема 1.3. Типы данных

Лекции:

  • Организация вычислений, понятие переменная.
  • Описание данных в алгоритме при разных формах его записи.
  • Типы данных C#, их классификация.

Практические занятия:

  • Тест по теме «Тема 1.2. От алгоритма к программе».
  • Оператор объявления данных на C#.
  • Операторы ввода, вывода, присваивания.
  • Преобразования типов данных.
  • Создание простых программ с объявлением данных и преобразованием одних типов данных в другие.
  • Упражнения и задания на создание простых программ с объявлением данных и преобразованием одних типов данных в другие.

Самостоятельная работа:

  • Упражнения и задания на создание простых программ с объявлением данных и преобразованием одних типов данных в другие.
Тема 1.4. Линейные алгоритмы

Лекции:

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

Практические занятия:

  • Тест по теме «Тема 1.3. Типы данных».
  • Арифметические операции и выражения.
  • Математические функции. Класс Math.
  • Упражнения и задания на разработку и программирование линейных алгоритмов разной степени сложности.

Самостоятельная работа:

  • Упражнения и задания на разработку и программирование линейных алгоритмов разной степени сложности.
Тема 1.5. Разветвлённые алгоритмы

Лекции:

  • Условия и выбор в алгоритмах.
  • Разветвленные алгоритмы.
  • Реализация ветвления в блок-схеме и в псевдокоде.

Практические занятия:

  • Тест по теме «Тема 1.4. Линейные алгоритмы».
  • Условный оператор на C#.
  • Оператор множественного выбора switch.
  • Упражнения и задания на разработку и программирование простых разветвлённых алгоритмов.

Самостоятельная работа:

  • Упражнения и задания на разработку и программирование простых разветвлённых алгоритмов.
Тема 1.6. Логические операции

Лекции:

  • Алгебра логики: высказывания, логические операции.
  • Логический тип данных.

Практические занятия:

  • Тест по теме «Тема 1.5. Разветвлённые алгоритмы».
  • Логические операции на C#, их применение для формулировки сложных условий.
  • Оптимизация кода.
  • Упражнения и задания на разработку программ, реализующих линейные и разветвлённые алгоритмы.

Самостоятельная работа:

  • Упражнения и задания на разработку программ, реализующих линейные и разветвлённые алгоритмы.
Тема 1.7. Отладка программ

Лекции:

  • Взаимоисключающие условия, вложенные ветвления.
  • Алгоритмы со сложными ветвлениями.
  • Приемы для отладки программы.

Практические занятия:

  • Тест по теме «Тема 1.6. Логические операции».
  • Взаимоисключающие условия, вложенные ветвления.
  • Реализация алгоритмов со сложными ветвлениями на C#.
  • Приемы и инструментарий Visual Studio для отладки программы – точка останова, пошаговое выполнение программы, отслеживание значений переменных.
  • Упражнения и задания на разработку и отладку программ с условными операторами.

Самостоятельная работа

  • Упражнения и задания на разработку и отладку программ с условными операторами.
  • Промежуточная аттестация - тестирование по модулю 1 включает в себя вопросы на знание следующих тем: типы данных, линейные алгоритмы, разветвленные алгоритмы, логические операции, отладка программ.

Модуль 2. Разработка интерактивной программы на языке C#: продвинутый уровень

Тема 2.1. Символы и строки

Лекции:

  • Нечисловые данные: примеры, назначение.
  • Символьные и строковые данные.

Практические занятия:

  • Операции со строковым типом данных: объявление, присваивание, сцепление.
  • Организация дружественного интерфейса программы.
  • Упражнения и задания на программные эксперименты с символами и строками.

Самостоятельная работа:

  • Упражнения и задания на программные эксперименты с символами и строками.
Тема 2.2. Циклические алгоритмы

Лекции:

  • Примеры ситуаций, моделируемых циклами.
  • Цикл с заданным количеством итераций, его описание в блок-схеме и на псевдокоде.
  • Циклы с условием, их реализация в блок-схеме и на псевдокоде.

Практические занятия:

  • Тест по теме «Тема 2.1. Символы и строки».
  • Оператор цикла с параметром на C#.
  • Операторы цикла с условием на C#.
  • Классические алгоритмы перебора данных с использованием цикла.
  • Счетчики и сумматоры.
  • Программирование циклов с предусловием и с постусловием на C#.
  • Упражнения и задания на распознавание циклических алгоритмов, исполнение алгоритмов с циклами, исполнение алгоритмов, содержащих циклы, с помощью таблицы значений; эксперименты с операторами циклов.

Самостоятельная работа:

  • Упражнения и задания на распознавание циклических алгоритмов, исполнение алгоритмов с циклами, исполнение алгоритмов, содержащих циклы, с помощью таблицы значений; эксперименты с операторами циклов.
Тема 2.3. Математика и циклы

Лекции:

  • Алгоритмы с вложенными циклами, особенности использования.
  • Циклы и математика.

Практические занятия:

  • Тест по теме «Тема 2.2. Циклические алгоритмы».
  • Особенности использования цикла while в разных ситуациях.
  • Оператор break.
  • Использование циклических конструкций для решения типовых задач: алгоритм разбиения числа на цифры, перевод между системами счисления, вычисление факториала, НОД, НОК.
  • Упражнения и задания на программы, использующие циклы, решение математических задач с помощью циклов.

Самостоятельная работа:

  • Упражнения и задания на программы, использующие циклы, решение математических задач с помощью циклов.
Тема 2.4. Массивы данных

Лекции:

  • Понятие структурированных типов данных.
  • Понятие массива, индексация данных.
  • Одномерные массивы.

Практические занятия:

  • Тест по теме «Тема 2.3. Математика и циклы».
  • Размерность массива.
  • Обращение к элементу массива.
  • Применение цикла с параметром при работе с массивами.
  • Алгоритмы обработки массивов: инициализация массивов, переборные алгоритмы обработки элементов массива и поисковые алгоритмы по заданным критериям.
  • Упражнения и задания на работу с индексами элементов массива, на анализ пар соседних элементов.

Самостоятельная работа:

  • Упражнения и задания на работу с индексами элементов массива, на анализ пар соседних элементов.
Тема 2.5. Многомерные массивы

Лекции:

  • Понятие многомерного массива.
  • Множественная индексация данных.

Практические занятия:

  • Тест по теме «Тема 2.4. Массивы данных».
  • Инициализация двумерного массива на этапе объявления.
  • Инициализация двумерного массива с помощью циклов.
  • Вывод двумерного массива на печать в виде таблицы.
  • Упражнения и задания на чтение и разработку программ, использующих многомерные массивы данных.

Самостоятельная работа:

  • Упражнения и задания на чтение и разработку программ, использующих многомерные массивы данных.
  • Промежуточная аттестация - тест по модулю 2 включает вопросы, касающиеся тем: символы и строки, циклические алгоритмы, математика и циклы, массивы данных, многомерные массивы.

Модуль 3. Компьютерное моделирование игрового сценария и программная реализация модели на языке C#

Тема 3.1. Компьютерное моделирование

Лекции:

  • Понятие модели, цели моделирования, примеры.
  • Виды моделей.
  • Информационные модели.
  • Компьютерный эксперимент.
  • Компьютерное моделирование.

Практические занятия:

  • Примеры разработки информационных моделей различного назначения и их программная реализация.
  • Использование массивов, как информационных моделей.
  • Упражнения и задания на построение информационных моделей различного назначение и программную реализацию этих моделей.

Самостоятельная работа:

  • Упражнения и задания на построение информационных моделей различного назначение и программную реализацию этих моделей.
Тема 3.2. Процесс разработки программы

Лекции:

  • Процесс разработки программы, его организация.
  • Каскадная и спиральная схемы разработки.
  • Основные этапы разработки программы.
  • Типы данных, их классификация.

Практические занятия:

  • Тест по теме «Тема 3.1. Компьютерное моделирование».
  • Возможности редактора текста программы в MS Visual Studio.
  • Система Intellisence, техника её использования.
  • Текст программы как документ.
  • Комментирование программы.
  • Стандартные алгоритмические конструкции: последовательность, ветвление, цикл.
  • Примеры их применения при решении задач, сформулированных в неформальном виде.
  • Упражнения и задания на решение задач, сформулированных в неформальном виде с помощью стандартных алгоритмических конструкций: последовательность, ветвление, цикл.

Самостоятельная работа:

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

Лекции:

  • Символьный тип данных.
  • Тип данных char.
  • Символы и их кодировка по кодировочной таблице.

Практические занятия:

  • Тест по теме «Тема 3.2. Процесс разработки программы».
  • Конвертации данных типа char в int и string.
  • Строка как коллекция символов.
  • Обращение к символу строки по индексу.
  • Переборные алгоритмы для строковых типов данных.
  • Функции класса String.
  • Упражнения и задания на поисковые алгоритмы при работе со строками, анализ цепочек символов, конвертация раскладки клавиатуры, алгоритмы шифрования.

Самостоятельная работа:

  • Упражнения и задания на поисковые алгоритмы при работе со строками, анализ цепочек символов, конвертация раскладки клавиатуры, алгоритмы шифрования.
Тема 3.4. Списки

Лекции:

  • Понятие списка (List).
  • «Динамический» массив.
  • Понятие коллекция.
  • Случаи применения списков, преимущества перед массивами.

Практические занятия:

  • Тест по теме «Тема 3.3. Строка как массив символов».
  • Работа со списками: объявление, заполнение, вывод.
  • Обращение к элементу списка.
  • Функции и методы списков: поиск элемента в списке, добавление, удаление, функция Contains.
  • Списки – как пример информационной модели.
  • Семантика индекса элемента списка.
  • Упражнения и задания на решение задач с использованием списков: объявление, заполнение, вывод, поиск элемента в списке, добавление, удаление.

Самостоятельная работа:

  • Упражнения и задания на решение задач с использованием списков: объявление, заполнение, вывод, поиск элемента в списке, добавление, удаление.
Тема 3.5. Подпрограммы

Лекции:

  • Понятие подпрограммы в C#.
  • Структурирование программы, примеры применения.
  • Методы (процедуры) и функции встроенных классов.
  • Пользовательские методы(процедуры).

Практические занятия:

  • Тест по теме «Тема 3.4. Списки».
  • Объявление и вызов метода.
  • Формальные и фактические параметры.
  • Понятие сигнатуры метода.
  • Пользовательские функции.
  • Возвращаемое значение.
  • Объявление и вызов функции.
  • Оператор return.
  • Формальные и фактические параметры.
  • Способы передачи параметров в процедуры и функции.
  • Пользовательские методы и функции, работающие с массивами и списками.
  • Упражнения на структурирование программы, разработка собственных методов и функций.

Самостоятельная работа:

  • Упражнения на структурирование программы, разработка собственных методов и функций.
Тема 3.6. Алгоритмы перебора

Лекции:

  • Перебор в математике и в программировании.
  • Комбинаторные задачи.

Практические занятия:

  • Тест по теме «Тема 3.5. Подпрограммы».
  • Перебор с параметром, индуктивный перебор.
  • Алгоритмы перебора с помощью числового ключа.
  • Чтение данных из текстового файла.
  • Комбинаторные задачи.
  • Поиск пар в массиве.
  • Непрерывные подпоследовательности в массиве.
  • Мероприятия по снижению количества итераций в переборных алгоритмах.
  • Упражнения и задания на решение задач с помощью алгоритмов перебора, чтение и обработку данных из текстового файла.

Самостоятельная работа:

  • Упражнения и задания на решение задач с помощью алгоритмов перебора, чтение и обработку данных из текстового файла.
Тема 3.7. Этапы разработки программы

Лекции:

  • Этапы разработки программного продукта.
  • Компьютерное моделирование.

Практические занятия:

  • Тест по теме «Тема 3.6. Алгоритмы перебора».
  • Документирование программного продукта.
  • Типы ошибок, тестирование и отладка программы.
  • Упражнения и задания на разработку программ разных уровней сложности с самостоятельной разработкой алгоритма, выбором структуры данных, планированием интерфейса.

Самостоятельная работа:

  • Упражнения и задания на разработку программ разных уровней сложности с самостоятельной разработкой алгоритма, выбором структуры данных, планированием интерфейса.
  • Промежуточная аттестация - тест по модулю 3 включает в себя вопросы по следующим темам: компьютерное моделирование, процесс разработки программы, строка как массив символов, списки, подпрограммы, алгоритмы перебора, этапы разработки программы.

Модуль 4. Индивидуальное проектирование: разработка собственного игрового приложения

Тема 4.1. Массив – модель совокупности

Лекции:

  • Использование строковых и булевских массивов.
  • Алгоритмы работы с массивами.
  • Алгоритмы нахождения объединения и пересечения массивов.
  • Переборные алгоритмы в двумерном массиве.

Практические занятия:

  • Алгоритмы работы с массивами: сортировка, инверсия, генерация неповторяющихся случайных элементов, перемешивание массива.
  • Алгоритмы нахождения объединения и пересечения массивов (без использования функций класса Array).
  • Переборные алгоритмы в двумерном массиве.
  • Анализ соседних элементов.
  • Программирование процесса заполнения массива: заполнение массива змейкой и по спирали.
  • Упражнения и задания на анализ индексов элементов: заполнение главной и побочной диагоналей, транспонирование массива, конвертации по горизонтали и вертикали.

Самостоятельная работа:

  • Упражнения и задания на анализ индексов элементов: заполнение главной и побочной диагоналей, транспонирование массива, конвертации по горизонтали и вертикали.
Тема 4.2. Применение библиотечных и пользовательских подпрограмм

Лекции:

  • Пользовательские методы и функции.
  • Понятия сигнатуры методы/функции.
  • Функции с перегрузками.
  • Передача в процедуру параметра в виде массива.
  • Функции, возвращающие массив значений.

Практические занятия:

  • Тест по теме «Тема 4.1. Массив – модель совокупности».
  • Функции с перегрузками.
  • Передача в процедуру параметра в виде массива.
  • Функции, возвращающие массив значений.
  • Упражнения и задания на нахождения «особых» чисел в диапазоне или в массиве с использованием пользовательских функций.

Самостоятельная работа:

  • Упражнения и задания на нахождения «особых» чисел в диапазоне или в массиве с использованием пользовательских функций.
Тема 4.3. Техника отладки программы

Лекции:

  • Классификация исключений.
  • Синтаксические исключения, метод фиксации и отладки.
  • Логические ошибки.

Практические занятия:

  • Тест по теме «Тема 4.2. Применение библиотечных и пользовательских подпрограмм».
  • Тестирование методом «чёрного ящика» и «белого ящика».
  • Инструменты отладки: точка останова, пошаговое выполнение.
  • Просмотр текущих значений данных.
  • Упражнения и задания на тестирование программ методами «чёрного ящика» и «белого ящика», на отладку программ.

Самостоятельная работа:

  • Упражнения и задания на тестирование программ методами «чёрного ящика» и «белого ящика», на отладку программ.
Тема 4.4. Проектирование интерфейса программы

Лекции:

  • Виды интерфейсов в IT-области.
  • Критерии качества интерфейса: понятность, скорость ввода команд, защищённость, эстетичность.
  • Эволюция понятия «консоль».
  • Структурирование программы по назначению составляющих, дополнительные «окна» программы.
  • Понятие юзабилити.

Практические занятия:

  • Тест по теме «Тема 4.3. Техника отладки программы».
  • Пользовательский интерфейс.
  • Диалог программы и пользователя: основные правила.
  • Цвет и анимация в консоли.
  • Способы защиты работы программы от ввода пользователем несанкционированных значений.

Самостоятельная работа:

  • Выбор темы и создание графической заставки для прикладной программы в качестве итогового проекта по программе «Программирование на C#».

Тема 4.5. Работа над проектом

Лекции:

  • Требования к итоговым творческим работам.
  • Рекомендуемая организация работы.
  • Этапы ведения проектной деятельности.
  • Виды программной документации.
  • Содержание описания программы.
  • Ограниченность возможностей текста программы как программного документа.
  • Способы описания структуры программы и её данных.

Практические занятия:

  • Анализ поставленной задачи, формализация, разбиение будущей программы на составные части.
  • Построение информационной модели, анализ выделяемых ресурсов. Определение необходимых переменных и их типов.

Самостоятельная работа:

  • Разработка алгоритма.
  • Разработка программного кода, обеспечение дружественного интерфейса программы.
  • Отладка.
  • Написание программной документации.

Тема 4.6. Защита проекта

Итоговая аттестация:

  • Защита итогового практического проекта.
  • Обзор и обсуждение профессий, связанных с программированием.
  • Обсуждение возможных траекторий дальнейшего обучения и развития.

Стоимость

--

Есть скидки от 10% до 20%. Узнать подробнее...

Как поступить

Данная дополнительная общеразвивающая программа рассчитана на учащихся общеобразовательных школ 8-11 классов, владеющих основными навыками работы на ПК, знанием основ математики, обладающих математической культурой.

После проверки заявления на портале Госуслуг вы сможете получить ссылку на вступительное испытание, которое представляет из себя компьютерный тест. В тесте 15 вопросов на которые нужно ответить за 60 минут. Для успешного прохождения теста нужно набрать не менее 60 баллов из 100.

Тест № ВКТ-531 Основы информатики. Математическая культура (Код Будущего)

Необходимые знания и умения для успешного прохождения тестирования:

  1. Знания курса математики за 7 классов общеобразовательной школы.
  2. Общие принципы организации и работы ЭВМ. Представление информации в памяти компьютера.
  3. Перевод чисел из одной системы счисления в другие.
  4. Знание основных логических операций.
  5. Вычисление и упрощение логических выражений.
  6. Умение анализировать и формализовать постановку задачи.
  7. Умение решать задачу в общем виде, строить математическую модель.

Как записаться на занятия

О дате начала набора будет объявлено дополнительно.

Академия информатики для школьников в цифрах

18 лет

успешной работы
в Политехническом университете Петра Великого

10

направлений обучения

73

учебные программы

3 500

школьников
проходят обучение
ежегодно

4

учебные площадки

36

компьютерных классов