Наукові конференції ЦДУ

ВИВЧЕННЯ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ В ШКОЛІ

Львівський Національний університет імені Івана Франка

Пасічник Тимофій, Соляр Тетяна

У наш час об’єктно-орієнтоване програмування (ООП) є домінуючим стилем програмування. Методика вивчення ООП у навчальних закладах різного рівня висвітлена в багатьох працях вітчизняних науковців [1 - 3]. Проте вчителі, зазвичай, відчувають проблеми під час ознайомлення початківців з об'єктно-орієнтованою концепцією та програмуванням, і тому розробка ефективних підходів до навчання основ ООП в школі та на початкових курсах у вищих навчальних закладах все ще залишається актуальною серед науковців [4, 5]. Педагоги в цій галузі продовжують експериментувати із різними стилями, методами та підходами до навчання. Тому розглянемо декілька важливих питань, які вимагають вирішення.

1. Яку об'єктно-орієнтовану мову слід вивчати?

Більшість курсів програмування у середніх школах спрямовані на такі об’єктно-орієнтовані мови, як C++, Java та Python.

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

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

На противагу Java вважається «чистою» об’єктно-орієнтованою мовою і немає багатьох важливих недоліків C++. Ринковий успіх Java також є ще одним позитивним фактором на її користь і тому, з-поміж різноманітних альтернатив, Java видається кращим вибором для початку освоєння об’єктно-орієнтованого програмування.

Корисною у вивченні ООП є мова Visual Basic, яка виступає повноцінним засобом програмування для Windows і вбудована у Windows Office. Це дає змогу непрофесійним програмістам розширювати можливості Word, Excel тощо. Однак ця мова не є популярною на теренах України.

2. Яким повинен бути порядок викладання об'єктно-орієнтованих концепцій?

Викладання основ ООП на початковому рівні залишається серйозною педагогічною проблемою, оскільки потребує певних зусиль, перш ніж розпочнеться фактичне кодування. Робота на цьому етапі повинна бути зосереджена на пошуку відповідей на такі питання: яким буде результат завершення виконання (роботи) програми?; які класи та об'єкти будуть потрібні та які їх функції?; яким буде інформаційне наповнення та функціональність кожного об'єкта?; як об'єкти спілкуватимуться?; тощо.

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

3. Яким має бути середовище навчання?

Для успішного вивчення вступного курсу з ООП важливим є відповідне середовище програмування, яке складається з редактора й операційної системи. Використання у навчанні інтегрованих графічних систем стає все поширенішим. Однак ці системи, по суті, є середовищами для професійного програмування, їх придатність як допоміжних засобів навчання під час вступного курсу є сумнівною, оскільки вони набагато потужніші та складніші, ніж потрібно, а їхні вдосконалені функції роблять їх менш зручними для такого курсу. Як компроміс, розроблено спеціальні середовища для об’єктно-орієнтованого навчання. Популярним прикладом у такій ситуації є система BLUE. Версії BLUE на C++ і Java забезпечують дуже просте та зручне середовище для створення методів, об’єктів і керування ними.

4. Коли і наскільки глибоко варто включати елементи моделювання та об'єктно-орієнтованого дизайну?

Об’єктно-орієнтовані програмні продукти базуються на об’єктах та їхніх зв’язках. Основна увага має бути зосереджена на розв’язанні проблем належного моделювання та проєктування об’єктів і класів. Тому починати з «Hello World!» є недоцільно, оскільки в такому випадку синтаксис ставиться перед вирішенням проблем програмування. Ефективним і, переважно, рекомендованим є підхід, який грунтується на використанні абстракції та дизайну з самого початку. Хоча абстрактне мислення може вважатися складним для засвоєння багатьма учнями, але воно є важливим компонентом об’єктно-орієнтованого програмування. Абстракція, з другого боку, виступає як компонент моделювання та дизайну також в інших предметах початкового рівня.

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

СПИСОК ДЖЕРЕЛ

1. Цибулько М. М.  Об'єктно-орієнтоване програмування: з чого розпочинати. Комп'ютер у школі та сім'ї. 2011. № 4. С. 11-14. URL: http://nbuv.gov.ua/UJRN/komp_2011_4_4 (дата звернення 10.11.2022).

2. Руденко Ю.О. Професійна адаптація молодих викладачів комп’ютерних наук. Фізико-математична освіта. 2018. Вип. 1(15), С. 281-284. URL: http://fmo-journal.fizmatsspu.sumy.ua/publ/4-1-0-351. (дата звернення 11.11.2022).

3. Морзе Н.В. Методика навчання інформатики: навч. посіб.: У 4 ч. / За ред. акад. М.І. Жалдака. К.: Навчальна Книга, 2003. Ч. 1: Загальна методика навчання інформатики. 254 с.

4. Семеніхіна О. В., Руденко Ю.О. Проблеми навчання програмувати учнів старших класів та шляхи їх подолання. Інформаційні технології і засоби навчання, 2018, Т. 66, №4, с. 54-64. URL: https://www.researchgate.net/ publication/331403318_problemi_navcanna_programuvati_ucniv_starsih_klasiv_ta_slahi_ih_podolanna (дата звернення 8.11.2022).

5. Іщеряков С. Вчити програмування треба в школі чи університеті? Освітня політика. Портал громадських експертів. URL: http://osvita.ua/school/54063/ (дата звернення 4.11.2022).