Възможности за използване на образователната платформа CodeCombat в обучението по компютърно моделиране и информационни технологии (КМИТ)
(Ани Ангелова Вакъвчиева – ст. учител по КМИТ, в СЕУ „Св. Паисий Хилендарски“ – гр. Дупница)
Резюме: Статията представя образователната платформа CodeCombat, която е сериозна игра и предоставя учебни ресурси за изучаване на програмиране чрез забавни и интерактивни сценарии. Платформата е насочена към ученици от всички етапи на средното образование и съчетава обучение със забавление. Целта ѝ е да предостави знания и умения по програмиране по интересен и ангажиращ начин.
В CodeCombat са разработени изчерпателни курсове, съдържащи над 400 нива, които покриват различни аспекти на програмирането. Платформата се основава на стандарти за програмиране, разработени в САЩ и е подходяща както за начинаещи, така и за напреднали ученици. Базирането на тези стандарти не противоречи на целите на обучението по компютърното програмиране, които са заложени в ДОС и учебните програми по компютърно моделиране в системата на българското образование. Предоставянето на задачи и мисии във виртуална среда стимулира мотивацията и развива уменията за програмиране на учениците. Платформата е фокусирана върху активното и ангажиращо обучение на текстови скриптови езици за програмиране.
Ученето чрез игра, известно също като игрово обучение или геймифицирано обучение, е образователен метод, при който се използват игри и игрови елементи за предоставяне на образователни цели и материали. Този подход комбинира образованието с елементи от игрите, които са привлекателни, забавни и ангажиращи, за да стимулират интереса и мотивацията на учениците, като в същото време улесняват усвояването на знания и умения. [1]
В учебния контекст, игрите могат да бъдат използвани за обучение на различни умения и знания, включително академични дисциплини като математика, езици, наука и история, както и социални умения като сътрудничество, комуникация и проблемно-решаване.
При ученето чрез игра, учениците учат, като участват активно в създаването на знания и решават задачи в контекста на играта. Те се насърчават да изпробват различни стратегии, да правят избори и да изпитват последиците от техните решения. Този тип обучение стимулира критичното мислене, решаването на проблеми, сътрудничеството и създаването на връзки между новите знания и вече придобитите умения. [2]
Подходът към учене чрез игра може да варира от по-структурирано и целенасочено обучение с използването на игрови сценарии и симулации до по-открити и свободни игри, където учениците имат възможност да изследват и откриват знания самостоятелно.
Терминът „сериозни игри“ (serious games) се отнася до игри, които се използват в образователен контекст с цел да предоставят повече образователни възможности. Тези игри съчетават целенасоченото обучение със забавление и имат за цел да подобрят ученето и развитието на учениците [3].
Сериозните игри заемат важно място в ИКТ-базираното обучение. Игрите имат съществено значение и за умственото развитие. През играта, индивидът не само се забавлява, но и учи, развива своето мислене и умения за преценка, класифициране и обобщение; подобрява вниманието и паметта си; развива координацията и моторните си умения. Всичко това се отнася и за компютърните игри, които също имат голяма привлекателна сила за мнозина ученици. Често те предпочитат виртуалния свят и игрите в него пред реалността. Тази особеност на учениците може да бъде използвана от преподавателите за стимулиране на техния интерес към учене и развиване на техния творчески потенциал.
Сериозните игри в обучението комбинират игровите елементи с конкретни образователни цели. Те имат своето място при повишаване на мотивацията на учениците в обучението по компютърно моделиране и конкретно при изучаването на програмни езици. За тях е характерно и ученето чрез преживяване, което е представено под формата на сценарии и решаване на конкретни задачи. Това от своя страна допринася за развите на критичното мислене, свързано с решаване на конкретен проблем. Експериментирането от страна на учениците по метода „проба – грешка“ е в основата на сериозните игри, при които резултатите се визуализират веднага и в голяма степен влизат в режим на самообучение. [4]
Някои от игрите предоставят и възможност за екипна работа. Развиването на сътрудничеството и комуникацията в група е изключително важно не само в програмирането, а и във всички сфери на познанието и социално-икономическия живот. Развиването на т.нар. „меки умения“ е заложено както в стратегически документи, свързани с образователния процес, така и в конкретни нормативни документи.
Някои примери за геймификация в образованието по компютърни науки включват ученено чрез игри: Това включва използването на игри за обучение на конкретни програмистки концепции, като програмиране, алгоритми и структури от данни. Примери за това са Code.org, Scratch и Gamestar Mechanic, CodeCombat и др. Геймифицирани учебни планове: Това включва имплементиране на игрови елементи в традиционни учебни планове, като програмни задачи, проекти и изпити. Учителят може да предостави точки за завършване на програмни предизвикателства или да използва таблици с резултати, за да стимулира състезанието между учениците.
В настоящата статия се представят възможностите на образователната платформа CodeCombat, която изцяло отговаря на дефиницията за сериозни игри. При анализ и проучване на различни източници за идентифициране на игрови платформи с образователна цел, водещите критерии бяха свързани с достъпност, спираловидност при надграждане на знанията, възможности за упражняване на знания и умения, заложени в учебното съдържание и насочени към изучаване на двата езика за програмиране Python и JavaScript. Друга важна част по отношение на достъпността е и възможността учебните ресурси и задачи да бъдат представени и на български език.
Приложимостта е свързана с изпълнението на всички описани по-горе критерии.
Таблица 1. Сравнителен анализ на образователни платформи и инструменти за обучение по компютърно моделиране в прогимназиален етап
Наименование | Абонамент | Език за програмиране | Ниво | Прило-жимост |
Codecademy | Free trial for 7 days | HTML/CSS, Python, PHP, Ruby, APIs, Javascript, jQuery | Начинаещи | Неприложима |
Codeschool | Paid | Ruby, JavaScript, HTML/CSS, Python, iOS, Git, Databases, Electives | Средно до високо ниво | Неприложима |
Treehouse | Paid (free trial) | Android, C#, CSS, Databases, Design, Development, Digital Literacy, Game Development, HTML, iOS, JavaScript, PHP, Flask, Swift, Python, Ruby, WordPress, Java, Web Design, PHP, WordPress, workshops, courses | Начинаещи до напреднали | Неприложима |
CodinGame | Free | C, C++, Java, C#, PHP, Python, Ruby, Javascript, Objective-C, Go, Haskell, Scala, Perl, Dart, Bash, Pascal, Groovy, Clojure, VB.NET, Lua, F#, OCami, Swift, Rust | Средно до високо ниво | Неприложима |
Checkio | Free | Python | Напреднали | Неприложима |
FightCode | Free | JavaScript | Начинаещи | Неприложима |
Robocode | Free | Java | Начинаещи до напреднали | Неприложима |
Code Hunt | Free | Java, C# | Начинаещи до напреднали | Неприложима |
Code.org | Free | Блоково програмиране | Начинаещи до напреднали | ü |
Scratch | Free | Блоково програмиране | Начинаещи до напреднали | ü |
Blockly Games | Free | Блоково програмиране | Начинаещи до напреднали | ü |
CodeCombat | Free/extra levels are paid (9,99$) | Python, JavaScript | Начинаещи до средно напреднали | ü |
Replit | Free | Python, JavaScript, HTML, CSS | Начинаещи до средно напреднали | Няма характеристика на игра |
PythonTurtle | Free | Python | Beginners to intermediate | Приложение без игровизация |
В основата на образователната платформа CodeCombat е целта за предоставяне на знания и умения по отношение на често използвани програмни езици по атрактивен, забавен и ангажиращ начин. Концепцията на платформата е да съчетае игрите и задачите с обучителни материали, свързани с реални езици за програмиране, и е подходяща за изучаване на част от материала, предвиден в учебните програми в 6. и 7. клас. което позволява на учениците да се научат на програмиране, докато се забавляват и развиват своите умения.
CodeCombat е образователна платформа за учене на популярни текстови скриптови езици, чрез игра. Тя предлага интересно и интерактивно изживяване, чрез което учениците могат да изучават и практикуват различни езици за програмиране, като решават задачи и предизвикателства във виртуална игрова среда.
CodeCombat съчетава обучението и забавлението, като предлага интерактивни сценарии на изпълнение на задачи или цели, които трябва да бъдат завършени за постигане на определен резултат и/или награда, както и виртуални и битки, в които учениците могат да прилагат своите умения за програмиране в реално време.
Тя е безплатна уеб-базирана платформа за учене на основни текстови скриптови езици за програмиране чрез игра.
Създадена през 2013 г., в Сан Франциско, тя съдържа две игри за програмиране, Ozaria и CodeCombat. И двете игри са специално разработени за учебни цели.
Фигура 2. Екранни снимки от началните еккрани на двете игри – Ozaria и CodeCombat
Основната концепция и на двете игри е една и съща. Разликата се състои във визуализацията и частичното ползване на български език. Изборът на автора коя от двете игри да се предложи на учениците е пряко свързан както с визуалния изглед на игрите, така и с възможността (дори и в незначителна степен) за ползване на български език. За разлика от Ozaria, CodeCombat предлага и инструкции на български език в началните нива. В тази връзка играта CodeCombat дава възможност на всички желаещи да превеждат на български език, условията и помощната информация в различните нива на играта, чрез секция „Стани дипломат“. Това дава възможност в бъдеще да има повече ресурси и информация на български език.
Фигура 3. Екранна снимка за начина, по който могат да се регистрират преводачи
Графичният изглед в CodeCombat е представен с визуални елементи, които пресъздават фантастичен свят. Учениците имат възможността да се насладят на красиво изглеждащи графики, включващи герои, награди и предизвикателства, като това създава една приключенска атмосфера, повишаваща мотивацията за учене. Графичните елементи на платформата са създадени със забавен и привлекателен дизайн, което ги прави достъпни и за по-малките ученици.
Играта се изпълнява в рамките на концепцията на Колб за ученето чрез личен опит (experience learning) [5], според който учениците натрупват лично преживяване, което в последствие осмислят и чрез рефлексия го извеждат като общи принципи и логически конструкции.
Както при всички образователни платформи генералната концепция на CodeCombat е да предостави интерактивна и забавна среда, в която потребителите могат да изучават и практикуват текстов скриптов език за програмиране чрез игра. Преодоляването на традиционните затруднения в обучението по програмиране е основна цел на платформата, като процесът на учене е представен по-достъпен и привлекателен за начинаещите ученици начин. Изследователският и откривателски подход са силно застъпени в тази образователната платформа, като чрез предоставянето на сценарии учениците разбират основни принципи, които те могат да прилагат в реални ситуации. Когато ученето се представя като игра то се превръща в забавна дейност, в която учениците се радват да участват, като се ангажират и активно участват в учебния процес.
В контекста на игрите, изпълнението на мисии са представени като серия от предизвикателства или задачи, които играчите трябва да изпълнят. Те могат да включват откриване на определени места, събиране на предмети или битки с противници. Когато учениците напредват през съответните нива, те всъщност разкриват историята, заложена в общия сценарий на играта, отключват нови нива и получават награди. Поставянето на определени цели и изпълнението на задачи във виртуална или реална среда е начин да се стимулира ангажираността и мотивацията на учениците, да развиват умения в областта на програмирането и то в устойчив план.
Играта съдържа единадесет изчерпателни курса с над 400 нива, които са обособени според съответната възраст и ниво на знания и умения.
За използване на CodeCombat не са необходими никакви първоначални познания за текстов скриптов език, като тя обхваща ученици (играещи), които са напълно начинаещи, до такива със знания и умения в програмирането на средно ниво или по-високо равнище. За начинаещите, CodeCombat предоставя ясни инструкции и указания, свързани с разбирането на основните концепции в програмирането. Всеки участник може да проследява собственият си напредък в играта, чрез учителското табло. Нивата в CodeCombat са представени под формата на игрови сценарии, включени в общи мисии, представени като фантастични „островни светове“. Всяка мисия съдържа редица нива, чиято трудност за преминаване се увеличава постепенно. Това напълно съответства с прилагането на спираловидния подход в обучението, като учениците започват с основни понятия и постепенно преминават към по-сложни концепции и алгоритми в програмирането.
Платформата предоставя голямо разнообразие от задачи, които покриват различни аспекти на програмирането, като синтаксис, условия, цикли, функции, обекти и др. Пълната учебна програма на CodeCombat се основава на основни стандарти за програмиране основно разработени в САЩ, като Международното общество за технологии в образованието (ISTE), Асоциацията на учителите по компютърни науки (CSTA) и рамката за компютърни науки K-12. Базирането на тези стандарти не противоречи на целите на обучението по компютърното програмиране, които са заложени в ДОС и учебните програми по компютърно моделиране в системата на българското образование.
В началото на всяко ниво, играчите получават информация и инструкции за задачата, която трябва да решат. Те използват реален синтаксис и програмни конструкции за да „напишат кода“, който ще възпроизведе желаното поведение на героя или други обекти в играта. Набляга се на правилното подреждане на отделните команди, а не върху правилното им изписване. Платформата дава възможност за избор на съответните команди, които са подходящи за решаването на съответната задача. По време на играта, платформата предоставя набор от инструменти, като подсказки, отстраняване на грешки и предварително написан код, които помагат на играчите да се справят с предизвикателствата.
CodeCombat не указва предварително на играчите, че въвеждат код или че учат компютърно програмиране. Представя се точно като игра, която изисква да се въведе правилния „отговор“, за да се получи желания резултат. В тази връзка са създадени и първите въвеждащи три нива. За да се „изпробва“ играта дори не е необходимо играчът да създава акаунт. Няма необходимост от акаунт, за да се пробва играта. Има опция „Играйте сега“, която препраща в първата зона на играта. Оттам има възможности за избор на герой, и след това избор на език за програмиране: JavaScript, Python и други.
Фигура 4 Екранни снимки, представящи механизъма за включване в играта
CodeCombat осигурява и обратна връзка за играчите, показвайки резултатите от тяхното програмиране в реално време. Това позволява на играчите да виждат веднага как кодът им влияе на действията на героя в играта и дали задачата е решена правилно.
Информацията, предоставена в платформата CodeCombat, включва както инструкции по задачите и въведение в различни програмни концепции, така и допълнителни материали и ресурси за учене на програмиране. Освен това, играчите могат да се включат в общността на CodeCombat, да обменят идеи и да споделят своите постижения с други потребители.[1] Социалното взаимодействие и комуникация между учениците е важен фактор за изграждане на екипна среда, като CodeCombat предлага възможности за сътрудничество и комуникация между учениците. Те могат да играят заедно, да споделят идеи и да работят като екип за решаване на проблеми. Това помага за развитието на социални умения и умения за работа в екип. При успешно преминаване на съответното ниво, учениците имат възможност да се запознаят и с решението на други играчи, използващи същия или друг скриптов текстов език за програмиране, предложен в платформата.
CodeCombat позволява на учениците да напредват в свой собствен ритъм, както и да получават обратна връзка. Тя се получава по две линии, както чрез учителя, така и в собствения си профил, което подпомага персонализирането ученето и напредването на всеки ученик. В зависимост от нивото на възприетите знания и умения на ученика, играта може да се адаптира, за да предостави подходящи предизвикателства. Това се изразява във възможността да бъдат пропускани нива, които представляват упражнение на вече познато съдържание.
- Резултати и награди
При успешно преминаване на всяко ниво играчът получава награди, които се изразяват с точки за опит, скъпоценни камъни (това е „разплащателното средство“ в платформата), нови умения и защити на героя. Когато е налице грешка в кода, на екрана се визуализира съобщение, съдържащо информация в кой ред на кода се намира тя. Във връзка с допуснатата грешка учениците могат да използват и помощната информация, представена чрез бутона „Hints“ (подсказки).
Фигура 5. Екранни снимки на успешно завършено ниво и грешка в кода
При достигане на определени знания и умения, свързани с успешно преминаване на 19 нива, ученикът получава Сертификат за завършено ниво „Въведение в компютърната наука“, автоматично генериран от платформата.
Фигура 6. Сертификат за завършено ниво „Въведение в компютърната наука“ на ученик от 5. Клас
Освен стимулиращото въздействие на самата игра, учителят също насърчава учениците за положените усилия, имайки предвид доброволното участие в играта.
Образователната платформа CodeCombat предоставя на учителите множество ресурси, включително и подробно разработени уроци. За да се използват тези възможности са необходими минимум базови познания по английски език. Дори и такива да не са налични, чрез средствата на съвременните информационни технологии това лесно може да бъде преодоляно.
Платформата подпомага преподавателите в организацията на игровите дейности, както като предоставя конкретни и обобщени данни за напредъка на учениците, така и работата на учителя по отношение на неговата методическа работа. Според зададените критерии е налично и автоматизирано ръководство за учителя, генерирано на базата на постиженията на учениците.
Учебните ресурси за преподавателите са разделени на две: учебни планове и учебни слайдове. Те са част от учителското табло и се намират в секцията Course Guides. Учебните планове представляват илюстрирани решения на мисията за всяко ниво на играта, включително и програмния код. Те са налични и за трите програмни езици, заложени за изучаване в платформата.
Учебните слайдове представляват готови презентации, които учителите могат да използват в учебните часове, както при представяне на нови знания, така и за задачи за упражнение.
За разлика от учебните планове, които съдържат решения на задачи само на един език за програмиране, то презентациите от една учебна единица представят решения на едни и същи задачи, сравнявайки ги последователно на двата програмни езика – Python и JavaScript. Тези презентации могат да бъдат изтегляни и модифицирани според нуждите и целите на учителя.
Платформата подпомага преподавателите в организацията на игровите дейности, както като предоставя конкретни и обобщени данни за напредъка на учениците, така и на учителя по отношение на неговата методическа работа. Според зададените критерии е налично и автоматизирано ръководство за учителя, генерирано на базата на постиженията на учениците.
Образователната платформа CodeCombat, предоставя възможности по атрактивен, интуитивен и лесен начин, учениците да възприемат основни понятия в компютърната наука (команда, алгоритъм, код, цикъл и др.), чрез игра, като в същото време не се набляга на заучаване на определен синтаксис. Тя е подходяща за ученици в във всички етапи на началното и средно образование. Има възможности да се използва, както в часовете, така и в извънкласни и извънучилищни форми на обучение.
Литература:
- Prensky, M. (2001). Digital game-based learning. Paragon House.
- Gee, J. P. (2003). What video games have to teach us about learning and literacy. Computers in Entertainment (CIE), 1(1), 20-20.
- Терзиева & Кадемова-Кацарова, 2013
- Yu Zhonggen, 2019 :„A Meta-Analysis of Use of Serious Games in Education over a Decade“, International Journal of Computer Games Technology
- McLeod, S. (2017). Kolb’s learning styles and experiential learning cycle. Simply psychology, 5.
- https://codecombat.com/#
[1] https://codecombat.com/#