НАВЧАННЯ ФУНДАМЕНТАЛЬНИМ АЛГОРИТМАМ МАЙБУТНІХ ВЧИТЕЛІВ ІНФОРМАТИКИ Т.Л. Атаман м. Одеса, Південноукраїнський державний педагогічний університет імені К.Д. Ушинського tasiyadiy_tanya@mail.ru Анотація: В статті розглядається одна із актуальних проблем викладання методики інформатики підготовка майбутніх вчителів інформатики до навчання фундаментальним алгоритмам. На основі теоретичного дослідження сформована структура методичної системи навчання основам алгоритмізації та програмування. В статті наводяться результати проведеного пілотажного дослідження. Актуальність. Дослідження особливостей навчання фундаментальним алгоритмам майбутніх вчителів інформатики обумовлено необхідністю підвищення результативності профільного навчання в умовах скорочення часу на вивчення інформатики, як науки. До скорочення часу на вивчення алгоритмізації та програмування в шкільному курсі інформатики та при підготовці майбутніх вчителів інформатики у вищому педагогічному навчальному закладі призводить розвиток інформаційних технологій і необхідність навчання учнів та студентів використовувати ці технології. Таким чином, говорячи про шкільну освіту, перевага технологічного компонента у навчанні інформатики, з одного боку, та вимоги до реалізації професійноорієнтованого навчання за універсальним та фізико-математичним профілями [2], з іншого боку, призводить до протиріччя. Зміна акцентів при викладанні інформатики в загальноосвітній школі відображається на системі підготовки студентів вищих педагогічних навчальних закладів, майбутніх вчителів інформатики. Так, на сьогодні методиці викладання основ алгоритмізації, зокрема базових алгоритмів, приділяється все менше уваги. З 2005 року на кафедрі прикладної математики та інформатики Південноукраїнського державного педагогічного університету ім. К.Д. Ушинського в межах дослідження за темою Електронна підтримка реалізації науково-методичних компонентів системи підготовки студентів педагогічних ВНЗ в галузі інформатики виконується розробка електронної підтримки навчання основам алгоритмізації та програмування в загальноосвітній школі та у вищому педагогічному навчальному закладі. Метою дослідження є підвищення рівня наукової та методичної підготовки майбутніх вчителів інформатики в галузі алгоритмізації та програмування. Об єктом даного етапу дослідження є методична система формування компетенцій майбутніх вчителів інформатики в галузі алгоритмізації та методики викладання основ алгоритмізації в загальноосвітній школі.
Предметом є підготовка майбутніх вчителів інформатики до інтенсифікації навчання основами алгоритмізації в загальноосвітній школі. В статті розглядається рішення наступних задач дослідження: 1. Зробити аналітичний огляд літератури з питань викладання алгоритмізації та програмування в навчальних закладах України. 2. Сформулювати гіпотезу щодо можливостей вдосконалення підготовки в галузі алгоритмізації та програмування в загальноосвітній школі та вищому педагогічному навчальному закладі. 3. Визначити структуру змістовного компоненту методичної системи навчання основам алгоритмізації та програмування в загальноосвітній школі та в вищому педагогічному навчальному закладі. 4. Розробити методичні матеріали та сформувати план пілотажного дослідження з перевірки висунутої гіпотези. 5. Проаналізувати результати першого етапу пілотажного дослідження. Аналітичний огляд літератури та інформаційних джерел глобальної мережі Internet довів наступне: - при навчанні основам алгоритмізації та програмування акцент робиться на вивченні синтаксису мови програмування [2], [4], [7]; - при викладанні розділу Програмування обрання мови програмування в загальноосвітній школі є вільним [4] і залежить від вчителя інформатики, його кваліфікації та потужності апаратного забезпечення комп ютерного класу; - автори шкільних програм курсу інформатики М.І. Жалдак, Н.В. Морзе, О.І. Мостіпан [4], В.Ю. Биков, В.Д. Руденко [2] включають в програму знання та вміння, що пов язані з розробкою інформаційної моделі та алгоритмів рішення задач. Проте більшість авторів навчальних посібників та підручників при розкритті змісту розділу Основи алгоритмізації та програмування для школярів роблять акценти на прийомах обчислень, відпрацюванні завдань на реалізацію базових алгоритмічних структур (слідування, розгалуження та цикли), і не розглядають класичні алгоритми, які є основою при створенні програмного коду шкільних задач програмування. Спираючись на шкільну програму для профільного навчання, що рекомендована Міністерством освіти [4], зміст навчання основам алгоритмізації та програмування повинен включати наступні питання: поняття інформаційної моделі задачі; основні етапи комп ютерного моделювання; поняття алгоритму, властивості алгоритму; способи та форми подання алгоритму; базові структури алгоритмів та їх властивості; порядок складання алгоритмів; сутність методу послідовного уточнення алгоритму; структуру опису алгоритму навчальною алгоритмічною мовою та мовою програмування; поняття величини; основні типи величин; правила опису величин навчальною алгоритмічною мовою та мовою програмування; правила опису вказівок про надання значень; поняття фактичних і
формальних параметрів; правила опису вказівок повторення (циклів); правила опису вказівок розгалуження. При моделюванні електронної підтримки лабораторно-практичних робіт враховується необхідність сформувати у учнів вміння: будувати інформаційну модель задачі; аналізувати алгоритм розв язання задачі; будувати графічні схеми найпростіших алгоритмів; описувати найпростіші алгоритми навчальною алгоритмічною мовою та мовою програмування; формально виконувати алгоритми. На основі зробленого аналізу методичної та навчальної літератури, ресурсів глобальної мережі Internet і досвіду навчання програмуванню в загальноосвітній школі та в вищому педагогічному закладі, за результатами керування педагогічною практикою та курсовим проектуванням була вирішена друга задача дослідження, а саме висунута наступна гіпотеза: формування єдиної методичної системи навчання на основі використання сучасних мережних засобів сприяє інтенсифікації навчання основам алгоритмізації та програмування в загальноосвітній школі та вищому педагогічному навчальному закладі. Результатом вирішення третьої задачі є сформована структура змістовного компоненту методичної системи навчання основам алгоритмізації та програмування (рис. 1). Електронна підтримка сформованої методичної системи навчання основам алгоритмізації та програмування базується на застосуванні трьох інструментальних компонентів [3]: 1) мережні технології Internet/Intranet; 2) платформа для розробки електронних курсів; 3) програмні засоби розробки навчальної анімації (Flash-ролики). В якості платформи обраний програмний засіб, що вільно розповсюджується та може використовуватися як у глобальній, так і в локальній мережах це платформа Moodle. Реалізація електронної підтримки запропонованої методичної системи на платформі Moodle складається з наступного: 1) незалежні фрагменти змістовного компоненту окремі курси, з єднані в одну категорію, та ресурси курсів, що згруповані за тематикою в окремі модулі - теми; 2) єдиний глобальний глосарій для системи електронних курсів; 3) групи користувачів, що реалізують диференціацію навчання школярів та студентів; 4) єдина база тестових завдань, класифікованих за категоріями, що відповідають окремим курсам (як складовим єдиної системи навчання) та темам курсів; 5) єдиний форум для всіх учасників навчального процесу (учнів, студентів, викладачів).
Рис.1. Структура змістовного компоненту методичної системи навчання основам алгоритмізації та програмування. Використання єдиної методичної системи навчання сприяє: 1) формуванню у школярів цілісного бачення проблеми за рахунок відкритості та прозорості змісту навчання (від базових положень, які є основою для засвоєння матеріалу в загальноосвітній школі, до складних речей, що можна рекомендувати для самостійного вивчення студентам вищих навчальних закладів); 2) диференціації та професійної орієнтації навчання завдяки модульності подання змісту, реалізації груп засобами платформи для розробки електронних курсів та системи лабораторно-практичних завдань; 3) зв язку навчання у загальноосвітній школі та у вищому педагогічному навчальному закладі завдяки використанню єдиного програмного середовища. За результатами вирішення четвертої задачі були підготовлені методичні матеріали та сформований план пілотажного дослідження (табл. 1). Експериментальні заходи 1. Навчання студентів за темою «Фундаментальні алгоритми» 2. Керівництво педагогічною Таблиця 1. План пілотажного дослідження Експериментальна Розроблені методичні матеріали група Студенти 5 курсу в межах курсового проектування. Студенти 5 курсу, що пройшли навчання Презентації за трьома напрямами: синтаксис мови програмування С++; робота в середовищі програмування Microsoft Visual Studio; сутність та реалізація класичних алгоритмів. Електронна підтримка навчання мові програмування С++ на плат-
Експериментальні заходи практикою Експериментальна група Розроблені методичні матеріали першого етапу пілотажного дослідження формі Moodle Перший етап пілотажного дослідження підготовка студентів. Експериментальну групу студентів, що володіють прийомами програмування в середовищі Delphi мовою Pascal, знайомлять з основами синтаксису мови програмування С++, з основами використання середовища програмування Microsoft Visual Studio та систематизують їх знання класичних алгоритмів. В якості творчого завдання студентам, які попередньо пройшли навчання роботі в пакеті Flash, запропонована розробка візуалізації для викладання роботи певного алгоритму в загальноосвітній школі. Навчання відбувається в межах курсового проектування та спирається на отримані попередньо знання, які набуті студентами в курсах «Інформатика та програмування», «Методика викладання інформатики», «Динамічна WEB-графіка». Теми та технічні завдання (табл. 2) курсових робіт, в межах яких відбувалося пілотажне дослідження, орієнтовані на: навчання студентів синтаксису мови С++ та роботі в середовищі програмування Microsoft Visual Studio; систематизацію у студентів знань в галузі базових алгоритмів; вдосконалення методичної підготовки студентів шляхом розробки власної навчальної анімації за темою курсового проекту. Таблиця 2. Технічне завдання курсових проектів Технічне завдання 1. Зробити огляд літератури за темою. 2. Розробити навчальну анімацію з демонстрацією блок-схеми роботи алгоритму. 3. Записати алгоритм мовою С++. Реалізувати цей алгоритм на комп ютері в середовищі Microsoft Visual Studio. В якості методичного супроводження першого етапу пілотажного дослідження було розроблено презентації змістовного компоненту навчання за напрямами: робота в середовищі Microsoft Visual Studio; синтаксис мови програмування С++; фундаментальні алгоритми. У презентаціях надається теоретичний матеріал, приклади, задачі та розв язок задач за визначеними темами. Другий етап пілотажного дослідження перевірка результативності експериментального навчання студентів (майбутніх вчителів інформатики). Експериментальна група студентів, що пройшли навчання першого етапу, викладає розділ «Основи алгоритмізації та програмування» в
шкільному курсу інформатики в межах педагогічної практики. Студентам рекомендується застосування на уроках власних методичних розробок, які були створені ними підчас роботи над курсовим проектом. Сутність пілотажного дослідження полягає в наступному: на першому етапі з ясовуються особливості засвоєння теми програмування та алгоритмізація студентами вищого педагогічного навчального закладу; досліджується результативність навчання студентів мові С++, як другої мови програмування, в умовах їх роботи над матеріалом за схемою самостійно-консультативної форми навчання; відбувається апробація та диференціація розроблених презентаційних матеріалів з метою подальшого їх перетворення в електронний контент на платформу Moodle. на другому етапі з ясовується рівень підготовки майбутніх вчителів інформатики до викладання мови програмування С++ в загальноосвітній школі та можливість учнів сприйняти синтаксис мови програмування С++. За результатами першого етапу пілотажного дослідження (1 семестр 2007-2008 начального року), в якому взяли участь 8 студентів спеціальності «Фізика та інформатика», було виявлене наступне: 1. Однією з проблем при засвоєнні теми «Програмування та алгоритмізація» студентами вищого педагогічного навчального закладу є навчання представленню алгоритму в графічній формі (створення блок-схем). Це пов язано з двома факторами. По-перше, з покращенням умов роботи за комп ютерами (кількість персональних комп ютерів в класах, їх потужність, дружність інтерфейсу та підсвічування коду в редакторах) студенти віддають перевагу розробці коду безпосередньо в редакторі середовища програмування, не плануючі попередньо програму. По-друге, компонентне програмування та реалізація об єктно-орієнтованого програмування, що вивчається у вищому навчальному закладі, потребує вже не стільки побудову блок-схем, скільки моделей мовою UML, тому викладачі вищих навчальних закладів вже не акцентують уваги студентів на побудові блок-схем фрагментів коду. Проте це негативно впливає на формування візуальних образів, що є необхідним для майбутніх вчителів інформатики. За результатами попереднього теоретичного етапу дослідження та експериментального спостереження нами було виявлено, що саме блок-схеми підвищують ефективність двох перших етапів навчального пізнання (рис. 2) сприйняття об єкту (виявлення об єкту та визначення його суттєвих властивостей) і виявлення існуючих поза- та внутрішньосуб єктних зв язків та відношень. А перехід до налагодження програм в редакторі програмного середовища ефективний вже для третього етапу формування знань, який базується на процесі запам ятання властивостей та відношень, що виділені в результаті багаторазового їх сприйняття та фіксації [6]. 2. Розробка фонду динамічних ілюстрацій за темою «Алгоритмізація та програмування» є роботою, яка потребує відповідного рівня кваліфікації в теорії, технології та методиці викладання інформатики і її недоцільно
покладати на вчителів. Проте науково-методична робота над створенням фонду динамічних ілюстрацій за даною темою є актуальною та своєчасною. 3. Навчання студентів мові С++ як другої мови програмування, в умовах їх роботи над матеріалом за схемою самостійно-консультативної форми навчання, не викликало особливих труднощів при формуванні репродуктивного рівня знань. Проте, для формування у студентів активного відтворення знань (мислення категоріями мови програмування С++) необхідні вже більш розвинені засоби та форми навчання. Рис. 2. Рівні знань та відповідні етапи навчального пізнання при вивченні програмування в загальноосвітній школі Другий етап пілотажного дослідження планується на другий семестр 2007-2008 навчального року на базі інформаційного центру міжшкільного навчально-виробничого комбінату м. Одеси. Розроблені методичні матеріали підтримки навчання мові програмування С/С++ в загальноосвітній школі розміщуються на сайті кафедри прикладної математики та інформатики за адресою http://informatica.od.ua. Висновки. Протягом дослідження з 2002 по 2008 роки (педагогічне спостереження за роботою учнів і студенів та бесіди з викладачами вищих та загальноосвітніх навчальних закладів 2002-2004; теоретичне дослідження 2005-2006; розробка методичних матеріалів та експериментальне навчання 2007-2008) були отримані наступні результати:
- сформована гіпотеза дослідження, що полягає в створенні єдиної методичної системи підготовки в галузі алгоритмізації та програмування школярів та студентів вищих педагогічних навчальних закладів на основі сучасних мережних інформаційних засобів навчання; - виявлено найбільш уразливе місце в науковій та методичній підготовці майбутніх вчителів інформатики це візуалізація алгоритмів, що обумовило висновок про доцільність розробки фонду динамічних ілюстрацій за темою алгоритмізація та програмування. Результати першого етапу пілотажного дослідження дають підставу для продовження експериментальної роботи в напрямках розробки фонду динамічних ілюстрацій та контрольних задач та завдань з основ алгоритмізації та програмування. Література: 1. Атаман Т.Л., Брескіна Л.В. Методичні рекомендації до курсового проектування за напрямом «Фундаментальні алгоритми» для студентів педагогічних ВНЗ за фахом фізика-інформатика. Одеса: Видавництво ОДАБА, 2007. 17 c. 2. Биков В.Ю., Руденко В.Д. Програми для загальноосвітніх навчальних закладів універсального та фізико-математичного профілів. Інформатика, 8-11 класи // Комп ютер у школі та сім ї. 2005. 1. С. 3-12. 3. Брескіна Л.В. Електронна підтримка реалізації науково-методичних компонентів системи підготовки студентів педагогічних ВНЗ // Теорія та методика навчання фундаментальних дисциплін у вищій школі: Зб. наукових праць. Кривий Ріг: Видавничий відділ НМетАУ, 2005. С. 48-53. 4. Жалдак М.І., Морзе Н.В., Мостіпан О.І. Програми для загальноосвітніх навчальних закладів універсального профілю. Інформатика. 10-11 класи // Інформатика. Програми для загальноосвітніх навчальних закладів. Запоріжжя: Прем єр, 2003. 304 с. 5. Основи комп ютерних алгоритмів // Києво-Могилянска Академія. Інтернет-Освіта. [WWW document]. URL http://moodle.ukma.kiev.ua/course/view.php?id=5 6. Педагогическая психология [WWW document]. URL http://www.psychologye.ru/ 7. Проекти навчальних програм для профільного навчання у 12-річній школі // Сайт Міністерства освіти і науки України. [WWW document]. URL http://www.mon.gov.ua/main.php?query=education/average/profil 8. Співаковський А. та ін. Курс Основи алгоритмізації та програмування для вищих навчальних закладів // Херсонський державний університет Науково-дослідний інститут інформаційних технологій. [WWW document]. URL http://weboap.ksu.ks.ua/
9. Украинские олимпиады по информатике. [WWW document]. URL http:// www.uoi.kiev.ua/