Opis założonych osiągnięć ucznia – przykłady wymagań na poszczególne oceny szkolne 
opracowany na podstawie materiału edukacyjnego:
Grażyna Koba, Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Materiał edukacyjny. Część 1, 
dostępnego na stronie internetowej ir.migra.pl
Autor: Grażyna Koba
MIGRA 2020
Spis treści
A.	Wokół komputera
Narzędzia i sposoby dbania o komputer
Planowanie rozbudowy i zakup nowego komputera
B.	Wokół dokumentów komputerowych
Tworzenie i edytowanie obrazów rastrowych
Praca z warstwami obrazu i animacje
C.	Wokół algorytmiki i programowania
Prezentacja algorytmu liniowego w wybranej notacji
Prezentacja algorytmu z warunkami w wybranej notacji
Prezentacja algorytmu iteracyjnego w wybranej notacji
Funkcje w wybranym języku programowania
Tablice w wybranym języku programowania
Stosowanie instrukcji iteracyjnych
Iteracyjna realizacja wybranych algorytmów, w tym algorytmów wyszukiwania
Elementy analizy algorytmów
D.	Wokół Internetu i projektów
Praca w chmurze i zadania projektowe

A.	Wokół komputera
Uwaga: Zgodnie z podstawa programową do informatyki dla szkół ponadpodstawowych: „Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:”

Narzędzia i sposoby dbania o komputer	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
potrafi sprawdzić zajętość dysku;
usuwa zbędne pliki;
odinstalowuje zbędne programy	zna możliwości wybranych narzędzi administracyjnych systemu Windows, m.in. Oczyszczanie dysku;
dba, aby system operacyjny był na bieżąco aktualizowany	sprawdza ustawienia pamięci dyskowej komputera;
wie, jak włączyć automatyczne zwalnianie miejsca na dysku twardym; 
wie, na czym polega proces defragmentacji dysku	wie, na czym polega działanie narzędzia Przywracanie systemu;
wie, jak przyspieszyć pracę komputera, m.in. sprawdza aktualnie działające programy, wyłącza niepotrzebne programy;
omawia, na czym powinna polegać konserwacja sprzętu komputerowego	potrafi zadbać o własny sprzęt komputerowy; samodzielnie zapoznaje się z możliwościami różnych narzędzi administracyjnych systemu Windows;
odszukuje inne, niż omówione w temacie A1, możliwości dbania o sprzęt komputerowy;
samodzielnie wykonuje niezbędne czynności konserwujące sprzęt komputerowy	

Planowanie rozbudowy i zakup nowego komputera	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna i omawia parametry podstawowych elementów komputera;
zna i przestrzega zasady bezpiecznej pracy z urządzeniami elektronicznymi, m.in.  podczas demontażu obudowy komputera;
	wie, co można zrobić, aby rozbudować komputer przenośny, m.in.: podłączenie modemy GSM, zewnętrznego dysku twardego, zwiększenie wielkości pamięci RAM;
potrafi sprawdzić parametry komputera	wie, co można zrobić, aby rozbudować komputer stacjonarny, m.in.: wymiana kart rozszerzeń, zwiększenie wielkości pamięci RAM;
omawia konfigurację oprogramowania dla komputera przeznaczonego do konkretnych zastosowań, np. do użytku domowego, do gier	potrafi zaprojektować konfigurację nowego komputera przeznaczonego do konkretnych zastosowań, np. do użytku domowego, do gier;
potrafi zaprojektować konfigurację oprogramowania przed zakupem komputera przeznaczonego do konkretnych zastosowań, np. do użytku domowego, do gier;
potrafi przygotować nośnik z dystrybucją Linuxa i uruchomić za jego pomocą komputer	samodzielnie projektuje rozbudowę komputera przenośnego i stacjonarnego;
samodzielnie projektuje konfigurację oprogramowania przed zakupem komputera przeznaczonego do profesjonalnych zastosowań, np. dla grafika;
dzieli się z innymi swoją wiedza i doświadczeniami w/w zakresach;
wyszukuje dodatkowe informacje;
porównuje funkcjonalności wybranej dystrybucji systemu Linux i systemu Windows	

B.	Wokół dokumentów komputerowych
Uwaga: Zgodnie z podstawa programową do informatyki dla szkół ponadpodstawowych: „Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:”

Tworzenie i edytowanie obrazów rastrowych	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna podstawowe możliwości programu do edycji obrazu rastrowego (programu GIMP);
potrafi utworzyć prosty rysunek, stosując różne narzędzia malarskie i korekcyjne oraz wybrać odpowiedni tryb ich pracy	wykonuje operacje na obszarach selekcji, m.in.: wycinanie, kopiowanie, kadrowanie, obrysowywanie;
stosuje poznane możliwości programu GIMP do edycji zdjęć	zna przeznaczenie i odpowiednio stosuje wybrane klawisze modyfikujące (i kombinacje klawiszy);
potrafi wykonać proste modyfikacje barw: zmianę jasności, odwracanie kolorów, zmianę nasycenia, odcieni kolorów	zna pojęcia: histogram, krzywa barw;
tworzy własny pędzel;
wykorzystuje tryb Kolor;
operuje na kanałach barw;
używa krzywej jasności i funkcji histogramu;
korzysta z narzędzia klonowania;
w razie konieczności wyszukuje informacje w Pomocy;	samodzielnie zapoznaje się z dodatkowymi możliwościami programu GIMP, w tym opcjami tworzenia pędzli;
rozwiązuje trudniejsze zdanie, korzystając z narzędzia klonowania i innych;
wyszukuje w Internecie informacje na temat tworzenia zdjęć panoramicznych; 
uczestniczy w konkursach dotyczących grafiki komputerowej	

Praca z warstwami obrazu i animacje	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
poprawia jakość zdjęcia, stosując wybrane filtry;
wie, na czym polega praca z warstwami	wykonuje przekształcenia obrazu (obroty, odbicia), tworząc obrazy w grafice rastrowej;
stosuje filtry, m.in. poprawia ostrość obrazu, 
wykonuje proste fotomontaże, korzystając z warstw	stosuje filtry, m.in. wykonuje efekt zamglenia, usuwa szumy;
wykonuje fotomontaże, korzystając z kilku warstw;
wie, czym jest oderwane zaznaczenie i jak zakotwiczyć warstwę;
przygotowuje animacje składające się z kilkunastu klatek, stosując pracę na warstwach;
zapisuje animację w formacie GIF	samodzielnie tworzy rysunki, powiela warstwy i stosuje możliwości przekształceń, aby utworzyć kolejną klatkę animacji;
wykorzystując dodatkowe możliwości programu GIMP, rozwiązuje rożne zadania, edytując obrazy, tworząc fotomontaże
korzystając z poznanych możliwości programu GIMP, projektuje dwuwymiarową wizualizację lub animację	wyszukuje w Internecie dodatkowe informacje na temat korzystania z filtrów w programie GIMP; 
wymyśla temat fotomontażu i przygotowuje animacje według własnych pomysłów, korzystając z różnych możliwości programu do tworzenia animacji;
projektuje dwuwymiarową wizualizację lub animację, wykorzystując dodatkowe możliwości programu GIMP	
C.	
Wokół algorytmiki i programowania 
Uwaga: Zgodnie z podstawa programową do informatyki dla szkół ponadpodstawowych: „Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:”

Prezentacja algorytmu liniowego w wybranej notacji	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
zna sposoby prezentacji algorytmów;
testuje działanie algorytmu liniowego zapisanego w postaci listy kroków i przedstawionego w postaci schematu blokowego;
potrafi narysować (odręcznie) schemat blokowy algorytmu liniowego;
zapisuje prosty algorytm liniowy w wybranym języku programowania	zna pojęcie specyfikacji zadania i potrafi zapisać specyfikację zadania;
zna i stosuje zasady tworzenia listy kroków; przedstawia algorytm liniowy w postaci listy kroków;
zna podstawowe zasady graficznego prezentowania algorytmów: podstawowe rodzaje bloków, ich przeznaczenie i sposoby umieszczania w schemacie blokowym;
podczas rysowania schematów blokowych potrafi wykorzystać Kształty z edytora tekstu;
pisze programy komputerowe realizujące dane algorytmy na podstawie ich list kroków i/lub schematów blokowych	przedstawia dokładną specyfikację dowolnego zadania.
analizuje poprawność budowy schematu blokowego;
objaśnia dobrany algorytm, uzasadnia poprawność rozwiązania na wybranych przykładach danych;
realizuje przykładowy algorytm liniowy w wybranym języku programowania na podstawie ich list kroków i schematów blokowych; testuje program dla różnych danych	potrafi samodzielnie zapoznać się z nowym programem edukacyjnym przeznaczonym do konstrukcji schematów blokowych;
potrafi przeprowadzić szczegółową analizę poprawności konstrukcji schematu blokowego;
analizuje działanie algorytmu dla przykładowych danych; potrafi wskazać i poprawić błędy w liście kroków czy w schemacie blokowym;
Samodzielnie pisze program realizujący algorytm liniowy.	zapisuje specyfikację zadania i przedstawia w postaci listy kroków i schematu blokowego rozwiązanie trudniejszego zadania;
w wybranym języku programowania (C++ lub Python) pisze trudniejsze programy realizujące algorytmy przedstawione w postaci list kroków i schematów blokowych;
uczestniczy w konkursach/olimpiadach informatycznych	

Prezentacja algorytmu z warunkami w wybranej notacji	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
określa sytuacje warunkowe;
podaje przykłady zadań, w których występują sytuacje warunkowe;
wie, jaka figura reprezentuje sytuacje warunkową;
potrafi narysować (odręcznie) schemat blokowy nietrudnego algorytmu z warunkiem prostym	analizuje działanie algorytmu z warunkami zapisanego w postaci graficznej.
zna i stosuje zasady tworzenia listy kroków algorytmu z warunkami;
potrafi narysować schemat blokowy algorytmu z warunkami, korzystając z wybranego narzędzia;
pisze program w wybranym języku programowania realizujący algorytm z warunkami prostymi; zna i stosuje instrukcję warunkową	przedstawia algorytm z warunkami w postaci listy kroków;
analizuje listę kroków i schemat blokowy algorytmu z warunkami, testując go dla wybranych danych;
potrafi zapisać warunek złożony;
korzystając z przykładu, zapisuje w postaci programu algorytm z warunkami złożonymi;
zna i omawia warunek istnienia trójkąta	Zapisuje algorytmy z pętlą zagnieżdżoną.
testuje działanie algorytmu z warunkami zagnieżdżonymi zapisanego w postaci listy kroków na wybranych przykładach danych;
buduje schemat blokowy algorytmu sprawdzania warunku trójkąta na podstawie listy kroków;
zapisuje w postaci programu algorytm z warunkami zagnieżdżonymi	wymyśla samodzielnie problem z warunkami zagnieżdżonymi, zapisuje jego specyfikację, listę kroków, tworzy schemat blokowy i program w wybranym języku programowania
korzystając z dodatkowych źródeł, znajduje inny, niż podany w podręczniku, sposób sprawdzenia, czy z danych trzech odcinków można zbudować trójkąt i zapisuje ten algorytm w postaci programu komputerowego;
w wybranym języku programowania pisze trudniejsze programy realizujące algorytmy z warunkami (w tym zagnieżdżonymi) przedstawione w postaci list kroków i schematów blokowych	

Prezentacja algorytmu iteracyjnego w wybranej notacji	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
analizuje listę kroków algorytmu iteracyjnego, testując go dla wybranych danych;
analizuje schemat algorytmu iteracyjnego, testując go dla wybranych danych;	zna pojęcie iteracji i rozumie pojęcie algorytmu iteracyjnego; podaje przykłady algorytmów iteracyjnych;
tworzy schemat blokowy algorytmu z warunkiem prostym i pętlą; testuje rozwiązanie dla wybranych danych;
zna i stosuje instrukcję iteracyjną for w wybranym języku programowania;
zapisuje prosty algorytm iteracyjny w postaci programu w wybranym języku programowania	analizuje algorytmy, w których występują powtórzenia (iteracje);
ocenia zgodność algorytmu ze specyfikacją;
analizuje listę kroków i schemat blokowy algorytmu z pętlą zagnieżdżoną, testując go dla wybranych danych;
zapisuje algorytm iteracyjny w postaci programu w wybranym języku programowania	zapisuje w postaci listy kroków algorytmów z warunkami i iteracyjne;
pisze listę kroków i tworzy schemat blokowy algorytmu z pętlą zagnieżdżoną; 
ocenia zgodność algorytmu ze specyfikacją problemu;
wie, kiedy należy zastosować pętlę zagnieżdżoną;
zapisuje w postaci programu wybrany algorytm z pętlą zagnieżdżoną; 
testuje program dla wybranych danych	przestrzega zasad zapisu algorytmów w zadanej postaci (notacji);
stosuje listy kroków i schematy blokowe w opisie zadań (problemów) z innych przedmiotów szkolnych oraz różnych dziedzin życia;
wskazuje podobieństwa i różnice dotyczące działania instrukcji warunkowych i iteracyjnej for w różnych językach programowania;
zapisuje trudniejsze algorytmy iteracyjne w wybranym języku programowania; zapisuje programy w czytelnej postaci – stosuje wcięcia, komentarze;
uczestniczy w konkursach/olimpiadach informatycznych	

Funkcje w wybranym języku programowania 	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
Wie, czym są podprogramy;
W wybranym języku programowania definiuje prostą funkcję niezwracająca wartości bez parametrów.
Wie, jak wywołać funkcję niezwracająca wartości bez parametrów w programie. Wywołuje taka funkcję w programie.	Wie, na czym polega programowanie strukturalne;
Pisze programy, stosując funkcje.
Definiuje funkcje niezwracające wartości bez parametrów i z parametrami. Stosuje te funkcje w programach.
Wyjaśnia pojęcia zmienna lokalna i zmienna globalna.	Wymienia modele programowania;
Rozumie i stosuje zasady programowania strukturalnego.
Wyjaśnia, czym są parametry funkcji.
Wyjaśnia, czym jest funkcja zwracająca wartość. Porównuje do funkcji niezwracającej wartości. Wskazuje różnice.
Wie, na czym polega wywołanie funkcji z parametrami i wywołuje taką funkcję w programach.
Definiuje funkcje zwracające wartości bez parametrów i z parametrami oraz stosuje je w programach.
Wie, co to jest zasięg zmiennej i jakie ma znaczenie.
Deklaruje odpowiednio zmienne lokalne i globalne w programach.	Omawia modele programowania;
Rozumie zasady postępowania przy rozwiązywaniu problemu metodą zstępującą.
Wyjaśnia, czym różni się programowanie zstępujące od wstępującego.
Definiuje funkcje niezwracające wartości i zwracające wartość bez parametrów i z parametrami oraz stosuje je w programach.
Wyjaśnia, na czym polega przesłanianie zmiennych globalnych.
Wyjaśnia, na czym polega przesłanianie parametrów funkcji.
Modyfikuje programy, stosuje zmienne globalne i lokalne, objaśnia otrzymane wyniki.	Porównuje modele programowania, wskazując różnice. 
Sprawnie definiuje i stosuje funkcje niezwracające wartości i zwracające wartość bez parametrów i z parametrami w programach. 
Rozwiązuje przykładowe zadania z matury i olimpiady informatycznej.
Potrafi, na przykładzie programu utworzonego według własnego pomysłu, wyjaśnić różnice w stosowaniu zmiennych lokalnych i globalnych, omówić zasięg zmiennych i przesłanianie zmiennych.
Potrafi, na przykładzie programu utworzonego według własnego pomysłu, wyjaśnić przesłanianie parametrów funkcji.	

Tablice w wybranym języku programowania 	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
Analizuje i omawia gotowe przykłady programów, w których są użyte tablice lub listy.
Potrafi wyjaśnić, dlaczego do rozwiązania niektórych zadań należy użyć tablic (list).	Zna pojęcia: tablica, lista, zmienna indeksowana. 
Na bazie przykładów z podręcznika, deklaruje tablicę i/lub listę, wczytuje i wyprowadza elementy tablicy i/lub listy, definiując odpowiednie funkcje w wybranym języku programowania.	Rozróżnia struktury danych: proste i złożone. Podaje przykłady.
Wczytuje i wyprowadza elementy tablicy i/lub listy. Definiuje odpowiednie funkcje.
Wie, jak odwołać się do elementu tablicy i/lub listy.
Potrafi zastosować tablicę (listę) w zadaniach oraz modyfikować program, znaleźć błędy i je poprawić.	Rozumie, na czym polega dobór struktur danych do algorytmu i tworzy programy, dobierając odpowiednie struktury danych do programu.
Deklaruje tablicę dwuwymiarową w języku C++. Definiuje odpowiednie funkcje.
Definiuje różne listy (w tym dwuwymiarowe) w języku Python. 
Tworzy programy, dobierając odpowiednie struktury danych do programu.	Omawia podobieństwa i różnice w definiowaniu tablic w języku C++ i list w języku Python 
Stosuje w programach listy jednowymiarowe i dwuwymiarowe, odpowiednio dobierając określoną strukturę danych (tu: rodzaj listy) do algorytmu.
Rozwiązuje przykładowe zadania z konkursów i olimpiady informatycznej, w których należy zastosować tablice i/lub listy i funkcje.
Dobiera najlepszy algorytm i odpowiednie struktury danych do rozwiązania postawionego problemu.	

Stosowanie instrukcji iteracyjnych	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
Analizuje i omawia działanie gotowych programów zapisanych w wybranym języku programowania, zawierających instrukcję pętli for.
Analizuje i omawia działanie gotowych programów zapisanych w wybranym języku programowania, zawierających instrukcję pętli while.	Zna pojęcie iteracji i rozumie pojęcie algorytmu iteracyjnego. Podaje ich przykłady. 
Zna postać i działanie instrukcji iteracyjnej while w językach C++ i/lub Python i stosuje ją w tworzonych programach komputerowych.	Zna sposoby zakończenia iteracji. Określa kroki iteracji.
Stosuje instrukcję while w programach komputerowych.
W języku C++ stosuje instrukcję do … while w programach komputerowych.
Zna różne sposoby określania liczby iteracji w języku Python, np. poprzez powtarzanie poleceń zawartych wewnątrz pętli dla konkretnych wartości lub poprzez podanie liczby powtórzeń z zastosowaniem funkcji range().	Rozumie różnicę pomiędzy instrukcją for a instrukcją while w wybranym języku programowania.
Modyfikuje programy, zamieniając pętlę for na while i odwrotnie. Ocenia program po zmianie (styl, czytelność). 
Pisze programy, stosując poznane instrukcje iteracyjne.
Dobiera odpowiednią technikę algorytmiczną i odpowiednie struktury danych do rozwiązywanego problemu.	Potrafi samodzielnie zastosować odpowiedni rodzaj instrukcji pętli w tworzonym programie.
Potrafi samodzielnie dobrać odpowiednią instrukcję while lub do… while.
Omawia podobieństwa i różnice w działaniu wszystkich omówionych instrukcji pętli w języku C++.
Sprawnie pisze trudniejsze programy, stosując poznane instrukcje iteracyjne.
Wymyśla samodzielnie problem iteracyjny, formułuje zadanie, pisze jego specyfikację i listę kroków oraz zapisuje w wybranym języku programowania.	

Iteracyjna realizacja wybranych algorytmów, w tym algorytmów wyszukiwania	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
Potrafi odróżnić algorytm liniowy od algorytmu iteracyjnego.
Omawia algorytm znajdowania elementu najmniejszego. Analizuje listę kroków i rysuje schemat blokowy na jej podstawie.
Analizuje i omawia gotową listę kroków i schemat blokowy algorytmu Euklidesa w jednej z wersji. Testuje algorytm na podstawie listy lub schematu.	Zna przykładowe algorytmy na liczbach naturalnych; 
Wie, na czym polega metoda wyszukiwania liniowego i przez połowienie.
Zapisuje algorytm znajdowania najmniejszego (największego) elementu w postaci programu.
Zna iteracyjną postać algorytmu Euklidesa w wersji z odejmowaniem. 
Potrafi napisać listy kroków algorytmu i narysować schemat blokowy Euklidesa w wersji z odejmowaniem.
Zna metodę „dziel i zwyciężaj”. 
Zapisuje algorytm Euklidesa w wersji z odejmowaniem w postaci programu w wybranym języku programowania.	Potrafi omówić algorytm naiwny i optymalny jednoczesnego znajdowania największego i najmniejszego elementu w zbiorze. 
Zna iteracyjną postać algorytmu Euklidesa z resztą z dzielenia. Pisze listę kroków tego algorytmu.
Potrafi narysować schemat blokowy algorytmu Euklidesa w wersji z resztą z dzielenia. 
Zapisuje algorytm Euklidesa w wersji z resztą z dzielenia w postaci programu w wybranym języku programowania.
Wyjaśnia na przykładzie różnicę między wersją algorytmu Euklidesa z odejmowaniem a wersją z resztą z dzielenia.	Określa liczbę porównań w algorytmie naiwnym i optymalnym znajdowania największego i najmniejszego elementu w zbiorze. Porównuje otrzymane wyniki.
Pisze listę kroków algorytmu jednoczesnego znajdowania minimum i maksimum z wykorzystaniem metody dziel i zwyciężaj. Zapisuje ten algorytm w postaci programu w języku C++ i/lub Python.
Omawia zastosowanie schematu Hornera do obliczania wartości wielomianu; pisze listę kroków, rysuje schemat blokowy tego algorytmu i pisze program realizujący algorytm obliczania wartości wielomianu według schematu Hornera.
Programując w/w algorytmy, definiuje odpowiednie funkcje, dobiera struktury danych. Dba o stosowanie podstawowych zasad programowania.	Podaje przykłady problemów, w których można zastosować wyszukiwanie liniowe lub przez połowienie.
Pisze trudniejsze programy komputerowe, w których wykorzystuje poznane algorytmy. 
Korzystając z dodatkowych źródeł, wyszukuje informacje o zastosowaniu metody „dziel i zwyciężaj” oraz pisze program według własnego pomysłu pokazujący zastosowanie tej metody.
Samodzielnie zapoznaje się ze schematem Hornera i zapisuje go w postaci programu, dopierając poprawne struktury danych.
Korzystając z dodatkowych źródeł, omawia przykłady zastosowań algorytmu Euklidesa i poznaje trudniejsze algorytmy, np. trwałego małżeństwa, problem ośmiu hetmanów, algorytm znajdowania liczb bliźniaczych. Potrafi zapisać je w języku programowania.	

Elementy analizy algorytmów	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
Wymienia własności algorytmów.
Potrafi przeanalizować przebieg prostego algorytmu zapisanego w postaci listy kroków lub w postaci schematu blokowego dla przykładowych danych i ocenić w ten sposób jego poprawność.	Zna i omawia własności algorytmów.
Wie, kiedy algorytm jest poprawny. 
Potrafi przeanalizować przebieg algorytmu (np. obliczania silni) zapisanego w postaci listy kroków lub w postaci schematu blokowego dla przykładowych danych i ocenić w ten sposób jego poprawność.
Analizuje program wybranego algorytmu (np. obliczania silni) i ocenia jego poprawność. 	Wie, jak sprawdzić, czy algorytm jest skończony. 
Potrafi ocenić poprawność działania algorytmu i jego zgodność ze specyfikacją.
Określa liczbę prostych działań zawartych w algorytmie.
Określa liczbę prostych działań zawartych w algorytmie.
Potrafi poprawić program, który jest niepoprawny.	Wie, kiedy algorytm jest skończony. 
Potrafi przeanalizować przebieg algorytmu zapisanego w postaci listy kroków lub w postaci schematu blokowego dla przykładowych danych i ocenić w ten sposób jego skończoność.
Analizuje program realizujący wybrany algorytm i ocenia jego skończoność. Modyfikuje program, aby działał poprawnie.
Sprawdza poznane własności algorytmów, rozwiązując zadania, m.in. uzasadnia skończoność algorytmu znajdowania największego wspólnego dzielnika (NWD) dwóch liczb naturalnych.
Oblicz liczbę operacji porównania w algorytmie wyboru minimum z tablicy zawierającej n losowo uporządkowanych liczb.	Potrafi samodzielnie ocenić poprawność i skończoność wybranych algorytmów.
Potrafi samodzielnie wymyśleć zadanie (problem), napisać specyfikację zadania, listę kroków i program realizujący to zadanie.
Korzysta samodzielnie z dodatkowej literatury fachowej.
Poznane dodatkowe możliwości wybranego języka programowania (np. standardowe funkcje) i stosuje w programach. 
Rozwiązuje przykładowe zadania z olimpiady informatycznej.	

D.	Wokół Internetu i projektów
Uwaga: Zgodnie z podstawa programową do informatyki dla szkół ponadpodstawowych: „Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto:”

Praca w chmurze i zadania projektowe	
2	3	4	5	6	
Uczeń:	Uczeń:	Uczeń:	Uczeń:	Uczeń:	
Zna etapy pracy nad projektem i bierze udział w pracy grupowej jako członek zespołu.
Uczestniczy czynnie w projekcie grupowym, wykonując proste zadania, np. wprowadza dane do bazy i je aktualizuje.	Planuje temat projektu.
Bierze aktywny udział w pracy grupowej jako członek zespołu, gromadząc i selekcjonując materiały do projektu.
Bierze udział w testowaniu projektu.
Uczestniczy w przygotowaniu dokumentacji projektu, korzystając z edytora tekstu; ewentualnie z wybranego szablonów.	Korzystając z chmury, potrafi udostępnić pliki, linki do folderu; umożliwić współdzielenie danego folderu.
Realizuje projekt na zadany (lub samodzielnie wybrany) temat zgodnie z etapami projektowania; przygotowuje dokumentację projektu.
Współpracuje w grupie, wykonując projekt na temat projektowania zakupu nowego zestawu komputerowego oraz oprogramowania dla ucznia szkoły ponadpodstawowej; oraz wpływu trendów w historycznym rozwoju pojęć i metod informatyki oraz technologii na możliwości rozwoju grafiki komputerowej.	Korzysta z oprogramowania dostępnego w chmurze, m.in. tworzy dokumenty w edytorze tekstu i umieszcza w chmurze. Współdzieli je z innymi współużytkownikami.
Przygotowuje wybrane zadanie szczegółowe zgodnie z etapami przygotowania projektu. Gromadzi materiały i inne pomoce, opracowuje dokumentację projektu, wykorzystując m.in. możliwości pracy w chmurze.
Udostępnia pliki, linki do folderu. 
Wyszukuje informacje na e-platformach do e-nauczania.
Prezentuje wykonane zadanie projektowe wykorzystaniem projektora innych przygotowanych pomocy lub materiałów. Inicjuje dyskusje.	Sprawnie posługuje się środowiskiem przeznaczonym do współpracy i realizacji projektów zespołowych, w tym środowiskiem w chmurze.
Potrafi pełnić funkcję koordynatora grupy. 
Koordynuje wykonywanie zadań szczegółowych na poszczególnych etapach. Zarządza folderami (współdzieleniem) i pracą nad dokumentami, w tym dokumentacją projektu. Ustala sposób prezentacji projektu i wyznacza osobę (osoby) do prezentacji.
W miarę możliwości współtworzy zasoby udostępniane na platformach do e-nauczania.
Przygotowuje projekt na wybrany przez siebie temat.