понеділок, 7 листопада 2016 р.

Алгорити та програми

Основи алгоритмізації та програмування
на шкільних уроках інформатики.
Одна з найскладніших наук, яку вивчають діти, – це програмування у школі. Здавалося б, що складного в тому, щоб навчитися видавати послідовність дій, які комп’ютер б перетворив на програму? Адже програмування, по суті, те саме що й переклад. Схоже на те, як ми перекладаємо тексти, наприклад, з української на німецьку, програміст перекладає послідовність дій у програму на одній з мов програмування. Що в цій схемі складного? Як не дивно, та сама магічна «послідовність дій», що називається алгоритмом.

Алгоритм – це набір логічно пов’язаних, часто послідовних, дій, що приводить до заданого результату. Щоб програмувати, необхідно знати і розуміти логіку і логічне мислення. У звичайному житті ми керуємося правилами. Програма – це жорсткий набір дій (за винятком декларативних мов, але вони – тема окремої розмови). Щоб пояснити машині, що людина від неї очікує, потрібно багато команд. У такому простому алгоритмі, який наш мозок ніяк не хоче розглядати, як складний, використовуються і умови, і цикли, і розгалуження, і масиви, і предикати.
 Головна проблема шкільного навчання програмуванню – відсутність системного підходу в цьому питанні. Біда в тому , що в школі вчать не вирішенню проблем за допомогою програмування, не розробці програм, а лише мові програмування як такої. Шкільні уроки інформатики зводяться здебільшого до вивчення конструкцій мови і виконання будь-яких завдань на ці конструкції, але не вчать набагато більш важливому вмінню – застосовувати їх для вирішення виникаючих практичних завдань. Ті з учнів, хто має талант до програмування, вчаться цьому самостійно, решта отримують уявлення про програмування як про нудний урок.
Боротися з цим явищем можна і треба. Діти повинні відразу, з першого уроку бачити перед собою правильні, гарні цілі і правильні, хороші приклади. Якщо не звернути уваги на якісь речі (наприклад, форматування коду) , пустити їх за течією, діти зроблять це так, як «зрозуміють» самі. Тому на першому ж занятті діти повинні дізнаватися, як правильно користуватися пробілами і відступами, і чому важливі порожні рядки, що розбивають програму на логічні фрагменти. З перших же занять вводиться поняття якості імен, і від дітей потрібно використовувати зрозумілі імена для змінних і функцій. Потрібно навчати програмування, а не мові. Всі поняття, що даються дітям, виводяться як інструмент вирішення проблеми. Навіть не зовсім так: спочатку формулюється проблема, дається можливість її «помацати», спробувати вирішити наявними засобами (в якості домашнього завдання або разом з учителем у класі).
Хочу поділитися з вами власним досвідом роботи з учнями під час вивчення теми «Алгоритмізація та програмування».
Я працюю у школі вчителем фізики та інформатики уже 15-й рік. З власного досвіду скажу, що тема «Програмування» для учнів є справді складною темою. Не всі учні розуміють навіщо їм це треба знати, більшість не розуміють сам процес і структуру створення програм, а тим паче алгоритмів. Учні є звичайними користувачами комп’ютера і не задумуються над тим, хто і як створив ті програмні засоби, якими вони й користуються. Мало хто взагалі збирається стати програмістом і дану професію обирають одиниці. А навчити нам треба усіх учнів, які вивчають інформатику. У мене цього року є два профільних класи Інформаційно-технологічного профілю — 11-Б та 11-В класи. В кожному класі по 5 годин інформатики на тиждень та 1 година факультативу. (В 10-х класах у нас було 5 год інформатики та 2 год факультативних). Одразу ж скажу, що в обох класах працювати приходиться по-різному. Програма одна, але сприйняття учнів абсолютно різне. І, виходячи із раніше сказаного, з двох профільних класів, в яких навчається 50 учнів лише троє планують пов’язати своє майбутнє з програмуванням.
Починаючи з 10-го класу, коли тільки розпочиналося знайомство з темою «Алгоритмізація та програмування», я зіткнулася з величезною проблемою нерозуміння матеріалу, а як наслідок — небажання вчити інформатику. Багато учнів взагалі вважають, що інформатика це такий урок, на якому можна пограти в комп’ютерні ігри  або поспілкуватися з друзями в соціальних мережах через Інтернет. А тут виявляється, що це щось набагато складніше, ніж вони собі уявляли, перш ніж обрати профільний 10-й клас.
Коли вивчаються теми з ІКТ напрямку, то тут учні працюють із задоволенням та ентузіазмом. Тому я для себе вирішила, що вводити програмування треба лише з практичної точки зору, яку учні дуже добре розуміють і правильно розставляють для себе пріоритети, перш ніж давати завдання учням, я наводжу по кілька прикладів використання даних програм на практиці, говорю про ті професії, яким вони необхідні (не лише програмістам), наприклад:
·     бухгалтерія (використовують не лише електронні таблиці Excel зі стандартними формулами, й програма 1С);
·     торгівля (обов’язкове використання Бази Даних товарів, для контролю їх продажу, прибутків)
·     банківська справа (розрахунок прибутків, видатків, нарахування відсотків і т.д.)
·     архітектори, конструктори, дизайнери (створення макетів майбутніх об’єктів)
Після таких аргументів учні працюють набагато плідніше, тому що кожен з них приміряє на себе ту чи іншу професію.
Крім того, я почала практикувати проектну діяльність на уроках інформатики. Проектна діяльність відкриває великі можливості. Вона спрямована на духовне й професійне становлення особистості дитини через організацію активних способів дій. Учень, працюючи над проектом, проходить стадії планування, аналізу, синтезу, активної діяльності. При організації проектної діяльності можлива не тільки індивідуальна, самостійна, але й групова робота учнів. Це дозволяє здобувати комунікативні навички й уміння. Постановка завдань, розв’язок проблем підвищує мотивацію до проектної діяльності й припускає: цілепокладання, предметність, ініціативність, оригінальність у рішенні пізнавальних питань, неординарність підходів, інтенсивність розумової праці, дослідницький досвід.
Проект – це задум, план, прообраз передбачуваного або можливого об’єкта; сукупність документів і розрахунків, необхідних для його створення.
Діяльність за проектом допомагає учню включитися в активну соціальну дію, подолати суб’єкт – об’єктну педагогічну парадигму. Проект – це результативна дія.
Життя потребує від нас, щоб кожне нове завдання, яке ми даємо нашим учням, було б до якогось ступеня новим і для нас. Звернене до нас, воно повинне бути завданням на вдосконалення навчального процесу, на розвиток нашої здатності вирішувати нові педагогічні проблеми й переносити знайдені принципи рішення на інші об’єктні області й проблемні ситуації.
Проектний підхід в значній мірі задовольняє ці вимоги. Він може застосовуватись при вивченні будь-якої шкільної дисципліни та особливо ефективний на уроках, метою яких є встановлення міжпредметних зв’язків.     
         Дуже хороший результат дає робота над проектом у парі: вчитель інформатики – вчитель-предметник. Учні виконують проект з будь-якого предмету, використовуючи комп’ютерні технології. Тематика у різних ситуаціях може бути різною. В одному випадку тему проекту пропонує вчитель-предметник з розрахунком навчальної ситуації на своєму уроці. В другому – пропонується самими учнями, які орієнтуються на власні інтереси.
Різновидом методу проектів є метод телекомунікаційних проектів. Під навчальним телекомунікаційним проектом ми розуміємо спільну учбово-пізнавальну, творчу або ігрову діяльність учнів-партнерів, організовану на основі комп'ютерної телекомунікації, що має загальну мету, погоджені методи, способи діяльності, направлену на досягнення загального результату діяльності. Специфіка телекомунікаційних проектів, насамперед, у тім, що вони по самій своїй суті завжди міжпредметні.
Ми протягом теми створюємо цілі проектні роботи. Наприклад за темою «Комп’ютерна графіка» ми з учнями створили у програмі Sketch Up проект будівлі (кожен учень мав своє завдання), а потім мовою програмування Pascal ABC написали програму, яка в кольорі відображає фасад даної будівлі(додаток 8)
В іншій темі ми поєднали фізичний процес, що демонструвався у слайдовій презентації та програму, яка відтворює цей процес мовою програмування. 
Аналогічно працюємо і з завданнями розрахункового характеру. Виконуючи різні завдання, об’єднуємо їх з уроками математики. Наприклад, побудувати піраміду та обчислити площу її бічної поверхні та об’єм; чи визначення послідовності чисел Фібоначчі.
Після такої роботи я помітила, що мої учні стали набагато серйозніше ставитися до програмування та до вивчення інформатики в цілому. Так, наприклад, якщо минулого року на районній олімпіаді з інформатики (програмування) ми не отримали жодного призового місця, то уже через рік ми маємо І місце та ІV місце на районному етапі.

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

Немає коментарів:

Дописати коментар