Если хочешь научиться программировать — программируй!
Цели и задачи
Целью деятельности кружка является формирование алгоритмического и абстрактного мышления обучающихся, развитие умения самостоятельно составлять алгоритмы и реализовывать их в системах программирования и проектирования. Для достижения поставленной цели решаются следующие задачи:
- изучение основ алгоритмизации и программирования на языках C++ и Python;
- обучение навыкам работы в системах программирования Eclipse, Code::Blocks, QtCreator, IDLE Python;
- проведение анализа эффективности найденных решений;
- знакомство с классическими алгоритмами и их реализацией на C++ или Python;
- обсуждение и разбор олимпиадных задач;
- подготовка и участие в командных или индивидуальных олимпиадах по программированию
Почему мы учимся программировать на С++ ?
- Около двух десятилетий C++ находится в тройке лидеров среди компилируемых языков программирования. Поэтому широкая востребованность специалистов С/С++ будет сохраняться еще долгое время
- Синтаксис С/С++ является основой для многих современных и не менее популярных языков программирования, таких как Java, PHP, C#, Perl, Rust, D
- Это компилируемый язык со статической типизацией на котором можно создавать программы любого уровня сложности.
- С++ обладает богатой и мощной стандартной библиотекой включающей классы поддержки контейнеров, алгоритмов, строки, ввода/вывода, математики, локализации и многое другое
- Доступность. Для С++ существует множество реализаций языка , как бесплатных (GCC), так и коммерческих (Visual C++) и для различных платформ
- С++ активно развивающийся язык и по сей день! В декабре 2020 году принят новый стандарт языка.
- В С++ поддерживает множество парадигм программирования, в том числе, ООП (объектно-ориентированное). Но это не означает, что при разработке программист ограничен только одним подходом. В процессе реализации он может использовать различные стили программирования, таким образом, разработка программы превращается в творческий процесс.
- C++ это огромная страна! Не верите? Посмотрите на карту!
Расписание занятий
- Два раза в неделю (вторник, четверг)
Вопросы
- Где можно записаться?
- Учащиеся каких классов могут посещать кружок?
- Я могу принести свой ноутбук?
МБОУ Гимназия №14 им. Ю. А. Гагарина, каб. 207. т. +79604843324, E-mail: sakhastro@mail.ru
Зависит от уровня подготовки по предметам и владения компьютером. Ориентировочно, 7-8 (первый год обучения)
Вы можете использовать при работе своё аппаратное обеспечение. Программное обеспечение должно соответствовать версиям используемого ПО в кабинете информатики. Рекомендуется установить на персональный ноутбук операционную систему Fedora Linux. Среда программирования Code::Blocks.
Методические материалы
Олимпиадная информатика
- Разминка перед олимпиадой (материалы, задания, разбор)
- Индивидуальная олимпиада школьников по информатике и программированию
- Интернет-олимпиады по информатике
- Открытая олимпиада по программированию
- Всесибирская открытая олимпиада школьников
- Олимпиада школьников «Высшая проба» по информатике
- Олимпиада Университета Иннополис
- Олимпиада школьников Санкт-Петербургского государственного университета
- Олимпиада школьников «Ломоносов»
Библиография для подготовки к олимпиадам
- MAXimal (145 алгоритмов на C++, электронная библиотека)
- Андреева Е.В., Егоров Ю.Е. Вычислительная геометрия на плоскости. //Информатика №39–44/2002
- Дасгупта С. и др. Алгоритмы / С. Дасгупта, Х. Пападимитриу, У. Вазирани. М.: МЦНМО, 2014.
- Долинский М. С. Решение сложных и олимпиадных задач по программированию:Учебное пособие. — СПб.: Питер, 2006
- Информатика. 9-11 классы: олимпиадные задачи с решениями и подробным анализом / авт.-сост. А. Ф. Чернов: Волгоград: Учитель, 2007
- Клейнберг Дж., Тардос Е. Алгоритмы: разработка и применение. Классика Computers Science / Пер. с англ. Е. Матвеева. — СПб.: Питер, 2016
- Окулов С. М. Динамическое программирование / С. М. Окулов, О. А. Пестов. М.: БИНОМ. Лаборатория знаний, 2012
- Окулов С. М. Программирование в алгоритмах. 4-е изд.. М.: БИНОМ. Лаборатория знаний, 2013
- Олимпиадные задания по информатике. 9-11 классы / авт.-сост. Э. С. Ларина. – Волгоград: Учитель, 2007
- Подготовка школьников к олимпиадам по информатике с использованием веб-сайта: учебно-методическое пособие для учащихся 7-11 классов. / А.В. Алексеев, С.Н. Беляев. – Ханты-Мансийск: РИО ИРО, 2008
- Порублев И. Ню, Ставровский А. Б. Алгоритмы и программы. Решение олимпиадных задач – М.: ООО “И.Д.Вильямс”, 2007
- Роберт Седжвик. Алгоритмы на C++. Фундаментальные алгоритмы и структуры данных. — М.: «Вильямс», 2011. (ООП подход)
- Середа А. Н. Дистанционные занятия по информатике
- Скиена С. Алгоритмы. Руководство по разработке. СПб.: БХВ-Петербург, 2011
- Скиена С. С, Ревилла М. А.Олимпиадные задачи по программированию. Руководство по подготовке к соревнованиям/Пер. с англ. – М: КУДИЦ-ОБРАЗ, 2005
- Хайнеман Д., Поллис Г., Селков С. Алгоритмы. Справочник с примерами на C, C++, Java и Python. СпБ.: ООО “Альфа-книга”, 2017.
- ТОП-15 алгоритмических задач, реализованных на C++
Рекомендуемая литература по программированию на C++
- Бьерн Страуструп. Язык программирования C++. Специальное издание. Пер. с англ. — Изд. Бином, 2011 г.
- Дейтел Харви, Дейтел Пол. Как программировать на С++. Изд.: Бином-Пресс, 2008
- Джосаттис Н.М. Стандартная библиотека C++. Справочное руководство. Вильямс, 2014
- Дьюхерст С. C++. Священные знания. – Пер. с англ. – СПб.: Символ-Плюс, 2012.
- Лаптев В. В. C++. Объектно-ориентированное программирование — СПб.: Питер, 2008.
- Липпман Б. Стенли, Жози Лажойе, Барбара Э. Му. Язык программирования С++. Базовый курс. Изд. 5-е. М: ООО “И. Д. Вильямс”, 2014
- Прата, Стивен. Язык программирования C++. Лекции и упражнения, 6-е изд.: Пер. с англ. — М.: ООО “И.Д. Вильяме”, 2012
- Сиддхартха Рао. Освой самостоятельно C++ за 21 день, 7-е изд. Вильямс, 2013
- Столяров А. В. Введение в язык С++: 3-е изд. – М.: МАКС Пресс, 2012.
- Эффективное использование C++. Третье изд. 55 верных советов улучшить структуру и код ваших программ. М.: ДМК Пресс, 2006.