Программирование на C++ и Pythonдля школьников

Бесплатные образовательные программы по программированию для школьников

октябрь 2022 – ноябрь 2023

1.5 года,
144 ак. ч.
Бесплатное обучение для школьников РФ
Два языка программирования: C++ и Python
Сертификат МФТИ
в портфолио абитуриента по завершению обучения
Два формата обучения: онлайн и очный

Московский физико-технический институт – первый в рейтинге вузов России 2022 в направлении Computer Science по версии Times Higher Education.

В 2018 году в МФТИ создан единственный в России Центр компетенций НТИ по направлению «Искусственный интеллект».

В 2021 году в аналитическом обзоре «Искусственный интеллект в России» ведущей консалтинговой компании CNA МФТИ отмечен как ВУЗ с наиболее развитыми компетенциями в области искусственного интеллекта.

EduMipt – инновационный онлайн-проект дополнительного профессионального образования Московского физико-технического института. Открыт набор на курсы повышения квалификации и программы профессиональной переподготовки в IT-сфере.

С EduMipt можно получить новые компетенции, освоить востребованную профессию на уровне ведущего технического вуза страны. Работодатели отдают предпочтение сильным специалистам с образованием МФТИ.

читать дальше

Для кого?

Любителям C++

Школьникам, желающим освоить C++

Любителям Python

Школьникам, желающим освоить Python

программа

С++
Модуль 1
Модуль 2
Модуль 3
Модуль 4
Python
Модуль 1
Модуль 2
Модуль 3
Модуль 4

Программирование на С++

1. Дополнительная общеобразовательная программа «Программирование на C++» от МФТИ разработана для школьников 8-11 классов в рамках проекта «Код будущего». Обучение бесплатное.

Программа «Программирование на С++» (144 ак.ч.) имеет техническую направленность, в её основу заложены принципы модульности и практической направленности, что обеспечит вариативность обучения. Содержание учебных модулей предполагает детальное изучение алгоритмизации, реализацию межпредметных связей, организацию проектной и исследовательской деятельности обучающихся.

Цель программы – формирование познавательной активности обучающихся в области функционального и объектно-ориентированного программирования, приобретение навыков работы c базовыми и сложными структурами языка в интегрированных средах разработки, получение навыков самостоятельного написания кода и разработки эффективных алгоритмов и программ.

Программа включает 4 модуля:

  • Введение в С++ (36 ак.ч.)
  • STL и объектно-ориентированное программирование (36 ак.ч.)
  • Проектирование приложений (36 ак.ч.)
  • Оконные и специализированные приложения (36 ак.ч.)

Форма обучения: очная / очная с применением дистанционных образовательных технологий.

2. Требования к уровню подготовки: отсутствуют.

Требования к статусу обучающегося: школьники 8-10 классов общеобразовательных организаций.

Требования к оборудованию для самостоятельной работы обучающихся: персональные компьютеры/ноутбуки, среда разработки программного обеспечения, доступ в Интернет.

Требования к программному обеспечению для самостоятельной работы: операционная система (желательно Windows); браузер: Yandex Browser, Chrome, Chrome Mobile, Firefox, Opera, Safari, Mobile Safari, Edge; среда разработки программного обеспечения: Microsoft Visual Studio, Code::blocks, CLion, Visual Studio Code.

Рекомендации для обучающихся: до начала обучения по программе необходимо установить оборудование и программное обеспечение; своевременно выполнять задания для самостоятельной работы, которые будут размещены на цифровой платформе МФТИ в соответствии с изучаемыми темами.

3. В процессе обучения будут сформированы следующие предметные знания и умения:

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

4. Программа носит практико-ориентированный характер. Все занятия включают как теоретический блок, так и практическую работу для формирования практических навыков в области программирования. Закрепление навыков происходит в процессе самостоятельной работы обучающихся, которые предусмотрены при изучении всех тем. Для практической работы будут использоваться дата сеты от индустриальных партнеров МФТИ.

Календарный учебный график

Введение в C++

  • Введение. Достоинства и недостатки языка C++. Установка среды разработки. Типы переменных и арифметические операции (4 ак. часа)
  • Логические и битовые операции. Разветвления хода выполнения программы (4 ак. часа)
  • Приведение типов. Указатели и ссылки. Оператор запятая. Приоритет операций. Ввод и вывод данных (4 ак. часа)
  • Подробно про библиотеки. Циклы, 3 формы, их сравнение. Точки останова по условия. Вложенные циклы (4 ак. часа)
  • Время жизни переменных. Глобальные переменные. Динамическое выделение памяти. Массивы. Многомерные массивы (4 ак. часа)
  • Вспомогательные программы программиста, репозиторий. Функции и процедуры. Способы передачи аргументов в функцию (4 ак. часа)
  • Пространство имён. Рекурсия. Графы (4 ак. часа)
  • Оптимизация рекурсия. Поиск ответа перебором. Использование подхода динамического программирования. Работа с файлами (4 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

STL и объектно-ориентированное программирование

  • Структуры, её поля и методы. Оперирование объектами. Разбиение проекта на объявление и реализацию (4 ак. часа)
  • Конструктор и деструктор. Константные методы. Композиция, декомпозиция и лист инициализации. Шаблонный тип данных. auto (4 ак. часа)
  • Перегрузка операторов. Функции, как параметры. std::vector, std::string, std::stack
  • std::list, итераторы, поэлементный обход. Собственная реализация (4 ак. часа)
  • Пары и кортежи. std::queue, std::deque. Сортировка. Компаратор (4 ак. часа)
  • Библиотека <algorithm>. Бинарный поиск. Перестановка. Передача неограниченного числа параметров (4 ак. часа)
  • Бинарное дерево. Бор. std::set, std::multiset, std::map, std::bitset (4 ак. часа)
  • std::priority_queue. Случайные значения. Простые числа. std::unordered_map. Хеширование (4 ак. часа)
  • Промежуточное тестирование (4 ак. часа)

Проектирование приложений

  • Модификатор доступа. Наследование. Виртуальные методы. Абстрактный класс. Ассоциация объектов (5 ак. часа)
  • Применения навыков ООП. Дружественные функции. Модульное тестирование (4 ак. часа)
  • Работа с файловой системой и внешними ресурсами. Безопасные указатели. Исключения (5 ак. часа)
  • Многопоточность и многопроцессорность. Гонка ресурсов (5 ак. часа)
  • Применение параллельных вычислений. Работа с ядрами видеокарты. Матричные операции над варпами, блоками и сетками (5 ак. часа)
  • Работа в команде, распределение обязанностей. Управление временем (4 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

Индивидуальный промежуточный курсовой проект (4 ак. часа)

Оконные и специализированные приложения

  • Разработка оконных приложений (5 ак. часа)
  • Продолжение работы с оконными приложениями. Разделение приоритетов, распределение ролей в команде и составление плана работ (6 ак. часа)
  • Специализированное приложение (5 ак. часа)
  • Разработка приложения с учётом специфики (6 ак. часа)
  • Командный промежуточный курсовой проект (2 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

Итоговый курсовой проект (8 ак. часов)

Программирование на Python

1. Дополнительная общеобразовательная программа «Программирование на Python» (144 ак. часа) от МФТИ разработана для школьников 8-11 классов в рамках проекта «Код будущего». Обучение бесплатное.

Программа «Программирование на Python» имеет техническую направленность, в её основу заложены принципы модульности и практической направленности, что обеспечит вариативность обучения. Содержание учебных модулей предполагает детальное изучение алгоритмизации, реализацию межпредметных связей, организацию проектной и исследовательской деятельности обучающихся.

Цель программы – формирование познавательной активности обучающихся в области функционального и объектно-ориентированного программирования, приобретение навыков работы c базовыми и сложными структурами языка в интегрированных средах разработки, получение навыков самостоятельного написания кода и разработки эффективных алгоритмов и программ.

Программа включает 4 модуля:

  • Базовые конструкции в Python (36 ак.ч.)
  • Знакомство с коллекциями (36 ак.ч.)
  • Решение прикладных задач (36 ак.ч.)
  • Разработка графического интерфейса (36 ак.ч.)

2. Требования к уровню подготовки: отсутствуют.

Требования к статусу обучающегося: школьники 8-10 классов общеобразовательных организаций.

Требования к оборудованию для самостоятельной работы обучающихся: персональные компьютеры/ноутбуки, Visual Studio, доступ в Интернет.

Требования к программному обеспечению для самостоятельной работы: операционная система (желательно Windows); браузеры: Yandex Browser, Chrome, Chrome Mobile, Firefox, Opera, Safari, Mobile Safari, Edge, Python; среда Wing IDE 101 (версии 6 или выше); среда PyCharm Community Edition.

Рекомендации для обучающихся: до начала обучения по программе необходимо установить оборудование и программное обеспечение; своевременно выполнять задания для самостоятельной работы, которые будут размещены на цифровой платформе МФТИ в соответствии с изучаемыми темами.

3. В процессе обучения будут сформированы следующие предметные знания и умения:

  • знание необходимой терминологии («информация», «алгоритм», «исполнитель», «модель»), смысла этих понятий и умение применять полученные знания на практике;
  • умение соблюдать сетевой этикет, другие базовые нормы информационной этики и права при работе с компьютерными программами и в сети Интернет;
  • умение выполнять созданные программы, осуществлять их разработку, тестирование и отладку, используя изученный язык программирования;
  • развитие умений составить и записать алгоритм для конкретного исполнителя; формирование знаний об алгоритмических конструкциях— линейной, условной и циклической, логических значениях и операциях;
  • навыки пошагового выполнения алгоритмов, умение осуществлять данные операции как вручную, так и с использованием компьютера;
  • умение определять результат выполнения алгоритма при заданных исходных данных;
  • знание основных понятий и этапов проектной деятельности.

4. Программа носит практико-ориентированный характер. Все занятия включают как теоретический блок, так и практическую работу для формирования практических навыков в области программирования. Закрепление навыков происходит в процессе самостоятельной работы обучающихся, которые предусмотрены при изучении всех тем. Для практической работы будут использоваться дата сеты от индустриальных партнеров МФТИ.

Календарный учебный график

Базовые конструкции в Python

  • Интерпретируемые и компилируемые языки. Отличительные особенности языка Python. Среды разработки. Исполнение кода и отладка (4 ак. часа)
  • Переменные. Типы данных. Основные операторы. Приоритет и ассоциативность операторов. Целочисленная арифметика. (6 ак. часа)
  • Конструкция ветвление. Условный оператор. Каскадный условный оператор. Вложенные условия. (4 ак. часа)
  • Контрольная работа (4 ак. часа)
  • Цикл while, for. Организация циклов. Вычисление суммы ряда. Получение таблицы значений функции. (6 ак. часа)
  • Организация разветвлений в цикле. Факторизация чисел. НОК. НОД. Алгоритм Евклида. Быстрое возведение в степень (8 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

Знакомство с коллекциями

  • Строки. Срезы. Методы строк.
  • Типовые алгоритмы обработки строковых данных (4 ак. часа)
  • Списки. Методы списков. Списочные выражения (6 ак. часа)
  • Факторизация чисел: решето Эратосфена, китайская теорема об остатках (4 ак. часа)
  • Алгоритмы сортировки (6 ак. часа)
  • Контрольная работа (4 ак. часа)
  • Функции. Области видимости переменных. Возвращение значений из функций. Кортежи (5 ак. часа)
  • Функции с переменным числом аргументов. Значения по умолчанию. Именованные аргументы (3 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

Решение прикладных задач

  • Лямбда функции. Сортировка с параметром key. (3 ак. часа)
  • Рекурсия. Быстрое возведение в степень. (3 ак. часа)
  • Словари и множества. Хэш-таблицы. Модуль Collections. (3 ак. часа)
  • Контрольная работа. (4 ак. часа)
  • Принципы устройства и механика создания модулей и пакетов (4 ак. часа)
  • Обработка исключений (4 ак. часа)
  • Работа с файлами и форматированный вывод (4 ак. часа)
  • Библиотека Telebot: cоздание бота для Telegram (8 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

Разработка графического интерфейса

  • Библиотека Tkinter: создание графического интерфейса (10 ак. часа)
  • ООП: инкапсуляция, наследование, полиморфизм (5 ак. часа)
  • Итераторы и генераторы (3 ак. часа)
  • Автоматизированное тестирование в Python (6 ак. часа)
  • Промежуточная аттестация (4 ак. часа)

Итоговая контрольная работа по курсу (8 ак. часов)




Скачать образовательные программы



Дополнительные общеобразовательные программы реализуются посредством сетевой формы реализации образовательных программ (в случае очной формы обучения без применения дистанционных технологий)

Региональная сеть

МОУ «Лицей № 1»

185014, Республика Карелия, Петрозаводск, Березовая аллея, 42 (р-н Древлянка)

ГБОУ города Москвы «Школа № 2006»

Москва, улица Грина, дом 18, корпус 3, строение 1

ГБОУ «Школа №2107»

129110, Москва, Большая Переяславская улица, дом 1, строение 1

Партнеры

Copyright © 2022 МФТИ
Задать вопрос