Scenariusze zajęć, ćwiczenia, materiały

45m
Wymaga dostępu do Internetu
Internet

Ta lekcja jest częścią tematu Kompetencje cyfrowe na poziomie szkoła ponadgimnazjalna.

Lekcja: Myślenie algorytmami

wróć do spisu treści

Wiedza w pigułce ?

U podstaw pracy komputerów leżą algorytmy. Samo pojęcie brzmi może jak trudny do zrozumienia problem, jednak w rzeczywistości jest ono zaskakująco intuicyjne i blisko związane z naszym codziennym życiem.

Najprościej algorytm można przedstawić jako ciąg jasno definiowanych kroków, które musimy wykonać, aby osiągnąć pożądany cel. Również w taki sposób podchodzimy zazwyczaj do zadań, jakie stoją przed nami na co dzień. Zastanawiamy się, w czym tkwi sedno problemu i w jakiej kolejności powinniśmy wykonywać poszczególne czynności, aby go rozwiązać. Przykładami takich „życiowych algorytmów” są przepisy kulinarne — to nic innego jak zapis ciągu kroków, których wykonanie doprowadzi nas do uzyskania określonej potrawy.

Tworzenie algorytmu można podzielić na kilka kroków:

  1. Zdefiniuj problem. Zastanów się, na czym polega i w jaki sposób można by go było najprościej rozwiązać.
  2. Podziel go na mniejsze zadania do wykonania. Kontynuuj tę czynność tak długo, aż uzyskasz szereg bardzo drobnych, szczegółowo opisanych czynności.
  3. Określ, jakich narzędzi i metod użyjesz przy wykonywaniu każdego z pomniejszych zadań. Zastanów się nad optymalnymi sposobami działania.

W informatyce definiuje się algorytm jako sposób przetworzenia danych wejściowych tak, aby otrzymać określone dane wyjściowe. Aby komputer dostarczył nam pożądany wynik działań, należy podzielić zadanie na szereg bardzo prostych komend. Dotyczą one operacji na danych, które — aby komputer mógł je łatwo analizować — tworzą określone struktury. Ważną ich klasą są struktury hierarchiczne (tworzą je np. pliki podzielone na katalogi). Ułatwiają one uporządkowane przechowywanie danych i ich szybkie wyszukiwanie. Inne struktury danych mogą m.in. opisywać połączenia pomiędzy elementami czy ich właściwości (jak wtedy, gdy ujmują informacje w formie tabeli czy arkusza kalkulacyjnego).

Ułożenie komend w ciąg i ujęcie ich w całość daje nam prosty program, dzięki któremu nie musimy powtarzać ciągu dokładnie tych samych, prostych poleceń. Taka automatyzacja rutynowych działań jest jednym z podstawowych zastosowań komputerów — podstawowych narzędzi współczesnych ludzi.

Obecnie algorytmy decydują na przykład o tym, czy otrzymamy kredyt w banku (komputer za pomocą algorytmu analizuje dane i określa, czy na pewno wywiążemy się ze zobowiązania), pokazują nam najkrótszą drogę pomiędzy punktami na mapach czy sugerują partnerów na portalach randkowych. Mają zatem wielki wpływ na nasze życie, choć często sobie tego nie uświadamiamy.

wróć do spisu treści

Pomysł na lekcję: ?

Sprawdzamy, w jaki sposób myślenie algorytmiczne funkcjonuje w codziennym życiu, jaki ma wpływ na nasze postępowanie oraz w jaki sposób działanie komputera zależy od algorytmów, umożliwiając wykonywanie konkretnych operacji.

Cele operacyjne

Uczestnicy i uczestniczki:

  • wiedzą, co to jest algorytm;
  • wiedzą, że myślenie algorytmiczne ma zastosowanie w codziennym życiu i informatyce;
  • wiedzą, że cel można osiągnąć, korzystając z alternatywnych rozwiązań (algorytmów);
  • potrafią wymienić sytuacje z życia, w których przydatne jest myślenie algorytmiczne;
  • potrafią rozwiązać prosty problem z życia codziennego, rozbijając go na mniejsze problemy (zagadnienia);
  • potrafią przetestować działanie algorytmu;
  • rozumieją budowę prostego algorytmu;
  • rozumieją pojęcia: związek relacyjny pomiędzy danymi i hierarchiczna struktura danych;
  • mają świadomość, że używanie algorytmów ułatwia codzienne funkcjonowanie;
  • mają świadomość, że algorytmy kształtują ludzkie zachowania.

Przebieg zajęć

1.

Część I. Algorytmy codzienności. Zapytaj uczestniczki i uczestników, czy wiedzą, czym jest algorytm. Jeżeli nie wiedzą, przedstaw definicję na podstawie „Wiedzy w pigułce”. Po wspólnym sformułowaniu definicji, zapytaj uczestniczki i uczestników, czy wiedzą, w jakich dziedzinach życia, nauki i wiedzy przydatne jest myślenie algorytmiczne. Zapisz na tablicy skróconą do równania definicję algorytmu: ALGORYTM = PRZEPIS. Po wskazaniu konkretnej dziedziny poproś o zapisanie jej na kartce i przyklejenie w wyznaczonym miejscu na tablicy.

7

rozmowa, burza mózgów

papierowe kartki, flamastry, taśma klejąca, tablica

2.

Wyświetl trzy przepisy na zrobienie kawy [materiał dodatkowy ”Różne sposoby na kawę”]. Zwróć uwagę uczestniczek i uczestników, że wszystkie z nich prowadzą do (pozornie) takiego samego rezultatu.

Zapytaj, jakie czynniki należy wziąć pod uwagę przy tworzeniu algorytmu kubka kawy. Oczekiwane odpowiedzi:

3.

Zapytaj, jakie jeszcze czynniki są istotne przy tworzeniu algorytmu: czas, środki ekonomiczne. Poproś o podanie innych przykładów rozwiązań jakiegoś problemu, w których czas i środki odgrywają istotną rolę. Wykorzystaj w tym celu schemat (karta pracy ”Algorytmy codzienności”), rozdając uczestnikom wydrukowaną kartę pracy. Zadanie może być wykonywane indywidualnie lub w parach. Przypomnij, że uczestnicy mogą inspirować się dziedzinami z życia, nauki i wiedzy (zapisanymi na kartkach i przyklejonymi do tablicy w pierwszej części zajęć). Uczestnicy i uczestniczki mogą rozbudowywać wykres o rozgałęzienia, pamiętając przy tym, że w przypadku każdego z zagadnień możliwe są tylko dwie odpowiedzi: TAK (1) lub NIE (0). Po wykonaniu zadania poproś, by uczestniczki i uczestnicy przedstawili wyniki pracy.

4.

Zapytaj uczestników i uczestniczki, w jakich sferach życia myślenie algorytmiczne nie ma zastosowania. Zwróć uwagę na nieprzewidywalność pewnych czynników wynikającą z indywidualnych zachowań, związanych z emocjami, tworzeniem dzieła sztuki itd.

5.

Część II. Algorytmy w informatyce. Przedstaw zasady funkcjonowania komputerów, oparte przede wszystkim na pracy algorytmów. Zwróć uwagę, że działanie algorytmów w informatyce to zawsze przekształcanie danych wejściowych na wyjściowe. Zapoznaj uczestniczki i uczestników z informacjami zawartymi w „Wiedzy w pigułce”. Porównaj działanie komputera wykorzystującego algorytmy do szybkiej, zautomatyzowanej pracy księgowego lub kasjera. Zwróć uwagę, że aplikacje pisane są zawsze w konkretnym języku programowania, np. Java, C++, Delphi, SQL, JavaScript, Python, C#. Opowiedz krótko o najlepiej ci znanym. Zapytaj uczniów, jakie znają zastosowania algorytmów w informatyce. Jeżeli nie potrafią wymienić przykładów, omów krótko te, z których korzystają najczęściej, np. selektywne wyświetlanie informacji na portalu społecznościowym Facebook, wyszukiwarka połączeń autobusowych, pozycjonowanie stron w wyszukiwarkach internetowych, selektywny dobór osób na portalach randkowych.

6.

Wyświetl materiał dodatkowy ”Kto jest kim w <<Grze o tron>>”. Przy omówieniu drzewa genealogicznego np. rodu Starków z popularnej serii telewizyjnej „Gra o tron”, stosuj słownictwo charakterystyczne dla opisu hierarchicznej struktury danych i metafory drzewa jako rodziny: korzeń, węzły, krawędzie, liście. Zapytaj uczniów, gdzie w informatyce korzysta się z takiej struktury danych. Jeżeli uczestniczki i uczestnicy nie potrafią podać przykładu, zapisz na tablicy przykład ścieżki dostępu do określonego folderu lub pliku. Np. C:\użytkownik\mojedokumenty\zdjecia\prywatne\2016. Poproś, by uczniowie w tym zapisie wskazali, co jest korzeniem, co rozgałęzieniem, co liśćmi oraz gdzie występują relacje.

Podziel uczestników na 6 grup. Każdej z nich daj kartę pracy ”Uszeregowanie hierarchiczne”. Poproś o (uproszczone) hierarchiczne rozpisanie znanych im struktur: grupa 1. — służba zdrowia, grupa 2. — policja, grupa 3. — szkoła, grupa 4. — uniwersytet, grupa 5. — rodzaje i gatunki filmowe, grupa 6. — rodzaje i gatunki literackie. Podsumuj ćwiczenie, prosząc przedstawiciela lub przedstawicielkę każdej z grup o zaprezentowanie wyników pracy. Poproś, aby w ramach pracy domowej uczestniczki i uczestnicy hierarchicznie opisali ścieżkę dostępu do folderu „Kosz”.

Ewaluacja

Czy po przeprowadzeniu zajęć ich uczestnicy i uczestniczki:

• wiedzą, co to jest algorytm;

• wiedzą, że myślenie algorytmiczne ma zastosowanie w codziennym życiu i informatyce;

• wiedzą, że cel można osiągnąć, korzystając z alternatywnych rozwiązań (algorytmów);

• potrafią wymienić sytuacje z życia, w których przydatne jest myślenie algorytmiczne;

• potrafią rozwiązać prosty problem z życia codziennego, rozbijając go na mniejsze problemy (zagadnienia);

• potrafią zidentyfikować problem oraz stworzyć rozwiązanie problemu w oparciu o swój projekt i dostępne narzędzia informatyczne (programy, aplikacje);

• potrafią przetestować działanie algorytmu i ocenić jego skuteczność pod kątem warunków brzegowych;

• rozumieją budowę prostego algorytmu;

• rozumieją pojęcia: związek relacyjny pomiędzy danymi i hierarchiczna struktura danych;

• mają świadomość, że używanie algorytmów ułatwia codzienne funkcjonowanie;

• mają świadomość, że algorytmy kształtują ludzkie zachowania

Opcje dodatkowe

Jeżeli udało Ci się zrealizować materiał w krótszym czasie, wyświetl film podsumowujący wiedzę zdobytą w trakcie zajęć. https://www.youtube.com/watch?v=S-ws2W6UbPU

wróć do spisu treści

Materiały ?

wróć do spisu treści

Zadanie dla ucznia ?

Zadanie 1

Oznacz poniższe zdania jako prawdę lub fałsz.

  • Prawda Fałsz Każdy algorytm można wprowadzić do komputera w dowolnym języku europejskim.
  • Prawda Fałsz Program komputerowy to algorytm zapisany w języku zrozumiałym dla każdego.
  • Prawda Fałsz Hierarchiczny model danych przypomina swoją budową drzewo.
  • Prawda Fałsz Ciąg kroków w algorytmie może być nieskończenie długi.
  • Prawda Fałsz Dzięki algorytmom można dokładnie przewidzieć reakcje emocjonalne człowieka.
  • Prawda Fałsz Algorytmy nie sprawdzają się przy przewidywaniu działania człowieka w afekcie.
  • Prawda Fałsz Rekord bazy danych to pojedynczy wpis w bazie.
  • Prawda Fałsz Stworzono już wszystkie możliwe algorytmy usprawniające pracę komputerów.
wróć do spisu treści

Słowniczek ?

algorytm
ciąg jasno definiowanych kroków, które musimy wykonać, aby osiągnąć pożądany cel. Zadaniem algorytmu jest przeprowadzenie systemu z pewnego stanu początkowego do pożądanego stanu końcowego. Algorytm może zostać zaimplementowany w postaci programu komputerowego.
dane wejściowe
zbiór danych, na którym pragniemy przeprowadzić jakąś operację algorytmiczną.
dane wyjściowe
zbiór danych, będący wynikiem operacji algorytmicznej. Powstaje poprzez określone przez algorytm przekształcenia jakiegoś zbioru danych (danych wyjściowych).
hierarchiczna struktura danych
sposób uporządkowania informacji w komputerze, polegający na określeniu hierarchicznych zależności pomiędzy nimi. Typowym jej przykładem jej system plików komputera: składuje się je w określonych folderach, znajdujących się zwykle w folderach wyższego rzędu.

Zobacz cały słowniczek.

wróć do spisu treści

Czytelnia ?

wróć na górę