Розробка педагогічних стратегій використання reverse engineering у процесі навчання майбутніх фахівців галузі інформаційних технологій

Використання reverse engineering в освітньому процессі. Використання reverse engineering для навчання фахівців в галузі інформаційних технологій. Аналізу складнощів, які виникають в процесі освітнього і виробничого застосування reverse engineering.

Рубрика Педагогика
Вид статья
Язык украинский
Дата добавления 30.10.2023
Размер файла 1,0 M

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

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

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

Розробка педагогічних стратегій використання reverse engineering у процесі навчання майбутніх фахівців галузі інформаційних технологій

Федорець Василь Миколайович,

кандидат медичних наук, доцент, професор кафедри педагогіки, адміністрування і спеціальної освіти Навчально-наукового інституту менеджменту та психології ДЗВО «Університет менеджменту освіти».

Київ, Україна;

доцент кафедри педагогічних наук, професійної та початкової освіти Комунального закладу вищої освіти «Вінницька академія безперервної освіти». Вінниця, Україна.

Шаригін Олександр Анатолійович,

кандидат технічних наук, Project Lead. компанія Miratech.

Київ, Україна.

Анотація

У статті, на основі методологічних рефлексій та аналізу практик, репрезентуються педагогічні стратегій, які спрямовані на використання reverse engineering для навчання майбутніх фахівців в галузі інформаційних технологій. Вказані стратегії розроблено на основі аналізу типових складнощів і труднощів, які виникають в процесі освітнього і виробничого застосування reverse engineering. В педагогічних стратегіях реалізації reverse engineering визначається три рівні: перший - «Особистісно-професійний рівень», представляє собою особистісно-професійний інструментарій фахівця, є системою, яка інтегрує його здатності з метою ефективної реалізації reverse engineering; другий - «Організаційно-діяльніший рівень» представляє шляхи реалізації даних стратегій в процесі професійної діяльності фахівця; третій - «Навчально-технологічний рівень» репрезентує зазначені стратегії як навчальні, методологічні, методичні, і практико-технологічні інструменти організації і спрямованості освітнього процесу. На «Особистісно-професійному рівні», на основі вказаних стратегій, можуть бути сформовані професійно значимі компетентності чи їх системи. Нами, в даній педагогічній системі, виділяються такі стратегії, що є системоорганізувальними і визначальними для освітньої і виробничої реалізації reverse engineering: фахова, інтелектуально- аналітична, герменевтична, дескриптивна, дискурсивно- комунікативна, наративна, психологічна, творча, рефлексивна, цілепокладання, антиципаційна, феноменологічна, мотиваційно- ціннісна, культурна, колегіальності, метафорично-мистецька, репродуктивна. Зазначені педагогічні стратегії, в своїй переважній більшості, на особистісно-професійному рівні представляють собою професійно-інтелектуальні інструменти професійної діяльності, які сприяють реалізації центральної фахової стратегії. Цілеспрямоване використання reverse engineering в освітньому процес сприяє розкриттю когнітивного, творчого і особистісного потенціалів майбутніх фахівців та сприяє їх професіоналізації і, відповідно, розвиває такі важливі особистісно-професійні здатності, що включають: аналітичні навички, знання архітектури програмного забезпечення і захисту програмного забезпечення, навички розроблення тестових сценаріїв, знання асемблеру та мов низького рівня, професійно орієнтоване креативне мислення, вміння працювати в команді та ін. reverse engineering інформаційний освіта

Ключові слова: педагогічні стратегії реалізації reverse engineering; фахівці галузі інформаційних технологій; професіоналізація; інновації; reverse engineering; методологія.

DEVELOPMENT OF PEDAGOGICAL STRATEGIES FOR USING REVERSE ENGINEERING IN THE PROCESS OF TRAINING FUTURE SPECIALISTS IN THE FIELD OF INFORMATION TECHNOLOGY

Vasyl Fedorets,

PhD in Medicine, Associate Professor, Professor of the Department of Pedagogy, Administration and Special Education Educational and Scientific Institute of Management and Psychology SIHE «University of Educational Management». Kyiv, Ukraine;

Associate Professor of the Department of Psychological and Pedagogical Education and Social Sciences, Municipal Higher Education Institution "Vinnytsia Academy of Continuing Education".

Vinnytsia, Ukraine.

Oleksandr Sharyhin,

PhD in Technical Sciences, Project Lead, Miratech.

Kyiv, Ukraine.

Oksana Klochko,

Doctor Habilitation of Pedagogical Sciences, Full Professor,

Professor of the Department of Mathematics and Informatics,

Vinnytsia Mykhailo Kotsiubynskyi State Pedagogical University.

Vinnytsia, Ukraine.

Abstract. The article, based on methodological reflections and analysis of practices, presents pedagogical strategies aimed at using reverse engineering to train future specialists in the field of information technologies. These strategies are developed based on the analysis of typical difficulties and difficulties that arise in the process of educational and industrial application of reverse engineering. Three levels are defined in the pedagogical strategies for the implementation of reverse engineering: the first - "Personal-professional level”, which represents the personal-professional toolkit of a specialist, is a system that integrates his abilities for the purpose of effective implementation of reverse engineering; the second - "Organizational-activity level" represents ways of implementing these strategies in the process of professional activity of a specialist; the third - "Educational and technological level" represents these strategies as educational, methodological, methodical, and practical- technological tools for the organization and direction of the educational process. On the "Personal-professional level", on the basis of the indicated strategies, professionally significant competences or their systems can be formed. We, in this pedagogical system, distinguish the following strategies that are system-organizing and determining for the educational and industrial implementation of reverse engineering: professional, intellectual-analytical, hermeneutic, descriptive, discursive- communicative, narrative, psychological, creative, reflective, goal-setting, anticipatory, phenomenological, motivational-value, cultural, collegiality, metaphorical-artistic, reproductive. The indicated pedagogical strategies, in their vast majority, at the personal and professional level, represent professional and intellectual tools of professional activity that contribute to the implementation of the central professional strategy. Purposeful use of reverse engineering in the educational process helps to reveal the cognitive, creative and personal potential of future specialists and promotes their professionalization and, accordingly, develops such important personal and professional abilities, which include: analytical skills, knowledge of software architecture and software protection, development skills test scripts, knowledge of assembler and low-level languages, professionally oriented creative thinking, ability to work in a team, etc.

Keywords: pedagogical strategies for the implementation of reverse engineering; specialists in the field of information technologies; professionalization; innovations; reverse engineering; methodology.

ВСТУП / INTRODUCTION

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

У процесі проблематизації застосування reverse engineering в підготовці майбутніх фахівців галузі інформаційних технологій ми розглядаємо, як значимі та системні, групи труднощів і особливостей даного напряму професійної діяльності, які визначають її складність. Врахування зазначених труднощів і особливостей є визначальним і необхідним для ефективної реалізації reverse engineering. На основі досвіду застосування reverse engineering та аналізу даної проблеми можна представити такі групи труднощів і особливостей: когнітивні, інтерпретативні, дескриптивно-наративні, психологічні, системні. Розглянемо їх більш детально. Когнітивні труднощі часто зумовлені: стереотипним характером професійного мислення як такого, що включає інтелектуальні навички використання типових когнітивних стереотипів, схем, підходів, візій, які були сформовані в процесі навчання і діяльності на основі відносно невеликої кількості типових архітектур і підходів; незначною кількістю вихідних даних; недостатньо розвинутими когнітивними навичками реконструкції; недостатнім застосуванням аналітичного потенціалу інтелекту, що включає «підміну» аналізу використанням типових схем; недостатньою сформованістю інтелектуальних навичок до визначення і виправлення помилок і невідповідностей; складністю інтелектуальної діяльності в умовах когнітивної невизначеності; недостатністю когнітивної гнучкості; відсутністю інтелектуальних навичок до вирішення «обернених задач» які є сутністю reverse engineering. Інтерпретативні труднощі і складнощі як аспект когнітивних проявляються в недостатній сформованості інтелектуальної здатності до інтерпретації та навичок і готовності до широкого системного і багатомірного розуміння проблематики. Дескриптивно-наративні труднощі і складнощі проявляється в недостатньо сформованих інтелектуальних і мовленево-інтелектуальних навичках та досвідах описувати та репрезентувати за допомогою як спеціальних мов, так і розмовної (письмової) мови досліджуваний феномен (і його аспекти) як об'єкт і як процес, в форматі наративу. Психологічні труднощі полягають в недостатньо сформованій мотивації, інтенціональності, цілепокладанні до вирішення задач шляхом застосування reverse engineering. Системні труднощі і складності зумовлені недостатньою сформованістю як системного мислення, так і складністю його застосування в reverse engineering. Це зумовлено тим що при reverse engineering майже завжди проблема має формат в якому наявним є високий рівень когнітивної невизначеності. Тому визначити системні складові та параметри досліджуваного об'єкта можливо, в переважній більшості, шляхом вирішення аналогічних задач. Розуміння досліджуваної проблеми як процесу визначає шляхи до її варіативного моделювання, що розкриває якісно нові можливості для реалізації reverse engineering.

Розглянемо більш детально вказану проблематику, репрезентуючи особливості деяких типових професійних задач з reverse engineering.

Є програмний код погано документованої або взагалі не документованої системи, потрібно на основі цього коду: побудувати зв'язки між сутностями, діаграму класів; виділити рівні / layers (business layer, data access layer); оцінити якість коду і, можливо, провести ре факторинг. Проблеми, які виникають при цьому, можуть бути вирішені шляхом: вміння «читати» чужий недокументований код, тобто розуміти результати його реалізації. В даному випадку ми бачимо герменевтичні, дескриптивно-наративні і системні складнощі. Важливими є навички будувати зв'язки між класами, оперуючи своїми уявленнями про те, що ці класи виконують. Дана операція формується на основі здатності визначати системність в складних умовах когнітивної невизначеності. Відповідно, неефективність вирішення цього питання зумовлена системними і когнітивними труднощами. Важливим для фахівця є розуміння того, що тільки в «ідеальному світі» існує ідеальний код, а в реальних проектах програмісти можуть не використовувати code style guides і не слідувати визначеним best practices. Відповідно професіоналу необхідно мати знання як ідеалізованих схем, так і бути здатним і готовим працювати з реальними феноменами, які можуть тотально, якісно чи в деталях відрізнятися від ідеальних (формалізованих, типових). Для реалізації і розвитку зазначеної здатності важливо подолати як когнітивні, так і психологічні труднощі, які, перш за все, стосуються навчених і напрацьованих професійних когнітивних алгоритмів і стереотипів. Важливим є вміння користуватись певним набором інструментів (дебагери, дизасемблери, інструменти аналізу трафіку). При недостатній сформованості інтелектуальних навичок до використання вказаного набору інструментів, що нерідко є наявним, маємо справу з когнітивними труднощами.

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

Аналіз останніх досліджень і публікацій. Як підхід до проектування та розроблення програмного забезпечення та як педагогічний підхід, reverse engineering використовується в багатьох галузях науки та техніки, а також в різних освітніх галузях у процесі навчання студентів. Про актуальність використання reverse engineering також свідчить представлена на рисунку онтологія знань, отримана у результаті кластеризації семантичних зв'язків досліджень науковців з даної тематики, побудована з використанням наукометричної бази даних Web of Science в системі VOSviewer [1], [2].

П. Сілапачоте, А. Срісуфаб та С. Шрікосаматара [3] застосували підхід reverse engineering у міждисциплінарному STEM навчанні студентів- біологів. Ними адаптовано методики спільного навчання та спільного викладання із використанням reverse engineering до забезпечення лінійних та нелінійних зворотних зв'язків реального світу й абстрактних математичних термінів та комп'ютерних моделей з метою навчання студентів-біологів системному моделювання, що відображає складні взаємодії між організмами в природному світі.

Ідея reverse engineering була застосована дослідниками Р. Чжан, В. Луо, Й. Се, Ю. Бай та Ї. Цю у розробці моделі «Теорія-Навчання-Практика» для підготовки майбутніх педагогів [4]. У розробці даної педагогічної моделі «Теорія-Навчання-Практика» ними використаний концептуальний підхід Outcome-based education (OBE) (навчання, орієнтоване на результат). Автори стверджують, що використання reverse engineering в моделі освіти, орієнтованої на результат, надало б можливість не тільки зменшити невідповідності між рівнем якості підготовки вчителів та попитом на вчителів відповідної кваліфікації, але й допомогло б покращити результати впровадження педагогічної освіти [4].

Автори Ш. О'Брайєн і Дж. Петрік Абьюлеса діляться досвідом застосування reverse engineering при навчанні студентів в коледжі Манхетену і це дозволило підвищити на 12,5-14,7 % оцінки за екзамени, отримані студентами [5]. Науковці Л. Сяохон, В. Сяо, К. Кехуе та Х. Сяохон підкреслюють, що застосування reverse engineering педагогіки дозволяє розвивати у студентів такі якості як кооперативність, алгоритмічне мислення, креативність і вирішення проблем у навчанні дисципліни [6].

Рис. Онтологія знань про reverse engineering, сформована на основі досліджень науковців за 2019-2023 рр., проіндексованих в науко метричній базі даних Web of Science [1], [2]

Науковці Л. Хуамінь, Б. Ксюеху, В. Ксіую, Л. Хуаймінь, Й. Йінь, Л. Женгіан, Л. Кунже завдяки застосуванню reverse engineering досягли значного покращення практичних здібностей студентів [7]. Аналіз успішності студентів 2015 та 2016 років показав, що кейс-метод зворотного проектування та практика, орієнтована на завдання, стимулювали ентузіазм студентів до розробки програмного забезпечення та покращили результати досягнуті в дипломному проектуванні [7].

Вагомий внесок у розвиток освіти фахівців галузі інформаційних технологій внесли науковці М. Комацу, Х. Абуратані та С. Теаухім [8]. Науковці брали участь у проекті розвитку робочої сили в галузі інженерії, технологій та інновацій, спрямованому на підтримку, залучення інвестицій і збільшення промислового потенціалу Таїланду. У розробці курсів «Вступ до інженерного проектування», «Вступ до підходу до проектування», «Зворотне проектування» тощо, ними був використаний

посібник із системної інженерії NASA [8], який був оприлюднений у рамках програми з наукової та технічної інформації Science and Technical Information (STI) [9], [10], [11]. У результаті навчання із використанням даного посібника студенти досліджують процес життєвого циклу проекту від концепцій до фінальних етапів проектування та застосовувати даний інженерний підхід до своїх проектів [8]. Автори підкреслюють важливість розвитку інженерного мислення студентів на ранніх етапах вивчення курсів системної інженерії.

У роботі І. Клімека, М. Келтіка і Ф. Якаба [12] підкреслено, що не зважаючи на широке використання, reverse engineering не викладається в рамках курсів комп'ютерних наук. Автори аналізують деякі реальні сценарії використання reverse engineering, а також наводять приклади сценаріїв як можна викладати reverse engineering шляхом практичного розв'язання проблем, впровадження моделей та стратегій творчого мислення. На думку науковців reverse engineering можна використовувати як інструмент для стимулювання самомотивації студентів та систематичного розвитку логічного мислення та аналітичних навичок.

Науковець Мухамад Раза Алі (Muhammad Raza Ali) детально зупиняється на причинах чому необхідно приділяти увагу reverse engineering при підготовці майбутніх фахівців з програмування основна з яких полягає у тому що студенти навчаються розуміти чужий програмний код, навіть якщо він не містить документацію [13].

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

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

МЕТА ТА ЗАВДАННЯ / AIM AND TASKS

Метою дослідження є розробка педагогічних стратегій реалізації reverse engineering в підготовці майбутніх фахівців галузі інформаційних технологій на основі теоретичних рефлексій та ціннісного і критичного осмислення освітніх та виробничих практик і досвідів.

Відповідно до зазначеної мети визначено такі завдання: визначити основні підходи до використання reverse engineering у процесі навчання майбутніх фахівців галузі інформаційних технологій; з'ясувати проблеми, які можуть виникати при проведенні reverse engineering у фаховій діяльності; розробити на основі теоретичних рефлексій та ціннісного і критичного осмислення освітніх та виробничих практик і досвідів педагогічні стратегії реалізації reverse engineering в підготовці майбутніх фахівців галузі інформаційних технологій; сформувати рекомендації щодо того які саме програмні продукти варто пропонувати студентам в якості навчальних; визначити перспективи подальших досліджень використання reverse engineering у процесі навчання майбутніх фахівців галузі інформаційних технологій.

ТЕОРЕТИЧНІ ОСНОВИ ДОСЛІДЖЕННЯ / THE THEORETICAL BACKGROUNDS

Визначальною методологічною ідеєю даного дослідження є інтегративне застосування компетентнісного [14], [15] і системного [16], [17] трансдисциплінарного [18] підходів та ідей і традицій педагогічної інтеграції [19]. На застосування вказаних підходів формуються педагогічні стратегії реалізації reverse engineering для навчання майбутніх фахівців в галузі інформаційних технологій. На особистісно-професійному рівні вказані стратегії представляють собою особистісно-професійний інструментарій фахівця. Відповідно на цьому рівні педагогічні стратегії є системою, яка інтегрує його здатності, компетентності, навички, рефлексії, досвіди з метою ефективної реалізації reverse engineering. Вказані стратегії можуть бути інтегровані в фахову компетентність чи в системи компетентностей.

В досліджені застосовані ідеї і досвіди герменевтики і педагогічної герменевтики [20], які ми розглядаємо як шляхи адаптації існуючих у фахівця навичок до вирішення нових завдань в даному випадку реалізації reverse engineering для навчання майбутніх фахівців в галузі інформаційних технологій. Нами застосовуються методологічно ідеї системної психофізіології зокрема вчення про функціональні системи [21], [22] важливим висновком якого для педагогічної практики є ідея про те, що живий організм виробляє в процесі своєї діяльності «живі інструменти» взаємодії з середовищем на основі визначального значення цілепокладання і отриманого позитивного результату. Відповідно нами розробляється методологічна стратегія цілепокладання до реалізації reverse engineering. В системі ідей які привносить вчення про функціоальні системи особливе значення має значимість помилок і перебору варіантів вирішення задач робота над якими розглядається як шлях адаптації і ефективного функціонування. При навчанні і застосуванні reverse engineering визначення помилок і розгляд різних варіантів рішень має особливе професійне значення. Відповідно на основі цієї ідеї разом із застосуванням герменевтичного підходу сформована герменевтична стратегія в системі, якої інтерпретації і розуміння застосовуються для роботи над помилками і як актуальний шлях для перебору варіантів вирішення задач.

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

В методології, а також з метою практичного застосування була використана концепція деконструкції розроблена Жаком Деррідою [23].

МЕТОДИ ДОСЛІДЖЕННЯ / RESEARCH METHODS

В даному дослідження нами застосована система методів і підходів визначальними серед яких були:компетентнісний, діяльнісний,

системний, інноваційний, філософський, герменевтичний, трансдициплінарний, психологічний, аксіологічний, наративний, дискурсивний, дескриптивний, феноменологічний [24],[25],

психофізіологічний, холістичний, а також аналіз педагогічних і виробничих досвідів застосування reverse engineering, онтологічний аналіз знань про reverse engineering на основі досліджень науковців за 20192023 рр., проіндексованих в наукометричній базі даних Web of Science.

Нами були застосовані ідеї і традиції їх застосування: трансферу знань, вчення про функціональні системи, педагогічної інтеграції, концепція деконструкції Ж. Дерріди [23], когнітивстики, reverse engineering, професіоналізації. Компетентнісно орієнтовано було проаналізовані особливості освітнього і виробничого застосування спеціальних методик, які використовуються в reverse engineering, а саме: аналіз та розбір програмного забезпечення; побудова абстракцій; використання reverse engineering для тестування та підтримки програмного забезпечення; методика виявлення вразливостей; рефакторинг існуючого коду; а також класи інструментів - відладчик (debugger), дизасемблер (disassembler), аналізатори мережевого трафіку (network traffic analyzer), аналізатори програмного коду.

РЕЗУЛЬТАТИ ДОСЛІДЖЕННЯ / RESULTS OF THE RESEARCH

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

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

антиципаційну, феноменологічну, дескриптивну, дискурсивно- комунікативну, наративну, психологічну, творчу, рефлексивну, цілепокладання, мотиваційно-ціннісну, культурну, колегіальності, метафорично-мистецьку, репродуктивну.

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

діяльнісний, навчально-технологічний.

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

Другий рівень реалізації зазначених стратегій нами визначається як «Організаційно-діяльнісний». На цьому рівні вказані стратегії цілеспрямовано формуються і реалізуються як організаційні і діяльнісні складові професійної діяльності. Вони по суті, в значній мірі, стають методологічно-організаційною матрицею професійної діяльності і відіграють роль системного атрактора. Відповідно стратегії спрямовані як на формування ціннісно-смислових, мотиваційних і методологічні контекстів професійної діяльності, так і на розвиток професійної культури reverse engineering.

Третій рівень реалізації зазначених стратегій нами репрезентується як «Навчально-технологічний». На даному рівні вказані стратегії цілеспрямовано формуються і реалізуються як навчальні, методологічні, методичні, технологічні, а також частково як організаційні і діяльнісні складові професійної і освітньої діяльності. Хоча робота з reverse engineering містить значимий аспект творчості, ми робимо акцент на проблематиці технологічності. Це зумовлено тим, що reverse engineering по суті, навіть при роботі з окремими зразками, має справу з певними окремими технологіями, з цілим їх спектром чи з результатом їх реалізації.

Розглянемо тезисно представлені вище педагогічні стратегії використання reverse engineering в підготовці майбутніх фахівців галузі інформаційних технологій.

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

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

Інтелектуально-аналітична стратегія. Дана стратегія включає актуалізацію як професійного інтелекту так і когнітивної сфери в цілому. Особливе значення в системі даної стратегії мають аналітичні здібності і навички як такі що сприяють проведенню детального аналізу проблеми з метою її структурування, деталізації, визначення актуальних і прихованих смислів і значень, взаємозв'язків, протиріч, залежностей, закономірностей, стилів, ймовірних помилок тощо. В рамках даної стратегії актуальною є застосування елементів методології деконструкції розробленої Жаком Деррідою [23]. Навчально-технологічний і організаційно-діяльнісний рівні даної стратегії реалізуються шляхом актуалізації аналітичних навичок, перш за все, із застосуванням завдань, характерних для reverse engineering. Тобто, ми вказуємо на необхідність формування цілеспрямованої спрямованості інтелекту та розвитку специфічних професійних інтелектуальних цінностей reverse engineering. Водночас, важливим є підтримання «загального» високого рівня аналітико-снтетичних здатностей інтелекту як фонових, що є важливим для вирішення складних нетипових завдань.

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

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

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

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

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

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

Психологічна стратегія спрямована на формування у фахівця здатності до психологічно орієнтованого розуміння проблематики. Визначальним аспектом в даній стратегії є вміння на основі осмислення продукту, який підлягає reverse engineering зрозуміти психологічний і перш за все ментальний стан розробника, його професійно-ментальну спрямованість тощо, щоб таким чином знайти шлях до вирішення проблеми. Метафорично це можна представити як «Через знання психології та когнітивних стилів, стереотипів, патернів, алгоритмів розробника до визначення структури і функції продукту»

Творча стратегія полягає в актуалізації здатності фахівця на основі представлених зразків знаходити шлях до розуміння їх автентичної структури і специфіки функціонування так і вміння створювати якісно відмінні за структурою але наближені чи ідентичні за функціонуванням продукти. Тобто reverse engineering в такому випадку реалізується не шляхом копіювання, а через створення нового. Метафорично це можна представити як «Модель (еквівалентна або краща за) Продукт» і розкрити в фразі «Через творчість до створення нового зразка, який структурно і функціонально є ідентичним чи кращим за вихідний продукт».

Культурна стратегія спрямована на формування навичок фахівця

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

Наступні стратегії ми представимо оглядово.

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

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

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

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

Репродуктивна стратегія спрямована на формування інтелектуальних і професійних установок та навичок спрямованих на максимальне відтворення в моделі, яка розробляється структури і функції вихідного первинного зразка (продукту). Метафорично це можна представити як «Модель еквівалентна Зразку».

Колегіальна стратегія спрямована на ефективну реалізацію reverse engineering в системі колективної роботи. Дана стратегія є однією з основних і значною мірою формується на основі наявних у фахівця м'яких навичок.

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

Аналіз та розбір наявного програмного забезпечення: студенти можуть вивчити код наявних програм, аналізувати його, визначати недоліки та пропонувати свої власні рішення для поліпшення функціональності, ефективності та якості програм. Набуття навичок аналізуірозуміннячужогокоду(sourcecode)єдужеважливим у

становленні майбутнього професіонала.

Побудова абстракцій: reverse engineering може бути використано для вивчення як конкретних деталей програмного коду, так і вивчення абстракцій та загальних концепцій, виділяти application layers - бізнес- рівень, рівень доступу до даних тощо. Це допоможе студентам побачити більшу картину та зрозуміти, як компоненти програми працюють разом.

Використання reverse engineering для тестування та підтримки програмного забезпечення: студенти можуть використовувати reverse engineeering для тестування та підтримки програмного забезпечення, зокрема, для виявлення та виправлення помилок, підвищення ефективності та забезпечення якості програм.

Виявлення вразливостей: використання reverse engineering може допомогти студентам визначити програмні вразливості та шляхи їх усунення. Це може бути особливо корисним для тих, хто вивчає кібербезпеку.

При використанні reverse engineering студенти знайомляться з такими класами інструментів як відладчик (debugger), дизасемблер (disassembler), аналізатори мережевого трафіку (network traffic analyzer), аналізатори програмного коду.

У деяких випадках reverse engineering потребує проведення рефакторингу існуючого коду, що буде формувати навички студентів в проведенні останнього.

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

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

Складність коду: код програмного продукту може бути складним та недостатньо структурованим, що може ускладнити розуміння його роботи та проведення reverse engineering. Для подолання проблеми складності коду можна використовувати методи аналізу коду, такі як аналіз залежностей, аналіз потоку даних та інші.

Code smell issues: код програмного продукту може бути неякісним з точки зору архітектури, дизайну, ефективності, читабельності, безпеки та інших аспектів. Це поняття тісно пов'язано з вище згаданим поняттям рефакторингу, проведення якого в даному випадку є необхідним.

Сформуємо рекомендації щодо того, які саме програмні продукти варто пропонувати студентам в якості навчальних, тобто тих reverse engineering яких потрібно провести:

Дипломні або курсові проекти минулих років. Використовувати при цьому слід лише ті роботи, які оцінені позитивно, в іншому випадку можливий значний негативний вплив code smell issues. Студент має отримати доступ не до всієї роботи, а лише до програмного коду.

Відкриті (public) проекти на GitHub. Педагог має зробити попередній вибір тих проектів, якість, обсяг та тематика підходять до курсу викладання.

Програмне забезпечення з відкритим вихідним кодом SourceForge.

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

Застосування reverse engineering може допомогти студентам майбутніх фахівців галузі інформаційних технологій розвивати такі навички та уміння:

Аналітичні навички:студенти вчаться аналізувати програмне

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

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

Розуміння захисту програмного забезпечення: проведення reverse engineering допомагає студентам розуміти захист програмного забезпечення та виявляти слабкі місця, які можуть бути використані для злому.

Розробка тестових сценаріїв:студенти можуть навчитись

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

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

Креативне мислення: reverse engineering може сприяти розвитку професійно орієнтованого креативного мислення студентів, оскільки вони повинні знаходити нові способи розв'язання проблем та використовувати різноманітні підходи для розуміння програмного забезпечення.

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

ВИСНОВКИ ТА ПЕРСПЕКТИВИ ПОДАЛЬШИХ ДОСЛІДЖЕНЬ / CONCLUSIONS AND PROSPECTS FOR FURTHER RESEARCH

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

2. Педагогічні стратегії реалізації reverse engineering мають три рівні. На першому «Особистісно-професійному рівні» вони розглядаються як особистісно-професійного інструментарій фахівця і представляють собою його здатності, включаючи навички, рефлексії, досвіди тощо. Вказані стратегії при необхідності можуть бути інтегровані в цілеспрямовано задані компетентності. Другий рівень представлений як «Організаційно- діяльнісний», в рамках якого вказані стратегії реалізуються як організаційні і діяльнісні складові професійної діяльності. Третій рівень - «Навчально-технологічний» репрезентує вказані стратегії як навчальні, методологічні, методичні, технологічні, а також частково як організаційні і діяльнісні складові професійної і навчальної діяльності.

3. У даній педагогічній системі виділяється 16 педагогічних

стратегій:фахова, інтелектуально-аналітична, герменевтична,

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

4. З позицій методологічного осмислення наявних практик і досвідів для ефективного використання reverse engineering у процесі навчання актуальним є наявність таких навчальних компонентів як: аналіз та розбір наявного програмного забезпечення; побудова абстракцій; використання reverse engineering для тестування та підтримки програмного забезпечення; виявлення вразливостей; знайомство з такими класами інструментів як відладчик (debugger), дизасемблер (disassembler), аналізатори мережевого трафіку (network traffic analyzer), аналізатори програмного кодую; проведення рефакторингу існуючого коду.

5. Навчання reverse engineering, в свою чергу, є значимою та

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

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

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

...

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

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