• Nie Znaleziono Wyników

ZAJĘCIA WPROWADZAJĄCE DO TWORZENIA GIER W JĘZYKU PYTHON

N/A
N/A
Protected

Academic year: 2022

Share "ZAJĘCIA WPROWADZAJĄCE DO TWORZENIA GIER W JĘZYKU PYTHON"

Copied!
19
0
0

Pełen tekst

(1)

dsdsdfVC

Projekt „Rozwój Innowacyjnych Działań Naukowych w Ramach Średniego Kształcenia Zawodowego Celem Zachęcania Uczniów do Kariery Naukowej i Edukacyjnej STEM”, nr odn. 2017-1-BG01- KA202-036327

M ASTER C LASS

ZAJĘCIA WPROWADZAJĄCE DO

TWORZENIA GIER W JĘZYKU PYTHON

Licencja Creative Commons - Uznanie Autorstwa - Użycie Niekomercyjne - Na Tych Samych Warunkach CC BY- NC-SA

(2)

1

Wprowadzenie 2

Koncepcja aktywności i plan zajęć 3

Tematyka zajęć

Poziom trudności / wiek uczniów Wymagana wcześniejsza wiedza Czas wymagany na realizację Prowadzący

Uzyskana wiedza i rozwinięte kompetencje - uczniowie Uzyskana wiedza i rozwinięte kompetencje - nauczyciele

Uzyskana wiedza i rozwinięte kompetencje - pracownicy lub studenci uniwersyteccy Materiały niezbędne do realizacji działań

Podział działań

Przydatne linki do zasobów Sugerowane dalsze opracowania Źródła stosowane do rozwijania zasobu

Arkusz wiedzy dotychczasowej 7

Redaktorzy

Wprowadzenie do tematu

Znaczenie dla życia codziennego / gospodarki / społeczeństwa Szczegółowe przedstawienie tematu

Wytyczne dla prowadzących w zakresie przekazywania wiedzy naukowej

Arkusz planowania wykładów 11

Cel Warunki

Miejsce wystąpienia/wykładu

Możliwe zaangażowanie studentów w działanie Czas i analiza

Arkusz planowania działań praktycznych / eksperymentów 13

Cel Warunki

Możliwe zaangażowanie studentów w działanie Zakres działań praktycznych

Czas i analiza działań praktycznych

Załącznik I: Źródło Wiedzy 15

(3)

2

Niniejsze zajęcia Master Class to zajęcia typu „on-campus” i zajęcia wprowadzające dla uczniów szkół średnich, łączące wizyty w pracowniach komputerowych z informacyjnymi, interaktywnymi wykładami na tematy naukowe związane z programowaniem komputerowym i grami cyfrowymi, które mają bezpośrednie znaczenie dla życia młodych ludzi. Należy je planować w taki sposób, aby odbywały się na uniwersytecie i wykorzystywały dostępne pracownie oraz inny sprzęt.

J A K K O R Z Y S T A Ć Z T E G O Z A S O B U

Wprowadzenie

(4)

3

Wprowadzenie do języka programowania Python i podstawowe pojęcia w zakresie tworzenia gier.

Niniejsze Zajęcia z Mistrzem skierowane są do uczniów szkół średnich, którzy mają już pewnie doświadczenie w programowaniu, aby mogli łatwo zrozumieć podstawowe pojęcia programowania w Python wykorzystane w grze pamięciowej.

Uczniowie powinni posiadać wcześniejsze doświadczenie w stosowaniu zmiennych, stwierdzeń if-then-else (jeśli-to-lub), pętli oraz funkcji w dowolnym języku programowania, aby mogli łatwo zrozumieć jak język Python wspiera te koncepcje programowe.

2 do 3 godzin akademickich

Najlepiej nauczyciele uniwersyteccy mający doświadczenie w nauczaniu podstaw programowania (najlepiej z wykorzystaniem języka Python).

Zadanie może być również z łatwością realizowane przez studentów, którzy ukończyli studia lub studentów na późniejszym etapie studiów pod warunkiem, że uprzednio uzyskali instrukcje.

Ogólna wiedza i zrozumienie podstawowych terminów programowania w Python:

• zmienne boolean, integer i łańcuchowe

• funkcje i zmienne lokalne/globalne

• listy

• wyrażenia boolean i arytmetyczne

• funkcje

• obiekty i metody

Ogólna wiedza i zrozumienie koncepcji programowania opartego na zdarzeniach (programowanie oparte na zdarzeniach to podstawowy model programowania stosowany we wszystkich współczesnych interfejsach graficznych oraz powiązany również z zarządzaniem danymi wejściowymi z urządzeń zdalnych oraz urządzeń I/O podłączonych do komputera):

• Zdarzenia i wywołania zwrotne

• Pętla zdarzeń

Uczniowie będą rozwijać podstawowe umiejętności w zakresie programowania.

T E M A T Y K A Z A J Ę Ć

P O Z I O M

T R U D N O Ś C I / W I E K U C Z N I Ó W

W Y M A G A N A W C Z E Ś N I E J S Z A W I E D Z A

C Z A S W Y M A G A N Y N A R E A L I Z A C J Ę

P R O W A D Z Ą C Y

U Z Y S K A N A W I E D Z A I R O Z W I N I Ę T E K O M P E T E N C J E - U C Z N I O W I E

Koncepcja aktywności i plan zajęć

(5)

4

Zakładając, że nauczyciele towarzyszący to nauczyciele informatyki, którzy już uczą programowania, mogą zdobyć wiedzę na temat reguł składniowych Python wspierających programowanie proceduralne, jak i paradygmatów programowania obiektowego i opartego na zdarzeniach (jeśli ich jeszcze nie znają).

Towarzyszący nauczyciele nauczą się również jak korzystać z platformy CodeSkulptor http://www.codeskulptor.org, do późniejszego możliwego wykorzystania na swoich zajęciach.

Wreszcie, nauczyciele rozwiną swoje kompetencje dydaktyczne w zakresie nauczania programowania.

Personel uniwersytecki poprawi swoje umiejętności w nauczaniu oraz przekazywaniu wiedzy naukowej.

Aby skutecznie wesprzeć zajęcia Master Class, wszyscy zaangażowani studenci również rozwiną swoje umiejętności w języku Python i zrozumieją, jak można wykorzystać Python jako wprowadzający język programowania poprzez opracowywanie niezależnych przykładów (projektów) w formie mini-gier.

Projektor multimedialny (lub TV) i komputer podłączony do Internetu, aby pokazać uczestnikom kod gry pamięciowej wykorzystanej podczas tych zajęć Master Class.

Do wyjaśnienia przedstawianego kodu za pomocą schematów może się również przydać tablica.

Komputery podłączone do Internetu, na których uczestnicy mogą pracować w grupach, wykorzystując i zmieniając przedstawiony kod.

Uczniowie korzystać będą z platformy CodeSkulptor http://www.codeskulptor.org będącej prostą biblioteką GUI, którą można wykorzystać do tworzenia prostych grafik i gier cyfrowych wykorzystujących elementy graficzne. CodeSkulptor dostępny jest online, więc nie ma potrzeby jego instalowania.

Podejście to jest oparte na wykorzystaniu gotowej gry, która jest wstępnie przedstawiana uczniom wraz z informacjami o podstawowych konstrukcjach programistycznych języka Python.

Prezentacja wstępna obejmuje podstawowe pojęcia związane z programowaniem gier, takie jak zdarzenia, funkcje wywołania zwrotnego i pętla zdarzeń. Po prezentacji wstępnej, uczniowie biorący udział i towarzyszący im nauczyciele są proszeni o opracowanie możliwych rozszerzeń początkowo przedstawionej gry pamięciowej i ostatecznie do zaprezentowania swoich zmian w etapie końcowym, który skupia się na autorefleksji.

Niniejsze zajęcia Master Class podzielone są na 3 części:

U Z Y S K A N A W I E D Z A I R O Z W I N I Ę T E K O M P E T E N C J E - N A U C Z Y C I E L E

U Z Y S K A N A W I E D Z A I R O Z W I N I Ę T E K O M P E T E N C J E - P R A C O W N I C Y L U B S T U D E N C I

U N I W E R S Y T E C C Y

M A T E R I A Ł Y N I E Z B Ę D N E D O R E A L I Z A C J I D Z I A Ł A Ń

P O D Z I A Ł D Z I A Ł A Ń

(6)

5

1. Wykład informacyjny: Ta część powinna odbywać się w sali wykładowej lub auli uniwersytetu organizującego, aby uczniowie mogli poczuć, jak to jest być studentem. Rozpoczyna się od powitania i krótkiego „przełamania lodów”, skupionego na omówieniu wcześniejszych doświadczeń uczniów w zakresie programowania i grania w gry cyfrowe. Następnie przedstawiana jest gra pamięciowa, a uczniowie zapraszani do zagrania w nią, po czym przedstawiany jest jej kod.

2. Działania praktyczne / wizyta w pracowni: Ta część powinna odbywać się w pracowni komputerowej, więc najpierw należy przejść z sali wykładowej do pracowni komputerowej, aby rozpocząć ten etap.

Zasadniczo, część druga podzielona jest na następujące etapy:

Etap 1 - Jeśli jeszcze się tam nie znajdują, uczniowie i towarzyszący im nauczyciele przechodzą do sali komputerowej, gdzie odbędzie się część laboratoryjna.

Etap 2 - Na tym etapie uczniowie dzieleni są na grupy składające się z 2-4 osób (w zależności od liczby dostępnych komputerów i liczby uczestniczących uczniów).

Etap 3 – Grupy proszone są o wprowadzenie pewnych zmian w kodzie gry pamięciowej. Mogą stworzyć swoje własne zmiany lub wykonać konkretne zadania określone przez prowadzącego.

Etap 4 – Pracownicy lub studenci uniwersyteccy zaangażowani w zajęcia Master Class pełnią rolę koordynatorów, pomagających uczniom w opracowywaniu wybranych zmian/remiksów. Rolę tę mogą pełnić również nauczyciele towarzyszący.

3. Autorefleksja uczniów: Ta część powinna odbywać się w sali wykładowej lub auli, najlepiej tej samej, która była wykorzystana do pierwszej części Zajęć z Mistrzem. W związku z tym, pierwszym etapem jest przejście z pracowni komputerowej z powrotem do sali wykładowej lub auli. Tam każda grupa kolejno przedstawia swoją wersję gry pamięciowej opracowaną w części 2. Grupy proszone są również o zgłoszenie napotkanych trudności i podzielenie się rozwiązaniami wszelkich problemów. Po prezentacjach uczniów, prowadzący kończy spotkanie i udostępnia dodatkowe linki oraz informacje dla osób, które chcą nauczyć się więcej w zakresie tematów z zajęć Master Class (programowanie w języku Python i gry cyfrowe).

Kod gry pamięciowej zastosowanej podczas tych zajęć Master Class dostępny jest online pod adresem:

http://www.codeskulptor.org/#user44_VlbTLt8MzXB6GmB.py Pod tym linkiem możliwe jest również uruchomienie kodu w każdej przeglądarce internetowej.

Na podstawie powyższego kodu wstępnego, możliwe jest opracowanie wielu rozszerzeń.

P R Z Y D A T N E L I N K I D O Z A S O B Ó W

(7)

6

Możliwe jest dostosowanie całości zajęć Master Class do innych przykładów gier lub symulacji opracowanych w CodeSkulptor. Taka ciekawa alternatywa, która zapewnia również wyjątkowe możliwości dyskusji o złożoności i szablonach to Game of Life (Gra w Życie), dostępna po adresem:

http://www.codeskulptor.org/#demos-game_of_life.py

Więcej informacji o CodeSkulptor i materiał wprowadzający do

Python dostępne są pod adresem:

http://www.codeskulptor.org/docs.html#tabs-Python

Zasób ten oparty jest na informacjach o CodeSkulptor i orientacyjnych projektach uczniów, które są dostępne pod adresem:

https://www.theseus.fi/bitstream/handle/10024/81687/Ajayi_Richar d.pdf?sequence=1

S U G E R O W A N E D A L S Z E

O P R A C O W A N I A

Ź R Ó D Ł A

S T O S O W A N E D O R O Z W I J A N I A Z A S O B U

(8)

7

Nektarios Moumoutzis (Politechnika Kreteńska, Grecja)

Większość narzędzi programistycznych w dzisiejszych czasach wykorzystuje potężne języki skryptowe do umożliwienia elastycznego dostosowania i zapewnienia szerokiego, interaktywnego rozwoju treści przez użytkowników końcowych. Dlatego też, wiedza z zakresu programowania komputerowego jest w dzisiejszych czasach niezbędna dla większości pracowników umysłowych, w tym naukowców i inżynierów.

W rezultacie, wiele wydziałów szkół wyższych dołączyło do swojego planu zajęć kursy wprowadzające do programowania. Wiele krajów rozszerza swoje programy nauczania w szkolnictwie średnim lub nawet podstawowym o kwestie rozwijania podstawowych umiejętności programistycznych. Znaczenie programowania komputerowego jeszcze bardziej stało się wyraźne w wyniku kampanii promujących kodowanie komputerowe, takich jak Godzina Kodowania i Europejski Tydzień Kodowania. Wiele państw oferuje również możliwości nieformalnego uczenia się, w następstwie organizacyjnych działań klubów kodowania.

Jednakże w wielu przypadkach, wprowadzające kursy programistyczne są zgodne z tradycyjnym podejściem przedstawiania cech konkretnego języka oprogramowania, jedna po drugiej, wraz ze sztucznymi przykładami i nielicznymi ćwiczeniami programistycznymi.

Alternatywnym, bardziej angażującym sposobem przedstawiania wprowadzającej wiedzy z zakresu programowania komputerowego jest wykorzystanie znaczących przykładów i projektów kodowania, takich jak gry cyfrowe. Gry cyfrowe są bardzo popularne wśród młodzieży i mogą oferować angażujące doświadczenia edukacyjne, jeśli są ujęte w odpowiednie ramy pedagogiczne (nauczanie poprzez gry lub nauczanie poprzez tworzenie gier). To właśnie podejście realizowane jest w trakcie zajęć Master Class.

Uczestnicząc w przedmiotowych zajęciach Master Class uczniowie będą mieli możliwość zrozumienia podstawowych cech języka programowania Python, jednocześnie poznając główne elementy budowy i mechanizmy gier cyfrowych.

Język Python został niedawno wprowadzony do programu nauczania zawodowego (licea zawodowe), jak i nauczania w szkołach średnich w Grecji i innych krajach. W rezultacie rośnie popularność języka programowania Python w nauczaniu. Tendencja ta współbrzmi z wykorzystaniem Python jako wbudowanego języka skryptowego w wielu platformach i aplikacjach, jak i z jego rosnącą popularnością w

nauce, w tym analityce danych

(https://en.wikipedia.org/wiki/List_of_Python_software).

Dlatego też, ważne jest, aby ułatwić wprowadzenie uczniów szkół średnich w programowanie w języku Python w sposób angażujący,

R E D A K T O R Z Y

W P R O W A D Z E N I E D O T E M A T U

Arkusz wiedzy dotychczasowej

(9)

8

który pomoże im lepiej zrozumieć podstawowe cechy i zalety tego języka. Podejście przyjęte w zajęciach Master Class skupia się na wykorzystaniu prostych gier cyfrowych, które można badać i zmieniać stosując internetowe środowisko programowania Python (CodeSkulptor).

To wstępny kurs programowania. Takie kursy (w tym krótkotrwałe zajęcia edukacyjne) zdecydowanie zyskały spore uznanie w ostatnich latach. Wynika to głównie z powszechnego użytkowania komputerów, rozprzestrzeniania tzw. kultury uczestnictwa (w odniesieniu do platform cyfrowym promujących cyfrową kreatywność), programowania przez użytkownika końcowego (platformy umożliwiające użytkownikom tworzenie i kodowanie własnych artefaktów cyfrowych) oraz projektowania oprogramowania przez użytkownika końcowego (systemy wspierające współtworzenie artefaktów cyfrowych przez użytkowników końcowych i programistów). We wszystkich tych przypadkach, programowanie komputerowe to sposób na tworzenie interaktywnych, cyfrowych artefaktów i promowanie twórczości oraz głębszego zrozumienia technologii cyfrowych.

DEFINICJA POJĘĆ

Programowanie obiektowe

W przeciwieństwie do programowania procedurowego, które zorganizowane jest wokół funkcji, programowanie obiektowe odnosi się do języka programowania organizowanego wokół obiektów, które łączą dane i funkcjonalności. Obiekty mogą zawierać dane w formie pól (często zwanych atrybutami) i kodu, w formie procedur (często zwanych metodami). Metody obiektowe gwarantują dostęp i często możliwość modyfikacji pól danych w obiekcie, z którym są powiązane.

Program zawiera wiele obiektów, które ze sobą współdziałają.

Większość powszechnie stosowanych języków programowania (jak C++, Object Pascal, Java, Python itp.) wspiera programowanie obiektowe w większym lub mniejszym stopniu.

Programowanie zdarzeniowe

Programowanie zdarzeniowe to podstawowy model programowania stosowany we wszystkich współczesnych interfejsach graficznych oraz powiązany również z zarządzaniem danymi wejściowymi z urządzeń zdalnych oraz urządzeń I/O podłączonych do komputera.

Język skryptowy

Język skryptowy to język programowania, który jest interpretowany przez inny program w czasie wykonywania programu, a nie kompilowany przez procesor komputera.

GRA PAMIĘCIOWA

Kod gry pamięciowej stosowanej na zajęciach Master Class

Z N A C Z E N I E D L A Ż Y C I A

C O D Z I E N N E G O / G O S P O D A R K I / S P O Ł E C Z E Ń S T W A

S Z C Z E G Ó Ł O W E P R Z E D S T A W I E N I E T E M A T U

(10)

9

wprowadzających do języka Python dla uczniów szkół średnich

dostępny jest pod adresem:

http://www.codeskulptor.org/#user44_VlbTLt8MzXB6GmB.py.

Kod ten pokazuje większość podstawowych cech języka Python:

 Stosowanie bibliotek (instrukcja import w wierszach 5-6)

 Stosowanie komentarzy w kodzie programu (wiersze 1-3, 10, 23, 52, 66, 69, 74, 78).

 Następująca definicję funkcji:

◦ new_game() - funkcja stosowana do inicjacji globalnych zmiennych przy uruchamianiu nowej gry. Te globalne zmienny zawierają listę kart stosowanych w grze pamięciowej oraz prezentację właściwości kart (szerokość, wysokość oraz ich widoczność, gdyż używane są przez kliknięcie przedstawione na liście „exposed”). Nowa gra rozpoczyna się po uruchomieniu aplikacji (funkcja new_game() wywołana w wierszu 67) lub po kliknięciu przez gracza przycisku z napisem ‘Restart’ (new_game() zarejestrowana jest jako wywołanie zwrotne kliknięcia przycisku w wierszu 71).

◦ mouseclick(pos) – ta funkcja określona jest w wierszach 24-50. Stosowana do obsługi kliknięć myszką. To funkcja wywołania zwrotnego zarejestrowana w wierszu 75. Po wywołaniu, funkcja ta uzyskuje dostęp do współrzędnych x i y kliknięć myszki, w formie listy zmiennych z parametrem wejściowym ‘pos’. Kod tej funkcji podzielony jest na trzy sekcje (instrukcja if-elif), w zależności od liczby wcześniejszych kliknięć zliczonych przez zmienną

‘counter’. W ten sposób możliwe jest określenie metody eksponowania (odkrywania) kart pamięci graczowi. Gracz może widzieć najwyżej dwie karty w tym samym czasie.

Jeśli dwie karty mają ten sam symbol (literę), pozostają odsłonięte przez pozostałą część gry, a gracz ma za zadanie odnaleźć kolejną parę identycznych kart. W przeciwnym razie karty są ponownie ukrywane, a gracz musi ponownie znaleźć parę identycznych kart, jednocześnie próbując zapamiętać położenie poprzednio odkrytych kart.

◦ draw(canvas) – funkcja ta określona jest w wierszach 53-64.

Wywoływana jest w każdej iteracji głównej pętli gry. To funkcja wywołania zwrotnego zarejestrowana w pętli gry w wierszu 76.

 Stosowanie poleceń programu głównego (wiersze 67-79). W programie głównym funkcja new_game() jest wywoływana do inicjowania globalnych zmiennych, a następie tworzona jest ramka SimpleGUI CodeSkulptor (wiersz 70), w której dodawany jest przycisk ‘Restart’ (wiersz 71), który stosowany jest do inicjowania gry po kliknięciu dzięki zarejestrowaniu

(11)

10

funkcji new_game() jako wywołanie zwrotne (wiersz 71).

Dodatkowo, w ramce dodana zostaje etykieta (wiersz 72) wykorzystywana do liczenia, ile razy gracz zagrał w grę (‘Turns=0’). W wierszu 75 rejestrowana jest procedura obsługi mouseclick(pos), a w wierszu 76 procedura obsługi głównej pętli gry (tj. funkcja draw(canvas)). Na koniec, ostatnim poleceniem programu głównego jest frame.start(), które uruchamia główne pętle gry.

 Stosowanie zmiennych lokalnych i globalnych. Zmienne mogłyby być prostymi zmiennymi przechowującymi ciągi, liczby lub wartości czy listy boolean (jak ‘cardList’, ‘exposed’).

Uruchamianie list na różne sposoby pokazano w wierszach 13, 16 i 19, a losowe tasowanie elementów list w wierszu 15.

Dostęp do elementów list wykorzystuje zapis [] i obejmuje również dostęp do elementów z indeksami ujemnymi liczonymi od końca listy (wiersze 42-44).

 Stosowanie obiektów i metod/właściwości obiektowych za pomocą dot(.) (jak w wierszach 70-79).

Stosowanie pętli (wiersze 57-59, 61-64).

- Nie bądź „kolejnym nauczycielem” – nie tylko ucz. Podziel się z uczniami pasją do programowania. Zazwyczaj pociąga to za sobą przekazanie im informacji dotyczących tego jak sam zacząłeś programować i dlaczego lubisz to robić.

- Stwórz bardziej osobistą więź z uczniami. Zazwyczaj pociąga to za sobą przekazanie im czegoś o sobie lub żartowanie w trakcie zajęć.

- Zacznij od pytania uczniów o ich dotychczasową wiedzę programistyczną, aby powiązać nową wiedzę z tym, co uczniowie już wiedzą. Na przykład, jeśli większość uczniów ma doświadczenie w programowaniu w języku Scratch (http://scratch.mit.edu), prowadzący powinien opisać przedstawiany kod poprzez analogie do Scratch (np.

sposób deklarowania i wykorzystania list w Scratch i Python).

- Przedstaw wszystkie szczegóły odnośnie do kodu gry pamięciowej opisane w powyższej części „Szczegółowe przedstawienie” z perspektywy podkreślającej sposób realizacji kodu.

- Spróbuj zaciekawić uczniów innymi językami programowania lub programowaniem innych gier.

W Y T Y C Z N E D L A P R O W A D Z Ą C Y C H W Z A K R E S I E

P R Z E K A Z Y W A N I A W I E D Z Y

N A U K O W E J

(12)

11

Celem wykładu informacyjnego jest sprawienie, aby uczniowie poczuli się komfortowo w środowisku uniwersyteckim, przedstawili i zastanowili się nad swoją dotychczasową wiedzą w zakresie programowania komputerowego oraz poszerzyli swoją wiedzę i umiejętności programistyczne. Na tym etapie można to osiągnąć pomagając im zrozumieć kod gry pamięciowej.

Uczniowie poproszeni zostaną o zmianę tego kodu w drugiej części zajęć Master Class (w trakcie działań praktycznych).

Zasadniczo, wykład informacyjny może być przeprowadzony dla dużej grupy uczniów. Wszelkie ograniczenia liczby uczniów zależeć będą od drugiej części zajęć Master Class, która musi być przeprowadzana w pracowni komputerowej. W trakcie tej drugiej części, uczniowie zostaną podzieleni na grupy.

Czas trwania tej części Master Class może się wahać od 30 do 60 minut, w zależności od czasu wytłumaczenia kodu gry pamięciowej, biorąc pod uwagę dotychczasową wiedzę uczniów.

Sala wykładowa lub aula

Studenci uniwersyteccy mogą zobowiązać się do przedstawienia kodu, podczas gdy pracownicy uniwersyteccy mogą koordynować działania i dyskusję, szczególnie na początku, kiedy uczniowie szkół średnich proszeni są o przedstawianie swojej dotychczasowej wiedzy z zakresu programowania komputerowego.

C E L

W A R U N K I

M I E J S C E

W Y S T Ą P I E N I A / W Y K Ł A D U

M O Ż L I W E

Z A A N G A Ż O W A N I E S T U D E N T Ó W W D Z I A Ł A N I E

Arkusz planowania wykładów

(13)

12

Nr

etapu Opis etapu Przeznaczony

czas 1 Powitanie; objaśnienie celu zajęć

Master Class 3-5 min

2 Przełamanie lodów

Na przykład, prowadzący może poprosić uczniów, aby w parach wymienili 2-3 rzeczy, które sprawiają, że gry cyfrowe są wciągające i odróżniają je od gier tradycyjnych lub poprosić ich o krótki opis ich ulubionej gry cyfrowej.

3-7 min

3 Przedstawienie gry pamięciowej.

Ochotnicy proszeni są o zagranie w nią.

2-5 min

4 Uczestnicy proszeni są o odpowiedzi na następujące pytania: Jak działa ta gra? Co dzieje się po kliknięciu przycisku „Restart” lub karty pamięci? Jak można by stworzyć tę grę za pomocą języka/platform programowania, które już znasz?

5-12 min

5 Przedstawienie kodu gry

pamięciowej

Patrz szczegóły przedstawione w „Arkuszu Wiedzy Dotychczasowej”. Studenci uniwersyteccy zgłoszeni na ochotnika mogą przejąć w tym momencie rolę prowadzącego.

15-25 min

6 Zakończenie

Prowadzący krótko omawia kolejny etap i rodzaj zmian, których wprowadzenie zostanie ułatwione uczniom w trakcie ich zajęć w pracowni komputerowej.

Uczniowie przechodzą do pracowni komputerowej

5 min

C Z A S I A N A L I Z A

(14)

13

Celem działań praktycznych jest ułatwienie uczniom rozwijania swojej własnej wersji gry pamięciowej poprzez wprowadzenie możliwych zmian i rozszerzeń kodu przedstawionego w trakcie pierwszej części zajęć Master Class. Uczniom należy pomóc w tym procesie w wymaganym zakresie.

Ten etap odbywa się w pracowni komputerowej, gdzie uczniowie pracują w grupach składających się z 2-4 osób, w zależności od dostępnego miejsca.

Studenci-ochotnicy lub nauczyciele towarzyszący uczniom mogą pełnić rolę koordynatorów. Każda taka osoba powinna wspierać maksymalnie 2 grupy uczniów.

Działania praktyczne zajęć Master Class należy przeprowadzać w pracowni komputerowej, która zazwyczaj wykorzystywana jest przez studentów, dzięki czemu uczniowie szkół średnich mogą doświadczyć życia studenckiego. Komputery w pracowni powinny mieć działające połączenie z Internetem, aby można wykorzystać CodeSkulptor do uzyskania dostępu i do modyfikacji kodu gry pamięciowej.

Jak opisano powyżej, działania mają na celu zaangażowanie studentów jako koordynatorów. W przypadku braku ochotników, role te pełnić mogą pracownicy uniwersyteccy. Jednakże, zaangażowanie studentów jest wysoce pożądane, ponieważ pomoże uczniom szkół średnich poczuć się bardziej komfortowo i omówić z nimi kwestie niezwiązane z programowaniem (np. powiązane z życiem studenckim).

W trakcie tych czynności, uczniowie szkół średnich zostaną poproszeni o zmodyfikowanie kodu gry pamięciowej przedstawionej na początku. Otrzymają również kilka pomysłów w zakresie rozszerzeń, które mogą wdrożyć lub mogą rozwijać własne pomysły.

Rozszerzenia orientacyjne, które należy zasugerować uczniom są następujące:

 Zmiana przedstawienia kart pamięci (np. różne litery, liczby, inne symbole).

Poziom trudności tego rozszerzenia: NISKI

 Zmiana wyglądu kart (np. kolory, czcionki ...).

Poziom trudności tego rozszerzenia: NISKI

 Zmiana liczby kart w grupie, które należy odkryć, aby przejść dalej. Początkowo, każda grupa składa się z dwóch identycznych kart. Można to zmienić, aby każda grupa

C E L

W A R U N K I

M I E J S C E I S P R Z Ę T

M O Ż L I W E

Z A A N G A Ż O W A N I E S T U D E N T Ó W W D Z I A Ł A N I E

Z A K R E S D Z I A Ł A Ń P R A K T Y C Z N Y C H

Arkusz planowania działań praktycznych / eksperymentów

(15)

14

posiadała 3 lub 4 karty, jednocześnie zwiększając poziom trudności gry.

Poziom trudności tego rozszerzenia: ŚREDNI

 Zmiana siatki kart pamięci z sekwencyjnej do prostokątnej (np.

4x4 dla 16 kart).

Poziom trudności tego rozszerzenia: WYSOKI

 W zależności od wybranego rozszerzenia, kod może być dalej modyfikowany, aby dostarczać użytkownikowi różne opcje, które może wybrać za pomocą konkretnych przycisków. Np.

wybór pożądanego przedstawiania kart pamięci, wyglądu kart, liczby kart w grupie lub rozmiaru siatki. Wszystkimi z powyższych opcji można sterować za pomocą nowych przycisków z panelu sterowania gry w CodeSkulptor.

Poziom trudności tego rozszerzenia: ŚREDNI

Nr

etapu Opis etapu Przeznaczony

czas 1 Podział na grupy, aby każda z nich była

zrównoważona pod kątem uczniów z wcześniejszym doświadczeniem programistycznym i uczniów, którzy nie wykazują dużych umiejętności w tym zakresie.

2-5 min.

2 Krótkie wprowadzenie do interfejsu

CodeSkulptor 2-5 min.

3 Przedstawienie możliwych rozszerzeń 5-10 min.

4 Uczniowie pracują w grupach, opracowując swoje rozszerzenia

Zgłoszeni na ochotnika studenci pełnią rolę koordynatorów

20-40 min.

5 Informacje zwrotne i autorefleksja Grupy kolejno przedstawiają swoje projekty i omawiają napotkane problemy oraz ich rozwiązania. Ten ostatni etap dotyczący wniosków może odbywać się z powrotem w sali wykładowej lub auli, wykorzystywanej do wstępnego wykładu informacyjnego.

30-40 min.

6 Wnioski i pożegnanie Prowadzący przedstawia wnioski.

5 min.

C Z A S I A N A L I Z A D Z I A Ł A Ń

P R A K T Y C Z N Y C H

(16)

15

The code of the memory game used in this Master Class is available at:

http://www.codeskulptor.org/#user44_VlbTLt8MzXB6GmB.py.

Annex I: Knowledge Resource

(17)

16

University Students Selection

The following university students can be involved in the design and delivery of the activity:

- Computer Science students, in any year of studies, as long as they are knowledgeable in programming in general and Python in particular.

- Students should be selected by the faculty member responsible for the activity and should have worked with this faculty member before (in class or in educational outreach activities).

The selected students should stand out for their science communication skills rather than their excellence and academic achievement per se.

Role (in order of relevance) Guidance Pedagogical co-designers of learning, teaching

and assessment; facilitators in hands-on and lab experiments

The selected university students:

- should work together with high school students during the practical activity and help them develop extensions of the proposed program

- should participate in the assessment of student performance during the Master Class and in the evaluation of the effectiveness of the training

- should also be actively engaged in the self- reflection phase, staying with the student team in which they worked.

Mentors of SE VET students The selected university students can be asked to share their contacts with bright or motivated high school students who may want to learn more about Programming. The possibility of involving high school students in teams working on university projects or contests in the field of Computer Science should be explored.

Consultants in planning and designing the

learning and teaching process The selected university students should be fully engaged in the design of the hands-on activity in order to ensure that the tasks would be manageable for younger students without prior experience with programming.

Students can be given the task to prepare the Power Point presentation for the activity, as well as any handouts and supporting materials.

They should, however, do this on the basis of clear instructions from the faculty member Annex II: Co-Creation

(18)

17

who will lead the course.

Co-researchers contributing to subject-based research

The selected university students can be asked to design small practical tasks intended to help students understand the syntax of Python.

They should be instructed to keep the level of difficulty close to the skills and knowledge of high school students.

High School Teachers (supporting role is suitable for teachers in Computer Science or Physics)

Consultants in planning and designing the

learning and teaching process The accompanying teachers should have the leading role in selecting trainees from among the students.

They should be approached in advance and consulted about the relevance of the presented examples and the level of difficulty of the theoretical presentation (in view of the intended group of trainees). Special attention should be paid to the selection of manageable practical tasks and the avoidance of tasks that have no relevance to the compulsory curriculum.

Teachers should be consulted about the best way to draw parallels and to link the content of the course to the compulsory curriculum in Computer Science.

Pedagogical co-designers of learning, teaching and assessment; facilitators in hands-on and lab experiments

The accompanying teachers should work together with high school students during the practical activity in order to help them develop the extensions of the Python code, as well as to provide clarification to those of them who have failed to understand the presented material or apply it in practice.

Most teachers would be in position in which they themselves will use Python for the first time, especially for developing a game. They should be given the chance to learn themselves.

High School teachers should be the primary source of feedback about the effectiveness of the training. They will also be in the best position to assess the performance of their students.

Teachers should play a central role in maintaining discipline during the activity.

(19)

18

University-high school partnerships

This course in particular would be a suitable addition to study programs in secondary schools with a profile in Computer Science, Mathematics, or the Natural Sciences. It can be the beginning of a series of extra-curricular courses on Programming. If there is such an interest, contact between the accompanying teachers and the university should be made well in advance and the course should be planned as part of a larger set of topics. The course can be combined with workshops organized at the school by visiting university lecturers. One particular high school teacher or administrator and one particular university faculty member should be tasked with the organization of this Master Class and these people can later act as contact persons and “boundary spanners” for future collaboration. For further collaboration to be planned, it is advisable that an educational manager from the school attend (part of) the Master Class in order to witness the effectiveness of the training. If this is not possible, then a report on the achieved results and the satisfaction of students should be presented to the school management, together with a proposal for further collaboration.

Cytaty

Powiązane dokumenty

Tym razem będzie nietypowo, gdyż na zajęcia należy przygotować ramkę danych bazującą na danych krukowych zawierającą potencjalne cechy (max 10) do modelu – zmienne

Zaznacz P, jeśli zdanie jest prawdziwe, lub F, jeśli jest fałszywe.. ( ... Podział mitotyczny jest sposobem

Ponadto wykorzystanie aktywnej piany zmiękczy pozostałe na karoserii zanieczyszczenia, dzięki czemu łatwiej będzie je usunąć w myciu zasadniczym... - Ręcznik do osuszania karoserii

W czasie pomiaru parametrów diagnostycznych układu hydraulicznego (np. ciśnienia) od diagnosty wymaga się dobrej znajomości budowy i działania układu hydraulicznego w

Kolejnym bardzo ważnym etapem podczas oceny stanu technicznego nadwozia jest ocena stanu powłoki lakierniczej, na która składają sie następujące pomiary:.. – grubości

Każdy z takich objawów stanowi podstawę do rychłej wymiany łącznika wału napędowego, a w przypadku skrajnego zużycia warto dodatkowo skontrolować pozostałe elementy wału,

KLASA – III Br – Mechanik pojazdów samochodowych Temat; Przygotowanie do egzaminu zawodowego. 18, MG.18

 Wielkość liter w nazwach jest istotna.Nazwy nie mogą się zaczynać od cyfry..