Програмування
Програма занять з програмування протягом 4 років проведе вас шляхом від вступу до програмування в інтерактивному середовищі та першого знайомства з мовою С++ та базовими алгоритмами до складних структур даних, алгоритмів та концепцій, які розвивають алгоритмічне й логічне мислення та закладають базу для подальшого вивчення комп'ютерних наук.
Для кого ці заняття
Курс підійде школярам, які прагнуть опанувати базові аспекти програмування, розвинути алгоритмічне мислення для повсякденного життя та зробити перші або впевненіші кроки в олімпіадному програмуванні.
Починати можна з нуля: перша група не вимагає жодного досвіду програмування, лише базову шкільну математику й уміння користуватися комп'ютером.
Групу ви обираєте за реальними навичками
У кожної групи — свій список необхідних навичок, і мова програмування, якою ви їх здобули, значення не має. Подивіться на «Очікувані знання» кожної групи й оберіть ту, що відповідає вашій підготовці.
Важливо також працювати за межами занять. У програмуванні вміє той, хто пише код сам, а не той, хто дивиться, як пишуть інші.
Наші групи
Кожна група — це один навчальний рік. Групи вибудувані послідовно, від Електроніків до Термінаторів, і кожна наступна спирається на навички попередньої. Саме за розділом «Очікувані знання» ви обираєте самостійно групу. Якщо група не підійде пізніше буде можливість змінити її.
Електроніки
1 рік навчання- Математична база на рівні 4-5 класу
- Базове вміння користуватися комп'ютером
- Уміння створювати файли та папки — буде плюсом
Занурення в основи програмування через малювання картинок кодом, анімації та прості ігри — власною навчальною мовою програмування, розробленою спеціально під цю групу. Змінні, цикли, масиви й перші функції: не запам'ятовування термінів, а інструменти для розв'язання своїх маленьких задач.
- Змінні
- Цикли
- Умовні та логічні оператори
- Масиви (одно- та двовимірні)
- Функції та процедури
- Анімації, події та прості ігри
Дроїди
1 рік навчання- Уміння працювати зі змінними та масивами
- Розуміння поняття функції (процедури) та вміння застосувати її для розв'язання найпростішої задачі
- Мова програмування, якою здобуті ці навички, значення не має
На здобутих в Електроніках навичках група переходить на C++ і починає освоювати базу олімпіадного програмування: розв'язувати задачі, здавати рішення на перевірку та вивчати перші алгоритми — від сортування й бінарного пошуку до перших задач на графах.
- C++ та основи мови
- Асимптотична складність алгоритмів
- Бінарний пошук
- Сортування та рекурсія
- STL
- Графи: перші кроки (DFS, BFS)
Кіборги
1 рік навчання- Впевнене володіння базовими конструкціями програмування: змінні, масиви, цикли, умови, функції
- Знання основ STL
- Розуміння основ алгоритмів: бінарний пошук, сортування, рекурсія, прості задачі на масиви
- Бажано: знайомство з динамічним програмуванням, префіксними сумами, методом двох вказівників та базовими алгоритмами на графах
Поглиблений рівень алгоритмів і структур даних: просунуте динамічне програмування, алгоритми на графах, комбінаторика й теорія чисел, а також структури даних на кшталт дерева відрізків і DSU.
- Динамічне програмування
- Графи: DFS, BFS, найкоротші шляхи
- Дерево відрізків та DSU
- Комбінаторика
- Теорія ігор
- База Дроїдів
Термінатори
1 рік навчання- Впевнене володіння всіма темами програми Кіборгів: STL, сортування та пошук, рекурсія, динамічне програмування
- Базові структури даних: DSU, sparse table, дерево відрізків
- Досвід роботи з графами: DFS, BFS, найкоротші шляхи
Найвищий рівень нашої програми — складніші алгоритми та структури даних олімпіадного рівня: просунуті методи пошуку, алгоритми та структури для роботи з деревами, поглиблене динамічне програмування, а також задачі підвищеної складності з комбінаторики, геометрії та алгоритмів на рядках.
- Складніші алгоритми на графах (алгоритм Дейкстри, LCA)
- Просунуті техніки на деревах (HLD, центроїдна декомпозиція)
- Дерево відрізків та дерево Фенвіка
- Складніші техніки динамічного програмування
- Коренева декомпозиція: алгоритм Мо
- База Кіборгів
Готові спробувати?
Приєднуйтесь — і зробіть свій перший крок у програмуванні разом з нами. Найпрацьовитіші учні навчаються у нас зовсім безкоштовно.
Підтримати проект