Проблема вибору першої мови програмування - сьогоднішнє бачення

Аналіз обговорення проблеми викладання розділу "Алгоритмізація та програмування" у пресі. Диспропорцієя між запитом і пропозицією на системних програмістів і фахівців у галузі розроблення апаратних засобів. Навчання алгоритмізації й програмування у школі.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 04.11.2018
Размер файла 165,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Проблема вибору першої мови програмування - сьогоднішнє бачення

Лапінський Віталій Васильович

кандидат фізико-математичних наук, доцент, завідувач лабораторії навчання інформатики Інституту педагогіки Національної академії

педагогічних наук України

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

Ключові слова: навчання, мова програмування, основна школа, експертне оцінювання, вибір.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Навчання інформатики (найближчий англомовний аналог назви навчального предмету -- «Computer Science») передбачає надпредметність деяких цілей навчання, зокрема формування властивостей особи, які називають «комп'ютерна грамотність», «інформаційна культура», «computer skills, abilities», іншими словами -- здатність людини ефективно використовувати інформаційні технології (ІТ) й відповідні засоби продуктивної діяльності. Важливим складником цілей навчання в загальноосвітньому навчальному закладі є формування в учнів компетентності в основах наук. У термінах компетентнісного підходу до результатів навчання, зазначене описується як формування ключових компетентностей, зокрема цифрової обчислювальної, загальнонаукової і загально технологічної, які виокремлено документами Ради Європи як компетентності для навчання протягом життя.

Адекватне сприйняття людиною багатьох явищ, які відбуваються в сучасному технологізованому суспільстві, неможливе без ознайомлення її з алгоритмізацією й основами програмування, принаймні на рівні описань і виконання простих алгоритмів [4]. Тому, у зв'язку із запровадженням поглибленого вивчення окремих предметів, зокрема -- інформатики у 8-9-х класах [7; 9], лабораторією навчання інформатики Інституту педагогіки НАПН України, за сприяння науково-методичного журналу «Комп'ютер у школі та сім'ї» проведено широке обговорення вчительським і науково-педагогічним загалом проблем навчання алгоритмізації й програмування в основній школі.

В обговоренні взяло участь більше п'ятдесяти учителів і науковців, судження яких було відображено у кількох номерах журналу «Комп'ютер у школі та сім'ї», на сайтах, форумах і блогах. Публікування матеріалів журналом продовжуватиметься, але на часі можливе підведення деяких проміжних підсумків. Перш за все, у репрезентативності зазначеної вище спільноти передових учителів і науковців учасниками обговорення, може свідчити діаграма, на якій відображено відсоткову частку відповідних груп (рис. 1).

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

Теза академіка А.П. Єршова «программирование -- вторая грамотность», після низки випробувань і поневірянь, набула статусу однієї з головних цілей навчання інформатики у загальноосвітніх навчальних закладах Росії [10]. В Україні навчання певний час було спрямоване на знаряддєве використання вже готових програмних засобів. Залишаючи за межами обговорення доцільність дотримання користувацького підходу у навчанні інформатики в усіх загальноосвітніх навчальних закладах, можна зазначити, що протягом досить тривалого часу в частині загальноосвітніх і спеціалізованих навчальних закладів України склалась традиція навчання інформатики з превалюванням саме програмування, поєднанням технологічної і фундаментальної складових у змісті навчання. Зорієнтованість на фундаментальну складову навчання інформатики надала можливість учням цих навчальних закладів отримувати стабільно високі результати як на всіх етапах всеукраїнських, так і міжнародних олімпіадах з програмування.

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

Шаміль Ягіяєв, один з провідних учасників олімпіадного руху в Україні, аналізуючи цілі навчання програмування у школі, сформулював їх як три запитання:

*IT -- одно из важнейших направлений экономического развития страны и мы массово готовим профессионалов?

*Мы развиваем интеллектуальный потенциал нации и делаем акцент на естественные науки в школе?

*Мы хотим более эффективно выбирать лучших людей, способных к информатике, жертвуя при этом средними показателями?

Відповідаючи на ці запитання, він виокремив і найважливіше, яке залишив риторичним: «Достаточно ли у нас людей, в принципе способных обучать ал- горитмике?» [2, с. 15].

Оксана Олександрівна Бодрик виконала досить глибокий аналіз мов і систем програмування, які можна застосовувати в школі. Виходячи з власного досвіду участі в олімпіадному русі і результатів проведеного дослідження, вона дійшла висновку, що нині найбільш придатною для навчання є мова Паскаль. [2, с. 16-17].

Олег Петрович Зеленяк, аналізуючи саме навчальне застосування мов і систем програмування, запропонував таку послідовність навчання у школі:

Алгоритми.

Початкове середовище.

Середовище програмування (процедурного).

Середовище об'єктно орієнтованого програмування (ООП). Власне, на такому підході й базуються чинні програми [2, с. 18].

Сергій Драганович Петрович як знавець апаратного забезпечення наголосив на тому, що необхідно звернутись і до систем програмування, заснованих на ідеях систем управління LabVIEW [3, с. 11].

Олександр Борисович Рудик, виходячи з аналізу досвіду роботи з дітьми молодших вікових категорій, обґрунтував і висловив думку, що у навчанні програмування і навчанні мовлення є багато спільного, починати навчати мовлення і програмування може бути запізно, але не може бути зарано. Також заслуговує на увагу й твердження щодо недоцільності вивчення у школі всіх можливостей, які забезпечує конкретна мова програмування. «Це не потрібно навіть для того, щоб перемогти на предметній олімпіаді. У царині програмування для учня найважливіше своєчасно навчитися у правильному порядку розставляти слова мови програмування з метою отримати програмні реалізації певного кола алгоритмів. Щонайменше всіх тих алгоритмів, з якими стикаються учні під час вивчення природничо-математичних дисциплін. Для цього непотрібно знати багато службових слів чи назв процедур і функцій. Але потрібно навчитися так висловлюватися розмовною мовою, щоб швидко й легко перекладати свої висловлювання мовою програмування. І тут у нагоді стане саме Pascal або схожа за синтаксисом мова». [3, с. 13].

Аналіз даних, отриманих автором шляхом анкетування учасників IV етапу олімпіад з програмування протягом останніх чотирьох років, дає досить цікаву картину, яка відображає не просто популярність певних мов і систем програмування в ЗНЗ України, але уподобання вчителів, які готують учнів на відповідному рівні (рис. 2).

Рис. 2. Відсоткова частка мов програмування, які вказали у своїх анкетах учасники олімпіад

Безумовно, групи мов і середовищ програмування C, C++, C# і Pascal (у т.ч. Delphi і FPC), які є стандартними для олімпіад з програмування, займають перші місця. Оскільки анкетування проводилось без урахування класу учнів, маємо для Pascal подібних мов перевагу, хоча за особистими спостереженнями автора, учасники, які програмували зазначеними мовами, серед переможців були в меншості.

Як другу мову програмування учасники вказували досить широкий спектр мов і систем програмування. Мови Java, JavaScript було умовно об'єднано в одну групу, хоча їх можна було б аналізувати окремо, об'єднати з рештою мов, які забезпечують ООП, або умовно виокремити в групу разом з Python і PHP. Окремо можна відзначити досить велику частку користувачів Python, на доцільність використання якої для навчання програмування наголошували Юрій Якович Пасіхов і Галина Петрівна Кравець [3, с. 17].

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

Мова Basic, яка останнім часом майже не використовується для навчання, також не залишається поза увагою. Лілія Володимирівна Палюшок і Ярослав Миколайович Глинський слушно зазначають, що сучасні системи програмування, які засновано на використанні мови Basic, суттєво відрізняються від перших, які більшість програмістів свого часу використовувала, але вважала чимось несерйозним [3, с. 9]. Середовище програмування QuickBasic 4.5, яке Олег Петрович Зеленяк (і той, хто програмував у ньому, не може з цим не погодитись) нічим не поступається за чіткістю структурування програми реалізаціям систем програмування мовою Паскаль [2, с. 18].

На користь навчання мови Visual Basic і VBA можна додати ще й те, що більшість користувачів ІТ використовують Microsoft Office, у якому VBA є абсолютно природним способом «наростити» можливості, які забезпечують, зокрема, електронні таблиці (дуже швидко спроектувати бланкове введення даних, виведення діаграм тощо). Об'єктні моделі, що використовуються в електронних таблицях, доступні для сприйняття навіть не зовсім кваліфікованим користувачем, а процедури опрацювання подій описуються теж досить просто.

Якщо брати до уваги, що анкетувались учні, абсолютна більшість яких свідомо пов'язує своє майбутнє з галуззю ІТ, діаграма, подана на рис. 3, не викликає особливого здивування.

7,8% 9,8%

Рис. 3. Відсоткова частка учасників олімпіади за класами, з яких вони розпочали навчатись програмуванню

Те, що майже 10 відсотків учнів розпочало навчатись програмування у 5-му класі, свідчить про те, що навіть тоді, коли інваріантна частина навчального плану загальноосвітніх навчальних закладів містила навчальний предмет «Інформатика», розпочинаючи з 9-го класу, існувала частина ЗНЗ, у яких навчання інформатики розпочиналось значно раніше. На користь тези, що розпочинати навчати програмування буває запізно, свідчить і те, що частка учнів, що розпочали навчатись програмувати у 9 і 10-х класах, менша, ніж частка учнів, які це розпочали у 5 і 6-х класах.

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

Доступні для загалу відомості щодо динаміки змін частки України у світовому процесі підготовки ІТ фахівців протягом останніх років свідчать про поступове зменшення як кількості, так і якості їх підготовки у ВНЗ нашої країни.

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

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

Більше того, і в галузі підготовки користувачів інформаційних технологій спостерігається парадоксальний ефект -- збільшення забезпеченості засобами ІТ домогосподарств і загальноосвітніх навчальних закладів, про що свідчать результати опрацювання статистичних даних, не має своїм наслідком пропорційне підвищення рівня підготовленості до використання ІТ та їх засобів у діяльності, спрямованій на навчання, самовдосконалення і підвищення фахового рівня. Результати опитувань першокурсників кількох вищих навчальних закладів державної форми власності різних регіонів України, здійснених протягом 2009-2013 років, і проведення вхідного контролю рівня сформованості їх навченості у галузі інформаційних технологій, свідчать про те, що рівень підготовленості в галузі ІТ вступників до ВНЗ протягом кількох останніх років суттєво погіршився. Це виявляється не тільки у невмінні виконання ними найпростіших дій із використанням засобів інформаційних технологій, але й у відсутності мотивації засвоєння нових технологій. Перехід від попередньої до наступної версії офісних застосунків також іноді викликає психологічний спротив навіть у молодих людей. Зазначене слід ураховувати й щодо вчителів інформатики, яких у педагогічному ВНЗ навчали, здебільшого, програмувати мовою Pascal.

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

Ураховуючи думку переважної більшості (близько 80%) фахівців, необхідно погодитись з тим, що за нинішніх реалій мовою навчання програмування у 8-9 класах може бути, переважно Pascal і відповідні системи програмування. Це не виключає застосування інших мов і систем програмування. Головним у виборі мови програмування має бути те, наскільки конкретний учитель готовий до викладання з використанням відповідного апаратно-програмного забезпечення. Практично всі експерти підтримали тезу щодо важливості не просто навчати учнів кодування алгоритмів певною мовою програмування, а формування уміння мислити і результат мислительної діяльності подавати у формі плану діяльності.

Навчання алгоритмізації й програмування має стати засобом формування наукового світогляду, критичного мислення, способом формування здатності чітко, ясно і максимально коротко описувати модель явища, об'єкта. Поєднання процедурного і об'єктно орієнтованого програмування, перехід від першого до другого, можливі за умов виокремлення і чіткого усвідомлення кількох, на нашу думку, дуже важливих тверджень і фактів [5]. програмування алгоритмізація мова

Принцип програмного управління у більшості сучасних ЕОМ, попри всю складність сучасного апаратного і програмного забезпечення (багатопроцесорність, конвеєри тощо), залишається таким, який дозволяє його пояснити, використовуючи поняття єдиної, лінійної, адресованої пам'яті і послідовного виконання команд -- тобто, якою б не була система програмування, машинні команди і дані утворюють після компілювання лінійну послідовність.

Головними відправними точками у навчанні розділу «Алгоритмізація і програмування» мають бути: побудова моделі (явища, об'єкта) і описання її спочатку природною мовою, потім, можливо, у вигляді блок-схеми і математичних виразів, а вже тільки потім -- мовою програмування.

Найбільш природним і строгим перехід від процедурного програмування до ООП вбачається з використанням мови Pascal, з використанням ланцюжка понять: типи -- процедури -- передавання даних -- запис (структура як властивість) -- об'єкт (структура як властивість + процедура як метод) з обов'язковою його пропедевтикою на початкових етапах навчання.

Література

ГуржійА.М. Про проблеми наступності навчання інформаційних технологій у школі й вищому педагогічному навчальному закладі / А.М. Гуржій, Л.А. Карташова / Інформаційні технології в освіті України : збірник наукових праць. Випуск 15. -- Херсон: ХДУ. 2013. -- С. 11-19.

Комп'ютер у школі та сім'ї, №7, 2013.

Комп'ютер у школі та сім'ї, №8, 2013.

Лапінський В.В., Міна А.С., Скрипка К.І. Міжнародні тенденції розвитку інформатизації освіти та підвищення її якості // Інформаційні технології і засоби навчання: електронне наукове фахове видання. -- К., 2010. -- №5(19). -- Режим доступу: http://www.ime.edu-ua.net/em19/emg.htm.

Лапінський В.В. Ретроспективно-порівняльний аналіз змістових ліній навчання основ інформатики в Україні [Текст] / В.В. Лапінський // Інформатика та інформаційні технології в навчальних закладах. -- 2008. -- №6 (18). -- С. 4-10.

Лист Інституту інноваційних технологій і змісту освіти від 19.11.2012 р. №14.1/1003187 Про проведення ІІІ етапу Всеукраїнської учнівської олімпіади з інформатики 2012/2013 н. р. закладів [Електронний ресурс]. -- Режим доступу: http:// old.lito.kr.ua/.

Навчальна програма поглибленого вивчення інформатики для учнів 8-9 класів загальноосвітніх навчальних закладів [Електронний ресурс]. -- Режим доступу: http://www.mon.gov.ua/ ua/activity/education/56/generallsecondaryeducation/educa- tional_programs/1349869497/.

Пасіхов Ю.Я. Шкільна інформатика: програми, підручники, учителі // Комп'ютер у школі та сім'ї. -- 2013. -- №5. -- С. 3-4.

Перелік навчальних програм, підручників та навчально-методичних посібників, рекомендованих Міністерством освіти і науки, молоді та спорту України для використання в основній і старшій школі у загальноосвітніх навчальних закладах з навчанням українською мовою у 2012/13 навчальному році закладів [Електронний ресурс]. -- Режим доступу: http:// mon.gov.ua.

Размещено на Allbest.ru


Подобные документы

  • Аналіз концепцій сучасної інформатики і нових інформаційних технологій. Дисципліна і структурованість мовних засобів комунікації. Різні підходи до викладання мов програмування. Основні методики, застосовувані при складанні алгоритмів і написанні програм.

    реферат [35,5 K], добавлен 11.08.2011

  • Прототип об'єктно-орієнтованого програмування. Управління процесом реалізації програми. Розвиток апаратних засобів. Об'єктно-орієнтовані мови програмування. Надійність і експлуатаційні якості програм. Візуальне об’єктна-орієнтовне проектування Delphi.

    контрольная работа [28,9 K], добавлен 18.05.2009

  • Особливості редагування за допомогою текстового редактора NotePad вхідного файлу. C++ як універсальна мова програмування, знайомство с функціями. Характеристика графічних засобів мови С. Аналіз основних понять об’єктно-орієнтованого програмування.

    курсовая работа [123,3 K], добавлен 14.03.2013

  • Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.

    курсовая работа [510,9 K], добавлен 14.03.2013

  • Мoвa прoгрaмувaння як систeма пoзначень, що служить для точного опису програм або алгоритмів для ЕOM. Вимоги до мов програмування, класифікація за їх особливостям. Загальна характеристика найбільш поширених мов програмування: Сі, Паскаль, Delphi, Бейсік.

    реферат [24,4 K], добавлен 10.11.2012

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

    курсовая работа [27,7 K], добавлен 03.04.2009

  • Медична інформаційно-аналітична система "Емсімед". Аналіз програмних, апаратних засобів. Архітектурне проектування автоматизованої системи обліку медичних інструментів. Опис структурної та логічної схеми. Вибір мови програмування, керівництво користувача.

    дипломная работа [2,9 M], добавлен 26.07.2013

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

    реферат [2,1 M], добавлен 22.04.2012

  • Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.

    курсовая работа [75,8 K], добавлен 26.12.2009

  • Мова C++ є як одна з найпоширеніших сучасних мов програмування. Базові засоби мови С++, її специфічні риси. Технологія складу програм, специфіка організації процесу програмування. Модульне програмування. Особливості об’єктно-орієнтованого програмування.

    курсовая работа [49,6 K], добавлен 26.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.