понеділок, 2 квітня 2018 р.

Тиждень 2. Лекція 5. Розгалуження мовою Python

Поглиблюємо свої знання з основ програмування мовою Python. І в цьому відео ми продемонструємо навіщо взагалі потрібні логічні вирази, а саме для створення розгалужень.

Ця ми будемо робити за допомогою логічних операторів: if, elif та else.

Для того, щоб представити умову у програмному коді Python, використовуються наступні оператори: ifelse та elif (Оператори else та elif - необов'язкові):
if логічний_вираз:
дії, які будуть виконуватися якщо логічний вираз буде мати значення True
elif логічний_вираз:
дії, які будуть виконуватися якщо попередній логічний вираз має значення False, а даний логічний вираз буде має значення True
. . .
else:
дії, які будуть виконуватися якщо всі логічні вирази будуть мати значення False


Сайт проекту "Програмування в школі": http://proginschool.inf.ua

неділя, 28 січня 2018 р.

Тиждень 2. Лекція 4. Логічний тип даних

В минулих лекціях ми вже згадувати найпростіші типи даних, а саме: цілі та дійсні числа, та рядок тексту. В даній лекції буде йти мова про ще один найпростіший тип даних - булевий. Цей тип даних має лише 2 значення True і False. Про все детальніше в відео-лекції:


Думаю, що ви не раз зустрічалися з поняттям логіки, зокрема математичної. Логіка – наука про умови. Без володіння логікою не можливо вирішити жодну задачу з математики, та й у повсякденному житті ми не раз користувалися різними видами логіки. Для програмістів математична логіка це така собі “зброя”, без якої жоден програміст не зміг би створити жодної програми.

Ще з молодших класів ви навчилися порівнювати між собою числа та вирази, а також перевіряти певні умови, звичайно ж за допомогою математичної логіки. Наприклад: твердження 2>1 є вірним, або істинним, а твердження 1>2 не є вірним, а отже хибне.

У всіх мовах програмування існує окремий тип даних для логічних виразів — логічний тип даних, або, як його ще називають, булевий.

Всі логічні вирази (порівняння даних) належать до булевого типу даних. Для порівняння даних застосовуються наступні знаки: '==', '>', '<', '!=', '<=', '>='.

Булевий тип даних вважають дуже примітивним, адже він має всього 2 значення: True (істина), або False (хиба). Залежно від того, чи виконується умова вираз може набувати або значення True, або False.

Як і ті типи даних, які ми вивчили раніше, булевий тип даних, можна перевести в цілі та дійсні числа або рядки тексту. Для цього потрібно застосувати вже вам відому функції int(), float(), str().

понеділок, 22 січня 2018 р.

неділя, 21 січня 2018 р.

Тиждень 2. Лекція 2. Змінні. Типи даних. Введення та виведення даних

Переходимо до безпосереднього програмування мовою Python. Поговоримо про змінні, їх типи даних та виведення і введення цих даних.



Статті на сайті проекту "Програмування в школі":
http://proginschool.inf.ua/lektsiya2.html
http://proginschool.inf.ua/lektsiya3.html

Тиждень 2. Лекція 1. Мова програмування Python

На цьому тижні ми вже переходимо до вивчення самої мови програмування Python, і перша лекція буде присвячена вступу в цю тему.


Сайт мови програмування Python:

Читайте лекцію до цієї теми на сайті "Програмування в школі":

пʼятниця, 12 січня 2018 р.

Тиждень 1. Лекція 3. Публікація та супроводження програми


Ми розглядаємо два варіанти поширення простих прикладних програм. Якщо ви вважаєте, що розробка даної програми є повністю завершеною, то можна створити власний блог або сайт програми. Наприклад, за допомогою безкоштовних сервісів http://blogspot.com або http://sites.google.com. Там ви можете розмістити посилання на сам файл, короткий опис програми, а також публікувати статті-інструкції для використання вашої програми. В етап супроводження буде входити, в цьому випадку, підтримка користувачів, можливо ви створите форум, групу в соціальних мережах, або щось подібне для того, щоб був зворотній зв’язок з вами.

Також можна опублікувати власну програму на спеціальні платформи як https://github.com/, для того, щоб до вашого проекту змогли долучитися інші програмісти з усього світу.

Як створювати блоги або сайти ваших проектів ми продемонструємо на наступних тижнях.

Корисні посилання для тих, хто бажає стати програмістом:

https://uk.wikipedia.org/wiki/Open_Source_Initiative
https://uk.wikipedia.org/wiki/GitHub
+ всі посилання вміщені в них

Тестування програмного забезпечення


Вже після створення вашої програми її потрібно правильно налаштувати та від тестувати, для того, щоб при роботі програми у користувача не виникало жодних проблем.

Тестування — техніка контролю якості, що перевіряє відповідність між реальною і очікуваною поведінкою програми завдяки кінцевому набору тестів, які обираються певним чином.

В даному випаду перевірка на те, чи призводить певна дія, алгоритм дій або данні, до очікуваного результату. Також, перевірка на те, які данні можуть виводити програму з ладу, або її частину.
Існує два методи тестування: тестування “білої скриньки”, тестування “чорної скриньки”.

Тестування “білої скриньки”

В цьому випадку відома внутрішня будова програми, тобто сам код. Таким методом досліджують внутрішні частини програми та зв’язки між ними. Код перевіряється на правильність та стабільність. Зазвичай цей метод застосовують саме програмісти та розробники програм, або тестувальники, які володіють новиками програмування.

Тестування “чорної скриньки”

В цьому випадку відомими є функції програми. А перевірятися таким методом буде робота кожної функції.

Тести “чорної скриньки” повинні демонструвати:

- Як виконуються функції програми;
- як приймаються вхідні данні;
- як виводяться результати;
- як зберігається цілісність зовнішньої інформації.

При такому методі тестування потрібно мати набір вхідних даних та очікуваних результатів, або набір дій з боку користувача які повинні призвести до певної події. При цьому зовсім не потрібно знати жодних мов програмування.

Програму можна вважати повністю справною, якщо при виконанні всіх тестів тестувальник отримав очікуваний результат.

Також, обов’язково потрібно перевірити програму на сумісність з платформою, на яку вона орієнтована, на швидкість виконання та на зручність виконання.

Приклади тестування програм ми продемонструємо на наступних тижнях.

Корисні посилання

+ всі посилання вміщені в них

четвер, 11 січня 2018 р.

Тиждень 1. Лекція 2. Побудова алгоритму




Після створення концепту проекту не можна одразу переходити до написання коду, тим більше, якщо ви — програміст, який тільки почав вивчати основи програмування. Спочатку потрібно скласти алгоритм вашої програми, або окремих частин, які відповідають за певні функції. Алгоритм — це певна послідовність дій. Алгоритм можна подавати різними способами, наприклад, словесно. Цим способом користуємося всі ми, без виключення. Наприклад, для того, щоб пояснити дорогу, або розказати про етапи виконання якогось процесі і т. п.

У випадку з комп’ютерними програмами краще за все використати інший спосіб, а саме побудувати блок-схему алгоритму дій.

Посилання на статтю про блок-схеми з завданнями: goo.gl/u9fdwh

Посилання на статтю про Blockly Demos Code: http://proginschool.blogspot.com/p/blockly-demos-code.html

Приклад побудови алгоритму в Blockly Demos Code: http://proginschool.blogspot.com/2017/07/blockly-demos-code_9.html

середа, 10 січня 2018 р.

Тиждень 1. Лекція 1. І де я?

Пропоную поговорити про те, як правильно сформулювати задачу вашої програми та створити невеликий концепт. Передивіться відео-лекцію та використайте наш набір запитань для того, щоб розробити гарний ІТ проект.


На мою думку - це найважливіший етап. Вам може здатися, що тут нема нічого складного, просто взяв і вигадав класну ідею програми, а вже потім почнеться справжнє пекло. Не буду брехати, далі буде справжнє пекло, якщо ви пропустите цей етап, або не виділите йому потрібної кількості уваги.

Ідей багато, але яка з них дійсна варта уваги та витраченого часу? Наприклад, у мене з'явилася ідея створити програму, яка буде рахувати суму n-ї кількості цифр. Можна сказати, що це цікава ідея, адже подібну дію в повсякденному житті ми виконуємо часто, але чи буде зручно постійно запускати цю програму, аби це вирахувати? Якщо мені потрібно порахувати середнє арифметичне чотирьох чисел: 10, 9, 7, 3, я можу з легкістю зробити це усно. До речі, відповідь - 7.25.

Ми зрозуміли, що створювати таку програму для 4 чисел безглуздо, а що як чисел буде 50. Тут потрібно відштовхуватися від задачі, для якої потрібно рахувати середнє арифметичне. Наприклад, учитель визначається з семестровою оцінкою певного учня. Здавалося б, для такої задачі є повністю доцільним розробляти таку програму, адже усно порахувати середнє арифметичне 50-ти чисел досить важко, навіть досвідченому вчителю математики, але з цього постає нове запитання: "Де цей вчитель зберігає оцінки своїх учнів?". Нехай оцінки знаходяться на паперовому носії, наприклад, класному журналі, а вчитель не завжди має комп'ютер в своєму кабінеті, або в учительській, то створювати таку програму, я вважаю,
буде не доцільно. А ось, наприклад, якщо вчитель тримає оцінки в електронній таблиці MS Excel то створювати таку програму більше ніж не доцільно, а й безглуздо!

А от якщо розробити невеликий електронний журнал для вчителів загальноосвітньої школи, в якому буде функція підрахунку тематичних та семестрових оцінок, то в такому випадку весь витрачений час та зусилля, на мою думку, будуть витрачені на дарма. Та у вас може виникнути запитання: "Як я дійшов до такого висновку?". Все, що потрібно аби визначити, чи доцільно створювати те програмне рішення, яке ви плануєте створити, потрібно сформулювати саму ідею та відповісти на декілька запитань:

1. В чому полягає суть проблеми, яку буде вирішувати ваша програма?
2. В чому полягає актуальність цієї проблеми? Чи актуальна вона на даний момент і чи буде актуальна в подальші роки?
3. Чи проблему можна вирішити без використання комп'ютерних програм?
4. Яка цільова аудиторія цієї програми? Хто буде її використовувати?
5. До якої категорії прикладного ПЗ відноситься ваша програма?
6. На яку платформу буде орієнтована ваша програма? (операційна система, тип ПК і т. п.)
7. Які основні функції буде виконувати програма?
8. Чи існують аналоги вашої програми? Чим ваша програма відрізняється від них?

Після відповіді на всі запитання, ви зможете сформувати концепт (короткий опис) вашого проекту та зрозуміти чи взагалі доцільно створювати таке програмне рішення.

Посилання на матеріал: https://goo.gl/LSrC2B

Корисні посилання для тих, хто бажає стати програмістом:

+ всі посилання вміщені в ньому

Фільми про ІТ, які надихають

"Джобс" (2015)
"Кадри" (2013)
"Пірати Силіконової Долини" (1999)
"Джобс: Імперія спокуси" (2013)
"Революційна ОС" (2001)

вівторок, 9 січня 2018 р.

Тиждень 1. Вступ. Етапи розробки програмного забезпечення


Основні етапи:

1. Чітка постановка задачі (розробка концепту проекта)
2. Побудова алгоритму (всієї програми, або окремих її частин)
3. Кодування
4. Налаштування та тестування
5. Публікація та поширення результату
6. Супроводження програми (підтримка, оновлення і т. п.)

Тиждень 2. Лекція 5. Розгалуження мовою Python

Поглиблюємо свої знання з основ програмування мовою Python. І в цьому відео ми продемонструємо навіщо взагалі потрібні логічні вирази, а са...