Myślenie komputacyjne NT 2018 MMSyslokassk.pl/kassk2018/materialy/Myślenie...
Transcript of Myślenie komputacyjne NT 2018 MMSyslokassk.pl/kassk2018/materialy/Myślenie...
Maciej M. SysłoUMK Toruń
[email protected], …@ii.uni.wroc.pl http://mmsyslo.pl
Myślenie komputacyjne– kompetencje informatyczne dla każdego
Myślenie komputacyjne – początki
1. Seymour Papert, Burze mózgów, 1980
2. Jeannette M. Wing – praca w Communicationof the ACM, 2006
3. ISTE: SIGCT – grupa zainteresowań myśleniem komputacyjnym.
4. 2008, ISSEP, Toruń
Praca nt. myślenia komputacyjnego w edukacji informatycznej
Terminologia:
computing = komputyka
dr Andrzej Walat
ks. prof. Józef Kloch, Myślenie komputerów
2Maciej M. Sysło
3Maciej M. Sysło
Informatyka
Myślenie komputacyjne
Coding
Programowanie
Wykracza poza informatykę Informatyka ≠ Programowanie
Programowanie ≠ Kodowanie
Dlaczego nasi uczniowie wypadli źle (29 miejsce na 32 kraje) w badaniach PISA w zakresie rozwiązywania problemów, programowania urządzeń cyfrowych.
Testy: najkrótsze drogi klimatyzator Biletomat
4Maciej M. Sysło
Jedna z motywacji
programowanie = rozwiązywanie problemów
Zaprogramuj … swoją przyszłość
5Maciej M. Sysło
Programowanie (lata 1940-1950:
optymalne projektowanie)
§ programy wojskowe – techniczne
§ dowodzenie, logistyka wojenna
§ problemy lokalne/krajowe: transport,
zaopatrzenie, produkcja
Programowanie:
§ dynamiczne (liceum)
§ matematyczne
Przykład: optymalne
wznoszenie się
samolotu, patrz:
Uczniowie wykrywają Zasadę OptymalnościBellmana: na każdym kroku podejmuj najlepszą decyzję w sytuacji wynikającej z poprzednich decyzji
Zaprogramuj … swoją przyszłość
6Maciej M. Sysło
Programowanie (lata 1940-1950: optymalne projektowanie):zaplanuj swoja przyszłość i rób to cały czas z uwzględnieniem wielu aspektów i metod tak, aby Twoja przyszłość była w przyjętym przez Ciebie sensie optymalnym rozwiązaniem
Programowanie komputerów w ramach informatyki kształtuje takie umiejętności, jak: § logiczne myślenie, § kreatywność w poszukiwaniu rozwiązań, § myślenie heurystyczne (”na chłopski rozum”), § poszukiwanie innowacyjnych rozwiązań, § algorytmiczne myślenie, § posługiwanie się językiem komunikacji z komputerem
(programowanie)
To myślenie komputacyjne
Maciej M. Sysło 7
Język maszyn
Język programowania – język komunikacji z komputerem –o czym rozmawiać z komputerem?
Komputer wykonuje tylko programyKażdy program jest zapisem jakiegoś algorytmu
Trzeba mieć coś do powiedzenia: znać algorytmy
Algorytm przed programowaniem
D.E. Knuth:
Mówi się często, że człowiek dotąd nie zrozumie czegoś, zanim nie nauczy tego – kogoś innego. W rzeczywistości, człowiek nie zrozumie czegoś naprawdę, zanim nie zdoła nauczyć tego – komputera
Rozwój edukacji informatycznej
Kolejne etapy rozwoju edukacji informatycznej: • alfabetyzacja komputerowa (lata 80’-90’) – podstawy posługiwania się
komputerami• biegłość w posługiwaniu się technologią (XX/XXI w.) – podstawowe
pojęcia i idee informatyczne – baza dla rozumienia technologii w jej rozwoju zdolności intelektualne w kontekście TI – myślenie abstrakcyjne w kontekście przetwarzania informacji
XX/XXI w.: technologia informacyjna jako informatyka dla każdego
• informatyka wypracowała mental tools – metody rozumowania – myślenie komputacyjne – przydatne w rozwiązywaniu problemów rzeczywistych z różnych dziedzin
• myślenie algorytmiczne – kształtowane na gruncie informatyki – myślenie komputacyjne – efekt tego kształcenia w innych dziedzinach
Teraz: informatyka i myślenie komputacyjne dla każdego8Maciej M. Sysło
Myślenie komputacyjeKompetencje (umiejętności) budowane na mocy i ograniczeniach komputerowego przetwarzania informacji w różnych dziedzinach i rozwiązywania rzeczywistych problemów
Wśród takich umiejętności są (J. Wing, 2006) § redukcja i dekompozycja złożonych problemów§ tworzenie przybliżonych rozwiązań
(aproksymacji), gdy dokładne rozwiązanie nie jest możliwe
§ stosowanie rekurencji, czyli myślenia indukcyjnego (rekurencja = iteracja)
§ tworzenie reprezentacji i modelowania danych, problemów i rozwiązań
§ stosowanie heurystyk9Maciej M. Sysło
Myślenie komputacyjne – „informatyka” dla wszystkich użytkowników komputerów
Myślenie komputacyjne towarzyszy procesom rozwiązywania problemów za pomocą komputerów. To podejście do rozwiązywania problemów można scharakteryzować następującymi cechami: • problem jest formułowany w postaci umożliwiającej posłużenie się w jego
rozwiązaniu komputerem lub innymi urządzeniami;
• problem polega na logicznej organizacji danych i ich analizie, danymi mogą być teksty, liczby, ilustracje itp.
• rozwiązanie problemu można otrzymać w wyniku zastosowania podejścia algorytmicznego, ma więc postać ciągu kroków;
• projektowanie, analiza i komputerowa implementacja (realizacja) możliwych rozwiązań prowadzi do otrzymania najbardziej efektywnego rozwiązania i wykorzystania możliwości i zasobów komputera oraz sieci;
• nabyte doświadczenie przy rozwiązywaniu jednego problemu może zostać wykorzystane przy rozwiązywaniu innych sytuacjach problemowych.
10Maciej M. Sysło
Podstawa programowa dla informatykiWspólne Cele kształcenia – Wymagania ogólne – dla wszystkich etapów
I. Rozumienie, analizowanie i rozwiazywanie problemów na bazie logicznego i abstrakcyjnego myślenia, myślenia algorytmicznego i sposobów reprezentowania informacji.
II. Programowanie i rozwiazywanie problemów z wykorzystaniem komputera oraz innych urządzeń cyfrowych: układanie i programowanie algorytmów, organizowanie, wyszukiwanie i udostępnianie informacji, posługiwanie się aplikacjami komputerowymi.
III. Posługiwanie się komputerem, urządzeniami cyfrowymi i sieciami komputerowymi, w tym: znajomość zasad działania urządzeń cyfrowych i sieci komputerowych oraz wykonywania obliczeń i programów.
IV. Rozwijanie kompetencji społecznych, takich jak: komunikacja i współpraca w grupie w tym w środowiskach wirtualnych, udział w projektach zespołowych oraz organizacja i zarządzanie projektami.
V. Przestrzeganie prawa i zasad bezpieczeństwa. Respektowanie prywatności informacji i ochrony danych, netykiety, norm współżycia społecznego, praw własności intelektualnej; ocena i uwzględnienie zagrożeń, związanych z technologią.
11Maciej M. Sysło
Spiralna realizacja na kolejnych etapachSpiralny rozwój zasobów
Technologia
Tok zajęć: problem, pojęcia, algorytm, program
Stąd propozycja toku zajęć z elementami programowania: • sytuacja problemowa (zamierzona przez nauczyciela) do
rozwiązania przez uczniów: gry/aktywności kooperacyjne, łamigłówki z użyciem obiektów, które mają konkretne/realne znaczenie dla uczniów, roboty, problemy z różnych przedmiotów
podejście do rozwiązania: heurystyka: efekt: abstrakcja, pojęcia
• pojawia się: sposób rozwiązania, algorytm• algorytm, przepis, rozwiązanie można zaprogramować
Komputer, gotowe aplikacje, zasoby sieciowe itp. – mogą pojawić się na dowolnym etapie, w dowolnym momencie –wynikiem decyzji nauczyciela lub uczniów
12Maciej M. Sysło
Nie tylko w 1-3, z najmłodszymi
Dwa ważne pojęcia: abstrakcja i heurystyka
Abstrakcja• J. Wing (CT), Myśleć jak informatyk, znaczy coś więcej niż umieć
programować – wymaga to posługiwania się abstrakcją na wielu poziomach. Program to twór abstrakcyjny.
• Z perspektywy konstruktywizmu, poznanie nowych pojęć polega na skonstruowaniu umysłowych obiektów (struktur), abstrakcyjnych, i później manipulowaniu nimi w umyśle
Heurystyka (George Polya, Jak to rozwiązać, 1945)• Rozumowanie heurystyczne nie jest traktowane jako ostateczne i
ścisłe, ale jako prowizoryczne i tylko prawdopodobne, którego celem jest odkrycie rozwiązania danego zadania
• Heurystykę buduje się na doświadczeniu w rozwiazywaniu zadań i obserwowaniu innych ludzi rozwiązujących zadania
• Odpowiednie zadanie, uczeń musi chcieć je rozwiązać.
13Maciej M. Sysło
Aktywności, inteligencje, myślenie – uczniów
14Maciej M. Sysło
Zalecane trzy formy aktywności, w uzupełnieniu tekstów:
• wizualne uczenie się (obiekty graficzne, modele abstrakcyjne i
fizyczne, obrazkowe programowanie, roboty)
• słuchowe uczenie się (rozmowy, dyskusje, grupy i cała klasa, …)
• kinestetyczne uczenie się (fizyczne aktywności uczniów)
Inteligencje wielorakie (H. Gardner) – wrażliwości, zdolności,
umiejętności:
logiczno-matematyczna, językowa, przyrodnicza, muzyczna,
przestrzenna, cielesno-kinestetyczna, emocjonalna (interpersonalna,
intrapersonalna).
Myślenie komputacyjne (mental tools) – metody umysłowe,
rozumowania, związane z rozwiązywaniem problemów, gdy
mamy możliwość i przewidujemy posłużenie się komputerem.
Te metody na ogół wywodzące się z informatyki.
1515
Roboty, które nas słuchają
Maciej M. Sysło
Pierwsze kroki – sortowanie odpadów
Schemat blokowy do kierowania robotem Program w Blockly
1. K-3: • Sytuacja: porozrzucane karty z obrazkami zwierząt, owoców itp.
Cel: pogrupujcie według własnego uznania
• Sytuacja: różne rzeczy, odpadyCel: segregowanie według rodzaju
• Informatyka, pojęcia: haszowanie, metoda kubełkowa
Porządkowanie … przez 12 lat w szkole, 1
Maciej M. Sysło
2. 1-3:
• Sytuacja: np. ciąg obrazków zwierząt czworonożnych
Cel: ustawcie według wagi ciała
• Informatyka, pojęcia:– porządek, przestawianie, przestawianie sąsiednich – obce uczniom, od najlżejszych
• Metodyka: abstrakcyjne myślenie, odkrywanie własnych sposobów
• Wsparcie, zabawy – Bóbr:
Porządkowanie … przez 12 lat w szkole, 2
Maciej M. Sysło
3. 4-6: • Sytuacje: różnorodne• Cel: różnorodny kontekst
występowania uporządkowania i sposób porządkowania
• Informatyka: różnorodne konteksty porządkowania i metody dostosowane do kontekstu
Porządkowanie … przez 12 lat w szkole, 3
Maciej M. Sysło
4. 6-8• Sytuacje: organizacja rozgrywek, wybór obiektu naj …
Cel: znajdź najlepszy/największy/najmniejszy/naj… element• Informatyka: przeszukiwanie liniowe, turniejowe – liczba porównań,
pierwsze programy (Pyhon)• Wsparcie: kinestetyczna gra, plansza klasowych/szkolnych rozgrywek
Porządkowanie … przez 12 lat w szkole, 4
Maciej M. Sysło
5. 6-8• Sytuacje: uporządkowany ciąg
Cel: znajdź wybrany element• Informatyka: przeszukiwanie binarne,
programy (Uwaga: nie taki prosty, można posłużyć się gotowym)
• Wsparcie: zgadywanie liczby, zadania z Bobra (multum)
Programy – gotowe, ale … show your work
Maciej M. Sysło
4. 7-8• Sytuacja: ciąg liczb
Cel: uporządkuj • Informatyka: iteracja: najmniejszy na początek, przestawić elementy w
złej kolejności, pierwsze algorytmy porządkowania, pierwsze programy sortujące (Python)
• Wsparcie: programy demo, Godzina Kodowania (programowanie)
Porządkowanie … przez 12 lat w szkole, 5
Maciej M. Sysło
4. LO, LO rozszerzenie• Sytuacja: ciąg liczb
Cel: uporządkuj • Informatyka: elementy komputerowych implementacji: operacja
scalania – porządkowanie przez scalanie, rekurencja, programowanie • Informatyka – pytania ogólne, np.:
• znaczenie porządku – łatwo znaleźć – szukanie przez podział ciągu –zamiast 1000 prób, tylko 10 – gra w zgadywanie liczby wśród 1000
• porównanie efektywności metod: przez wybór – stała liczba działań, bąbelkowa – szybka na mało nieuporządkowanym ciągu, porównanie czasów obliczeń
Porządkowanie … przez 12 lat w szkole, 6
Maciej M. Sysło
Maciej M. Sysło 23
Środowisko kształcenia się jako miejsce: • aktywności uczących się – na wzór FaceBooka• współpracy – realizacji projektów indywidualnych i zespołowych• miejsce zasobów własnych i obcych (na różnych prawach)• rozwoju – „rośnie” z uczącym się od kołyski po grobową deskę (LLL)• osobiste archiwum i budowane na nim e-portfolia dla różnych
adresatów • obszar własny i obszary różnych formalnych (szkoła, uczelnia) i
nieformalnych (kursy) form kształcenia • itd. itp.
Środowisko w miejscu podręcznika
Porzućmy ideę podręcznika, XIX/XX wieczną Przyjrzyjmy się, jak pracują uczniowiePrzyjrzyjmy się, jak funkcjonuje sieć i jej społecznościWyobraźmy sobie rozwój sieci i jej społeczności Zaplanujmy środowisko na miarę uczących się i czasów
24Maciej M. Sysło
e-podręcznik: 2018
uczeń papier1-3 tylko
ci najmłodsi lubią mieć swoje zeszyty, książki, powinni uczyć się pisać
e-uczeńpracuje i ma wszystkie zasoby w jednym miejscu – w chmurzeTam ma swoje miejsce
e-nauczycielznajduje się tam, gdzie są jego uczniowie
Propozycja środowiska dla zajęć z informatyki:§ w chmurze§ będzie rosnąć z uczniem, na początku: 1, 4, 7; później
dalsze lata§ technologia dla technologii § …
Dla nauczyciela: § scenariusze zajęć§ „podręcznik informatyki”
25Maciej M. Sysło
e-podręcznik: Bóbr, Godzina Kodowania
26Maciej M. Sysło
e-podręcznik – algorytm liniowy
Wiele odpowiedzi: dyskusja z uczniami Algorytm liniowy
nie musi być w linii
A co to jest linia?
27Maciej M. Sysło
e-podręcznik – porządkowanie (segregowanie)
Segregowanie na dywanie:zbierają roboty
Pojęcia („z tyłu głowy”)§ sortowanie kubełkowe § haszowanie
28Maciej M. Sysło
e-podręcznik: Sudoku
Pojęcia: § dekompozycja, § rozkład zadania/problemu, § kroki§ praca krokowa
29Maciej M. Sysło
e-podręcznik: Sudoku – abstrakcja
W zeszycie: Sudoku z figurami geometrycznymi
Pojęcie: abstrakcja – nie ma znaczenia, co układamy, tylko jak mamy ułożyć
Każdy program jest abstrakcją sytuacji, którą rozwiązuje, np. te sam program z algorytmem Dijkstry dla wielu sytuacji
30Maciej M. Sysło
e-podręcznik – program
Wiele dobrych rozwiązań
Świetny przykład (A.B. Kwiatkowska): próbujemy dopasować jedno do drugiego, porównać zgodność jednego z drugim:
n DNA – na ile jest ono wspólne dla bliźniąt?
n DNA – czy zawiera pewne fragmenty związane z chorobami dziedzicznymi?
n W jakim stopniu pokrywają się prace – plagiat?
n W informatyce – jest to dopasowanie wzorca
informatyka + 3131
Myślenie – nie tylko informatyczne
Maciej M. Sysło
Taniec:tańcz;
if nie gra muzyka then STOPelse
zrób krok;tańcz
informatyka + 3232
Myślenie rekurencyjne – w sytuacjach życiowych
Maciej M. Sysło
Rekurencja – czyli jak zwalić robotę na komputer
Stary problem, inne spojrzenie
33Maciej M. Sysło
s(n) – liczba sposobów osiągnięcia schodka n
…
n
n – 1
n – 2
1
0
•
•
•
s(n) = + s(n – 2)s(n –1)
s(1) =
s(2) =
dla n > 2
2
1
2
Profesor S. bierze jeden lub
dwa schodki – na ile
sposobów wyjdzie na piętro n
Myśl rekurencyjnie!
Króliki? Ależ to nierealistyczna
sytuacja, a taki profesor to
codzienność !
Stary problem, nowe spojrzenie
34Maciej M. Sysło
Liczby Fibonacciego – w różnych dziedzinach – myślenie komputacyjne – ale po co liczyć ich wartości? § w przyrodzie: szyszki, słonecznik: skąd? Alan Turing § w przyrodzie: kształt muszli§ w przyrodzie: wymiary człowieka§ w architekturze – złota proporcja § konstrukcja prostokąta za pomocą liczb Fibonacciego
– złoty prostokąt
Związek liczb Fibonacciego z doskonałością?Ukazały się w Helionie
Maciej M. Sysło 35
Kojarzenie
Znajdź błąd na tej stronie elementarza
Nobel za kojarzenie
36Maciej M. Sysło
Stabilny układ par, Stabilne małżeństwa – temat na zajęcia informatyczne bez komputera
Mężczyźni i kobiety z preferencjami – zawsze istnieje stabilny układ par. W 1962, David Gale i Lloyd Shapley dowodzą i podają algorytm.
W 2012 roku, Lloyd Shapley (2.06.1923 – 12.03.2016) i Alvin E. Roth otrzymują Nagrodę Nobla w dziedzinie ekonomii za the theory of stable allocations and the practice of market design
USA, 2014: Sprzeciw, jak algorytm może decydować o przyjęciu do pracy lekarzy
Programowanie: Maszyna RAM – programowanie i „przekład” programu z języka na asembler
37Maciej M. Sysło
Można pobrać ze strony: http://mmsyslo.pl/Materialy/Oprogramowanie
Programowanie Maszyny Turinga
38Maciej M. Sysło
Maciej M. Sysło 39
FL/FC – odwrócona klasa, odwrócone kształcenie
Założenie: Lepsze wykorzystanie potencjału uczących się w domu i w szkole, również nauczyciela
Uwaga: w USA inna kultura uczenia się – angażowanie się uczących się
Przebieg zajęć: § krótkie wprowadzenie do tematu w klasie (5-10 min)§ poza klasą: uczniowie przeglądają wideo jako zadanie domowe
przygotowane przez nauczyciela, zadania do wykonania w domu, dyskusja z innymi uczniami i nauczycielem – potrzebne wirtualne środowisko uczenia się
§ w klasie: wyjaśnianie trudniejszych elementów
Rezultat: wykład (20%) + praca z uczniami (80%) zamiast 80+20
Konkluzje
Myślenie komputacyjne:§ integruje ludzkie myślenie z możliwościami komputerów§ obok stosowania gotowych narzędzi i informacji kształtuje
kreatywność w tworzeniu własnych narzędzi i informacji§ przygotowuje do wykorzystywania metod i narzędzi
komputerowych oraz informatycznych w różnych dziedzinach§ wzbogaca i poszerza metodologię rozwiązywania problemów
z wykorzystaniem komputerów§ stanowi narzędzie (mental tools) w realizacji metody
projektów – stosowanej do realizacji podstawy programowej
Inne nazwy, inny nacisk: § computational learning – komputacyjne kształcenie się§ computational participation – zaangażowanie komputacyjne
4040Maciej M. Sysło