Програмування на Python
Section outline
-
Цей курс призначено для ознайомлення з програмуванням мовою Python. На відміну від більшості підручників з програмування, в цьому курсі переважно розглядаються задачі практичного характеру, доступні для розв'язання учнями 8-9 класів.
Курс продовжується низкою проєктів з використанням графічного інтерфейсу користувача, а також охоплює теми використання структур даних та теорії алгоритмів (графів). Таким чином цей курс відповідає чинній програмі профільного вивчення програмування і може використовуватись у старших класах інформаційно-технологічного профілю.
-
Основні поняття алгоритмізації
Зміст навчального матеріалу теми:
алгоритм та основні поняття алгоритмізації; властивості алгоритмів; способи представлення алгоритмів; базові алгоритмічні структури; типи алгоритмів; виконавець та система команд виконавця; формальне виконання алгоритму; аргументи, результати, проміжні величини
Моделі
Зміст навчального матеріалу теми:
поняття моделі та моделювання; класифікація моделей; інформаційна модель; етапи розв'язування задач на комп'ютері
Мови програмування
Зміст навчального матеріалу теми:
мова програмування як один із способів представлення алгоритму; класифікація мов програмування; середовище програмування та його основні елементи (робота у режимі консольного додатку); елементи мови програмування; структура програми;
створення власної бібліотеки навчальних завдань
-
Зміст навчального матеріалу теми:
поняття змінної; ім'я та тип змінної; опис стандартних типів змінних; арифметичні операції; правила запису арифметичних виразів; стандартні функції; команда присвоювання; оператор присвоювання; команди введення та виведення інформації; процедури введення та виведення інформації; використання текстових файлів для введення та виведення інформації;
поповнення власної бібліотеки навчальних завдань
-
Зміст навчального матеріалу теми:
логічні вирази та логічні операції; таблиці iстиностi; команда розгалуження; умовний оператор мовою програмування; команда вибору; оператор вибору; вкладені розгалуження;
поповнення власної бібліотеки навчальних завдань
-
Зміст навчального матеріалу теми:
команда повторення; оператори циклу; поєднання повторення і розгалуження; рекурентні послідовності; вкладені цикли; можливості середовища програмування для роботи з циклічними програмами;
поповнення власної бібліотеки навчальних завдань
Цикли бувають двох типів: з параметром та з умовою. Перший тип передбачає вказання кількості повторів виконання блоку команд, тоді як умовний цикл виконуватиметься деяку кількість разів, що залежить від здійснення вказаної умови. Використання циклу передбачає 3 етапи:
1) Визначити та вказати початкові значення змінних
2) Вказати кількість повторень або сформулювати умову для циклу
3) Задати команди для виконання всередині циклу
Доречне використання циклів робить програмний код лаконічним та ефективним.
-
Зміст навчального матеріалу теми:
зчислені та інтервальні типи; власні типи користувача; записи; множини; покажчики; використання динамічної пам'яті;
поповнення власної бібліотеки навчальних завдань
-
Зміст навчального матеріалу теми:
оголошення типів; прості та структуровані типи; табличні величини; одновимірні та двовимірні масиви; символьні та рядкові величини; класичні алгоритми для роботи з масивами та рядками;
поповнення власної бібліотеки навчальних завдань
-
Допоміжні алгоритми
Зміст навчального матеріалу теми:
локальні та глобальні змінні; допоміжні алгоритми; формальні та фактичні параметри; використання масивів як формальних параметрів; рекурсивні алгоритми;
поповнення власної бібліотеки навчальних завдань
Додаткові типи змінних
Зміст навчального матеріалу теми:
зчислені та інтервальні типи; власні типи користувача; записи; множини; покажчики; використання динамічної пам'яті;
поповнення власної бібліотеки навчальних завдань
-
Зміст навчального матеріалу теми:
визначення груп виконавців проєкту; визначення теми спільного проєкту і розбиття його на окремі незалежні та взаємопов'язані частини (модулі); поетапна реалізація та налагодження модулів проєкту; об'єднання окремих частин (модулів) проєкту в єдине ціле; розробка інтерфейсної частини проєкту; робота з літературою; оформлення документації: опис алгоритму (алгоритмів), необхідних технічних вимог щодо використання розробленого проєкту; інструкція для користувача, перелік використаної літератури; підготовка виступів, демонстраційної версії проєкту, тестів для демонстрації проєкту; захист розробленого проєкту;
поповнення власної бібліотеки навчальних завдань
-
Зміст навчального матеріалу теми:
визначення груп виконавців проєкту; визначення теми спільного проєкту і розбиття його на окремі незалежні та взаємопов'язані частини (модулі); поетапна реалізація та налагодження модулів проєкту; об'єднання окремих частин (модулів) проєкту в єдине ціле; розробка інтерфейсної частини проєкту; робота з літературою; оформлення документації: опис алгоритму (алгоритмів), необхідних технічних вимог щодо використання розробленого проєкту; інструкція для користувача, перелік використаної літератури; підготовка виступів, демонстраційної версії проєкту, тестів для демонстрації проєкту; захист розробленого проєкту;
поповнення власної бібліотеки навчальних завдань
-
Структури даних
Зміст навчального матеріалу теми
поняття структур даних; проста змінна; масив; стек; черга
Основи теорії графів
Зміст навчального матеріалу теми:
Основні поняття теорії графів; способи представлення графів; пошук у ширину та глибину; визначення найкоротшого шляху в графі, алгоритм Дейкстри, алгоритм Флойда-Уоршелла
-
Зміст навчального матеріалу теми:
Об'єкти та класи у програмуванні; атрибути та методи класів; зв'язки між класами та об'єктами: успадкування класів, асоціація і такі її різновиди, як агрегація, композиція, залежність; множинність полюсів асоціацій; проєктування діаграм класів мовою UML; проєктування об'єктно-орієнтованої архітектури об'єктно-орієнтованою мовою програмування.
Проєктування програмної логіки за допомогою діаграм діяльності мови UML; проєктування об'єктної взаємодії за допомогою діаграм послідовностей мови UML; створення простих об'єктно-орієнтованих програм на основі візуального моделювання.
-
Дизайн графічного інтерфейсу користувача (для старших версій Python)
-