Propozycja 2. rozkładu materiału do realizacji informatyki w szkole ponadpodstawowej na poziomie klas I-III (z programowaniem w każdej klasie)
opracowana na podstawie podręcznika:
Grażyna Koba, Katarzyna Koba-Gołaszewska, Informatyka 1-3. Podręcznik dla szkoły ponadpodstawowej. Zakres podstawowy, MIGRA, Wrocław 2022
Autorzy: Grażyna Koba, Katarzyna Koba-Gołaszewska
MIGRA 2022
W rozporządzeniu Ministra Edukacji Narodowej z dnia 28 marca 2017 r. w sprawie ramowych planów nauczania dla publicznych szkół dokonano przydziału godzin na poszczególne zajęcia edukacyjne. Na trzecim etapie edukacyjnym informatykę w zakresie podstawowym należy realizować w wymiarze jednej godziny tygodniowo w klasie I, II i III. 
Przedstawiamy propozycję rozkładu materiału dla klas I-III z programowaniem w każdej klasie. Zakładamy, że w ciągu roku szkolnego mamy do dyspozycji 32 godziny dydaktyczne rocznie, w tym 30 godzin tematycznych i 2 godziny nietematyczne (sprawdziany).
Proponujemy na realizację informatyki przeznaczyć: 
32 godziny – w klasie I, 
32 godziny – w klasie II,
32 godziny – w klasie III.
W rozkładzie uwzględniono dwa języki programowania wysokiego poziomu: C++ i Python. W każdym języku omawiane są te same zasady programowania. Można zatem omówić je, wybierając jeden z języków. Niezależnie od wyboru, treści z podstawy programowej dotyczące tworzenia programów komputerowych zostaną zrealizowane. 

Propozycja 2. Wersja z programowaniem w każdej klasie 
– podział godzin na poszczególne treści nauczania
					
 	Liczba godzin	
Rozdział	Klasa 1 	Klasa 2 	Klasa 3	SUMA	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	4	2	-	6	
Rozdział II Internet	3	2	-	5	
Rozdział III Edytor tekstu	6	-	-	6	
Rozdział IV Prezentacje multimedialne	-	2	-	2	
Rozdział V Grafika komputerowa 2D i 3D	3	3	3	9	
Rozdział VI Arkusz kalkulacyjny	 -	6	-	6	
Rozdział VII Bazy danych	-	-	7	7	
Rozdział VIII Strony WWW	4	-	-	4	
Rozdział IX Projekty – rozwój IT	1	3	-	4	
Rozdział X Systemy liczbowe	-	2	-	2	
Rozdział XI Rozwiązywanie problemów i programowanie	2	-	-	2	
Rozdział XII/XIII Programowanie w języku C++/ Python - DO WYBORU	7	5	-	12	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	-	2	8	10	
Rozdział XV Programowanie wybranych algorytmów	-	3	8	11	
Rozdział XVI Projekty – elementy robotyki z wykorzystaniem Arduino	-	-	4	4	
Sprawdziany	2	2	2	6	
RAZEM	32	32	32	96	

KLASA 1. [część 1. i cześć 2. podręcznika]	
Rozdział	Temat z podręcznika 	Numer lekcji	Temat lekcji = temat z podręcznika	Podstawa programowa	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	Temat 1. Logiczny model i elementy komputera	1.		Logiczny model i elementy komputera	III. 1., 2.	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	Temat 2. Systemy operacyjne i inne oprogramowanie	2.		Systemy operacyjne i inne oprogramowanie	III. 3.	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	Temat 3. Urządzenia cyfrowe w szkole	3.		Urządzenia cyfrowe w szkole	III. 1., 2.	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	Temat 4. Urządzenia cyfrowe w domu i inne 	4.		Urządzenia cyfrowe w domu i inne 	III. 1., 2.	
Rozdział II Internet 	Temat 7. Internet jako ocean informacji	5.		Internet jako ocean informacji	III.4.	
Rozdział II Internet 	Temat 8. Przykłady wyszukiwania informacji	6.		Przykłady wyszukiwania informacji	II.4.	
Rozdział II Internet 	Temat 9. Korzystanie z wybranych e-usług	7.		Korzystanie z wybranych e-usług	III. 1., 2., 3., 4., IV.6	
Rozdział IX Projekty – rozwój IT	Temat 47. Korzystanie z wybranych e-usług – projekt	8.		Korzystanie z wybranych e-usług – projekt	IV.1., IV.2., IV.3.	
Rozdział III Edytor tekstu	Temat 12. Nagłówek, stopka i standardowe style tekstu	9.		Nagłówek, stopka i standardowe style tekstu	II. 2., 3b	
Rozdział III Edytor tekstu	Temat 13. Niestandardowe style tekstu i konspekty	10.		Niestandardowe style tekstu i konspekty	II. 2., 3b	
Rozdział III Edytor tekstu	Temat 14. Odwołania w dokumencie tekstowym 	11.		Odwołania w dokumencie tekstowym	II. 2., 3b	
Rozdział III Edytor tekstu	Temat 15. Dzielenie dokumentu tekstowego i szablony dokumentów 	12.		Dzielenie dokumentu tekstowego i szablony dokumentów	II. 2., 3b	
Rozdział III Edytor tekstu	Temat 16. Praca w trybie recenzji 	13.		Praca w trybie recenzji	II. 2., 3b	
Rozdział III Edytor tekstu	Temat 17. Praktyczny poradnik		14.		Praktyczny poradnik	II. 2., 3b	
Rozdział V Grafika komputerowa 2D i 3D	Temat 20. Tworzenie obrazu i praca z warstwami w programie GIMP	15.		Tworzenie obrazu i praca z warstwami w programie GIMP	II. 2., 3a	
Rozdział V Grafika komputerowa 2D i 3D	Temat 21. Stosowanie narzędzi selekcji w programie GIMP	16.		Stosowanie narzędzi selekcji w programie GIMP	II. 2., 3a	
Rozdział V Grafika komputerowa 2D i 3D	Temat 22. Edycja zdjęć w programie GIMP	17.		Edycja zdjęć w programie GIMP	II. 2., 3a	
		18.		Sprawdzian (lekcje 1-17)		
Rozdział VIII Strony WWW	Temat 42. Tworzenie stron WWW – podstawowe informacje 	19.		Tworzenie stron WWW – podstawowe informacje	II.2., II.3f	
Rozdział VIII Strony WWW	Temat 43. Stosowanie wybranych znaczników języka HTML 	20.		Stosowanie wybranych znaczników języka HTML	II.2., II.3f	
Rozdział VIII Strony WWW	Temat 44. Kaskadowe arkusze stylów CSS 	21.		Kaskadowe arkusze stylów CSS 	II.2., II.3f	
Rozdział VIII Strony WWW	Temat 45. Elementy dynamiczne oraz publikowanie i promowanie stron WWW w Internecie	22.		Elementy dynamiczne oraz publikowanie i promowanie stron WWW w Internecie	II.2., II.3f	
Rozdział XI Rozwiązywanie problemów i programowanie	Temat 52. Sytuacje problemowe i określanie specyfikacji zadania 	23.		Sytuacje problemowe i określanie specyfikacji zadania 	I. 1., 4., 5.	
Rozdział XI Rozwiązywanie problemów i programowanie	Temat 53. Techniki algorytmiczne i programowanie 	24.		Techniki algorytmiczne i programowanie 	I. 1., 4., 5.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 54. Środowisko programistyczne języka C++, stosowanie zmiennych i wyprowadzanie wyników / Temat 66. Środowisko programistyczne języka Python, stosowanie zmiennych i wyprowadzanie wyników	25.		Środowisko programistyczne języka C++, stosowanie zmiennych i wyprowadzanie wyników / Środowisko programistyczne języka Python, stosowanie zmiennych i wyprowadzanie wyników	I. 1., 4., 5., II. 1., 2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 55. Algorytmy z warunkami w języku C++ / Temat 67. Algorytmy z warunkami w języku Python	26.		Algorytmy z warunkami w języku C++ / Algorytmy z warunkami w języku Python	I. 1., 4., 5., II. 1., 2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 56. Sprawdzanie poprawności danych i zapisywanie rozwiązania problemu w języku C++ / Temat 68. Sprawdzanie poprawności danych i zapisywanie rozwiązania problemu w języku Python	27.		Sprawdzanie poprawności danych i zapisywanie rozwiązania problemu w języku C++ / Sprawdzanie poprawności danych i zapisywanie rozwiązania problemu w języku Python	I. 1., 4., 5., II. 1., 2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 57. Instrukcje warunkowe zagnieżdżone i instrukcja wyboru / Temat 69. Instrukcje warunkowe zagnieżdżone i z klauzulą elif w języku Python	28.		Instrukcje warunkowe zagnieżdżone i instrukcja wyboru / Instrukcje warunkowe zagnieżdżone i z klauzulą elif w języku Python	I. 1., 4., 5., II. 1., 2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 58. Algorytmy iteracyjne w języku C++ / Temat 70. Algorytmy iteracyjne w języku Python	29.		Algorytmy iteracyjne w języku C++ / Algorytmy iteracyjne w języku Python	I. 1., 4., 5., II. 1., 2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 59. Instrukcje iteracyjne zagnieżdżone w języku C++ / Temat 71. Instrukcje iteracyjne zagnieżdżone w języku Python	30.		Instrukcje iteracyjne zagnieżdżone w języku C++ / Instrukcje iteracyjne zagnieżdżone w języku Python	I. 1., 4., 5., II. 1., 2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 60. Stosowanie instrukcji iteracyjnych for, while i do … while w języku C++ / Temat 72. Stosowanie instrukcji iteracyjnych for i while w języku Python	31.		Stosowanie instrukcji iteracyjnych for, while i do … while w języku C++ / Stosowanie instrukcji iteracyjnych for i while w języku Python	I. 1., 4., 5., II. 1., 2.	
		32.		Sprawdzian (lekcje 23-31)		

KLASA 2. [część 1. i część 2. podręcznika]	
Rozdział	Temat z podręcznika 	Numer lekcji	Temat lekcji = temat z podręcznika	Podstawa programowa	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	Temat 5. Sieci komputerowe 	1.		Sieci komputerowe	III.4. 	
Rozdział I Komputer, urządzenia cyfrowe i sieci komputerowe	Temat 6. Bezpieczeństwo i ochrona danych w komputerach i sieciach komputerowych	2.		Bezpieczeństwo i ochrona danych w komputerach i sieciach komputerowych	V.1. V.3.	
Rozdział II Internet	Temat 10. Wybrane przepisy prawa dotyczące technologii informacyjno-komunikacyjnych 	3.		Wybrane przepisy prawa dotyczące technologii informacyjno-komunikacyjnych 	IV. 4., V.1., V.2., V.4.	
Rozdział IX Projekty – rozwój IT	Temat 46. Zasady rozpowszechniania programów komputerowych – projekt 	4.		Zasady rozpowszechniania programów komputerowych – projekt	IV.1., V.1., 2.	
Rozdział II Internet	Temat 11. Komunikacja i wymiana informacji w Internecie 	5.		Komunikacja i wymiana informacji w Internecie 	IV. 2., IV. 3., V.1.	
Rozdział IX Projekty – rozwój IT	Temat 48. Szanse i zagrożenia związane z rozwojem informatyki i technologii informacyjno-komunikacyjnych – projekt 	6.		Szanse i zagrożenia związane z rozwojem informatyki i technologii informacyjno-komunikacyjnych – projekt	IV.1. IV.2., IV.3., IV.5.	
Rozdział V Grafika komputerowa 2D i 3D	Temat 23. Tworzenie rysunków w grafice wektorowej 	7.		Tworzenie rysunków w grafice wektorowej 	II.2., II.3a	
Rozdział V Grafika komputerowa 2D i 3D	Temat 24. Rysowanie figur i ścieżek w programie Inkscape 	8.		Rysowanie figur i ścieżek w programie Inkscape 	II.2., II.3a	
Rozdział V Grafika komputerowa 2D i 3D	Temat 25. Rysowanie przestrzenne, przekształcenia i warstwy w programie Inkscape	9.		Rysowanie przestrzenne, przekształcenia i warstwy w programie Inkscape	II.2., II.3a	
Rozdział VI Arkusz kalkulacyjny	Temat 29. Tworzenie formuł, formaty danych i formatowanie tabeli arkusza 	10.		Tworzenie formuł, formaty danych i formatowanie tabeli arkusza	II.2, II. 3c	
Rozdział VI Arkusz kalkulacyjny	Temat 30. Stosowanie funkcji arkusza kalkulacyjnego 	11.		Stosowanie funkcji arkusza kalkulacyjnego 	II.2, II. 3c	
Rozdział VI Arkusz kalkulacyjny	Temat 31. Przedstawianie danych w postaci wykresu 	12.		Przedstawianie danych w postaci wykresu	II.2, II. 3c	
Rozdział VI Arkusz kalkulacyjny	Temat 32. Tworzenie wykresu – projekt z geografii 	13.		Tworzenie wykresu – projekt z geografii	II.2, II. 3c, IV. 1.	
Rozdział VI Arkusz kalkulacyjny	Temat 33. Korzystanie z filtrów, tabele i wykresy przestawne 	14.		Korzystanie z filtrów, tabele i wykresy przestawne 	II.2, II. 3c	
Rozdział VI Arkusz kalkulacyjny	Temat 34. Stosowanie filtru w tabeli przestawnej i praktyczny poradnik 	15.		Stosowanie filtru w tabeli przestawnej i praktyczny poradnik 	II.2, II. 3c	
–	–	16.		Sprawdzian (lekcje 1-15)	–	
Rozdział IV Prezentacje multimedialne	Temat 18. Zasady tworzenia prezentacji multimedialnej	17.		Zasady tworzenia prezentacji multimedialnej	II. 2., 3e	
Rozdział IV Prezentacje multimedialne	Temat 19. Tworzymy prezentację multimedialną o Fryderyku Chopinie – projekt	18.		Tworzymy prezentację multimedialną o Fryderyku Chopinie – projekt	II. 2., 3e, IV. 1.	
Rozdział IX Projekty – rozwój IT	Temat 49. Przestępczość komputerowa – projekt	19.		Przestępczość komputerowa – projekt	IV.1. V.2., V.4.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 61. Funkcje zwracające wartość w języku C++ / Temat 73. Funkcje zwracające wartość w języku Python	20.		Temat 61. Funkcje zwracające wartość w języku C++ / Temat 73. Funkcje zwracające wartość w języku Python	I.3., I.4., I.5., II.1., II.2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 62. Funkcje niezwracające wartości w języku C++ / Temat 74. Funkcje niezwracające wartości w języku Python	21.		Funkcje niezwracające wartości w języku C++ / Funkcje niezwracające wartości w języku Python	I.3., I.4., I.5., II.1., II.2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 63. Deklarowanie i stosowanie tablicy w języku C++ / Temat 75. Definiowanie i stosowanie listy w języku Python	22.		Deklarowanie i stosowanie tablicy w języku C++ / Definiowanie i stosowanie listy w języku Python	I.3., I.4., I.5., II.1., II.2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 64. Wykonywanie operacji na elementach tablicy w języku C++ / Temat 76. Wykonywanie operacji na elementach listy w języku Python	23.		Wykonywanie operacji na elementach tablicy w języku C++ / Wykonywanie operacji na elementach listy w języku Python	I.3., I.4., I.5., II.1., II.2.	
Rozdział XII Programowanie w języku C++ / Rozdział XIII Programowanie w języku Python	Temat 65. Dane tekstowe w języku C++ / Temat 77. Dane tekstowe w języku Python	24.		Dane tekstowe w języku C++ / Dane tekstowe w języku Python	I.3., I.4., I.5., II.1., II.2.	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 78. Wybrane algorytmy na tekstach 	25.		Wybrane algorytmy na tekstach 	I.1., I.2b, I.4., I.5., II.1.	
Rozdział XV Programowanie wybranych algorytmów	Temat 88. Programowanie wybranych algorytmów na tekstach	26.		Programowanie wybranych algorytmów na tekstach	I.1., I.2b, I.3., I.4., I.5., II.1., II.2.	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 79. Wyszukiwanie wzorca w tekście metodą naiwną	27.		Wyszukiwanie wzorca w tekście metodą naiwną	I.1., I.2b, I.4., I.5., 
II.1.	
Rozdział XV Programowanie wybranych algorytmów	Temat 89. Programowanie algorytmu wyszukiwania wzorca w tekście metodą naiwną	28.		Programowanie algorytmu wyszukiwania wzorca w tekście metodą naiwną	I.1., I.2b, I.3., I.4., I.5., II.1., II.2.	
Rozdział X Systemy liczbowe	Temat 50. System dwójkowy	29.		System dwójkowy	I.2.a 	
Rozdział X Systemy liczbowe	Temat 51. System szesnastkowy	30.		System szesnastkowy	I.2.a	
Rozdział XV Programowanie wybranych algorytmów	Temat 96. Programowanie zamiany reprezentacji liczb między pozycyjnymi systemami liczbowymi 	31.		Programowanie zamiany reprezentacji liczb między pozycyjnymi systemami liczbowymi 	I.1., I.2.a., I.3., I.5., II.1., II.2	
–	–	32.		Sprawdzian (lekcje 20-31)	–	

KLASA 3. [część 1. i część 2. podręcznika]	
Rozdział	Temat z podręcznika 	Numer lekcji	Temat lekcji = temat z podręcznika	Podstawa programowa	
Rozdział V Grafika komputerowa 2D i 3D	Temat 26. Wybrane możliwości programu SketchUp przydatne do projektowania ogrodu 	1.		Wybrane możliwości programu SketchUp przydatne do projektowania ogrodu 	I.1., II.2., II.3a	
Rozdział V Grafika komputerowa 2D i 3D	Temat 27. Tworzenie projektu ogrodu 	2.		Tworzenie projektu ogrodu 	I.1., II.2., II.3a	
Rozdział V Grafika komputerowa 2D i 3D	Temat 28. Projektowanie własnego pokoju	3.		Projektowanie własnego pokoju	I.1., II.2., II.3a	
Rozdział VII Bazy danych	Temat 35. Podstawowe pojęcia i przykłady bazy danych – obsługa szkolnych zawodów pływackich 	4.		Podstawowe pojęcia i przykłady bazy danych – obsługa szkolnych zawodów pływackich	I.1., II.2, II.3d	
Rozdział VII Bazy danych	Temat 36. Korzystanie z formularzy na przykładzie bazy Zawody	5.		Korzystanie z formularzy na przykładzie bazy Zawody	I.1., II.2, II.3d	
Rozdział VII Bazy danych	Temat 37. Zasady tworzenia kwerend i raportów na przykładzie bazy Zawody	6.		Zasady tworzenia kwerend i raportów na przykładzie bazy Zawody	I.1., II.2, II.3d	
Rozdział VII Bazy danych	Temat 38. Tworzenie bazy danych – obsługa gabinetu stomatologicznego	7.		Tworzenie bazy danych – obsługa gabinetu stomatologicznego	I.1., II.2, II.3d	
Rozdział VII Bazy danych	Temat 39. Przygotowanie formularzy w bazie Stomatolog i importowanie danych z innych dokumentów do tabeli bazy danych 	8.		Przygotowanie formularzy w bazie Stomatolog i importowanie danych z innych dokumentów do tabeli bazy danych 	I.1., II.2, II.3d	
Rozdział VII Bazy danych	Temat 40. Przygotowanie kwerend i raportów w bazie Stomatolog	9.		Przygotowanie kwerend i raportów w bazie Stomatolog	I.1., II.2, II.3d, 	
Rozdział VII Bazy danych	Temat 41. Przygotowanie korespondencji seryjnej 	10.		Przygotowanie korespondencji seryjnej 	I.1., II.2, II.3.b, II.3d	
–	–	11.		Sprawdzian (lekcje 1-10)	–	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 80. Szyfrowanie tekstu metodą podstawieniową 	12.		Szyfrowanie tekstu metodą podstawieniową 	I.1., I.2b, I.4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 90. Programowanie algorytmu szyfrowania tekstu metodą podstawieniową 	13.		Programowanie algorytmu szyfrowania tekstu metodą podstawieniową 	I.1., I.2b, I.3., I.4., I.5., II.1., II.2	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 81. Szyfrowanie tekstu metodą przestawieniową	14.		Szyfrowanie tekstu metodą przestawieniową	I.1., I.2b, I.4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 91. Programowanie algorytmu szyfrowania tekstu metodą przestawieniową 	15.		Programowanie algorytmu szyfrowania tekstu metodą przestawieniową 	I.1., I.2b, I.3., I.4., I.5., II.1., II.2	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 82. Algorytmy porządkowania liczb	16.		Algorytmy porządkowania liczb	I.1., I.2c, I.3., I. 4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 92. Programowanie algorytmów porządkowania 	17.		Programowanie algorytmów porządkowania 	I.1., I.2c, I.3., I. 4., I.5., II.1., II.2	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 83. Metoda połowienia	18.		Metoda połowienia	I.1., I.3., I.4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 93. Programowanie algorytmu wyszukiwania elementu w zbiorze uporządkowanym metodą połowienia 	19.		Programowanie algorytmu wyszukiwania elementu w zbiorze uporządkowanym metodą połowienia 	I.1., I.3., I.4., I.5., II.1., II.2.	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 84. Metoda zachłanna	20.		Metoda zachłanna	I.1., I.2d, I.3., I.4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 94. Programowanie algorytmów zachłannych 	21.		Programowanie algorytmów zachłannych 	I.1., I.2d, I.3., I.4., I.5., II.1., II.2.	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 85. Rekurencja a iteracja	22.		Rekurencja a iteracja	I.1., I.3., I.4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 95. Programowanie algorytmów rekurencyjnych i iteracyjnych 	23.		Programowanie algorytmów rekurencyjnych i iteracyjnych 	I.1., I.2e, I.3., I.4., I.5., II.1., II.2.	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 86. Wybrane algorytmy na liczbach	24.		Wybrane algorytmy na liczbach	I.1., I.2.a., I.2e, I.3., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 97. Programowanie wybranych algorytmów na liczbach 	25.		Programowanie wybranych algorytmów na liczbach 	I.1., I.2.a., I.3., I.5., II.1., II.2.	
Rozdział XIV Wybrane algorytmy i techniki algorytmiczne	Temat 87. Działania na ułamkach zwykłych z wykorzystaniem NWD i NWW	26.		Działania na ułamkach zwykłych z wykorzystaniem NWD i NWW	I.1., I.2a, I.3., I. 4., I.5.	
Rozdział XV Programowanie wybranych algorytmów	Temat 98. Programowanie działań na ułamkach zwykłych z wykorzystaniem NWD i NWW	27.		Programowanie działań na ułamkach z wykorzystaniem NWD i NWW	I.1., I.2a, I.3., I. 4., I.5., II.1., II.2.	
–	–	28.		Sprawdzian (lekcje 12-27)	–	
Rozdział XVI Projekty – elementy robotyki z wykorzystaniem Arduino	Temat 99. Sterowanie nawadnianiem ogrodu – projekt 	29.		Sterowanie nawadnianiem ogrodu – projekt 	I.1., II.2., IV. 1.	
Rozdział XVI Projekty – elementy robotyki z wykorzystaniem Arduino	Temat 100. Projekt „Zamknij okno”	30.		Projekt „Zamknij okno”	I.1., II.2., IV. 1.	
Rozdział XVI Projekty – elementy robotyki z wykorzystaniem Arduino	Temat 101. Projekt „Wycisz radio”	31.		Projekt „Wycisz radio”	I.1., II.2., IV. 1.	
Rozdział XVI Projekty – elementy robotyki z wykorzystaniem Arduino	Temat 102. Budowanie robota – projekt	32.		Budowanie robota – projekt	I.1., II.2., IV. 1.	

Podstawa programowa
W rozporządzeniu Ministra Edukacji Narodowej z dnia 30 stycznia 2018 r. w sprawie podstawy programowej kształcenia ogólnego dla liceum ogólnokształcącego, technikum oraz branżowej szkoły II stopnia określono m.in. podstawę programową do informatyki dla szkół ponadpodstawowych (dla zakresu podstawowego łącznie z zakresem rozszerzonym), w tym dla liceum i technikum. 
Przedstawiamy program nauczania do realizacji informatyki na poziomie podstawowym dla klas I-III opracowany zgodnie z podstawą programową określoną w w/w rozporządzeniu dla szkół ponadpodstawowych.
Cele kształcenia (wymagania ogólne) są wspólne dla wszystkich klas. 

PODSTAWA PROGRAMOWA KSZTAŁCENIA OGÓLNEGO 
DLA CZTEROLETNIEGO LICEUM OGÓLNOKSZTAŁCĄCEGO I PIĘCIOLETNIEGO TECHNIKUM
INFORMATYKA
ZAKRES PODSTAWOWY I ROZSZERZONY
Cele kształcenia – wymagania ogólne
I.	Rozumienie, analizowanie i rozwiązywanie problemów na bazie logicznego i abstrakcyjnego myślenia, myślenia algorytmicznego i sposobów reprezentowania informacji.
II.	Programowanie i rozwiązywanie 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 zarządzanie projektami.
V.	Przestrzeganie prawa i zasad bezpieczeństwa. Respektowanie prywatności informacji i ochrony danych, praw własności intelektualnej, etykiety w komunikacji i norm współżycia społecznego, ocena zagrożeń związanych z technologią i ich uwzględnienie dla bezpieczeństwa swojego i innych.

Treści nauczania – wymagania szczegółowe
I.	Rozumienie, analizowanie i rozwiązywanie problemów. 
Zakres podstawowy. Uczeń: 
1)	planuje kolejne kroki rozwiązywania problemu, z uwzględnieniem podstawowych etapów myślenia komputacyjnego (określenie problemu, definicja modeli i pojęć, znalezienie rozwiązania, zaprogramowanie i testowanie rozwiązania).
2)	stosuje przy rozwiązywaniu problemów z różnych dziedzin algorytmy poznane w szkole podstawowej oraz algorytmy: 
a)	na liczbach: badania pierwszości liczby, zamiany reprezentacji liczb między pozycyjnymi systemami liczbowymi, działań na ułamkach z wykorzystaniem NWD i NWW,
b)	na tekstach: porównywania tekstów, wyszukiwania wzorca w tekście metodą naiwną, szyfrowania tekstu metodą Cezara i przestawieniową,
c)	porządkowania ciągu liczb: przez wstawianie i metodą bąbelkową,
d)	wydawania reszty najmniejszą liczbą nominałów,
e)	obliczania wartości elementów ciągu metodą iteracyjną i rekurencyjną, w tym wartości elementów ciągu Fibonacciego.
3)	wyróżnia w problemie podproblemy i charakteryzuje: metodę połowienia, stosuje podejście zachłanne i rekurencję;
4)	porównuje działanie różnych algorytmów dla wybranego problemu, analizuje algorytmy na podstawie ich gotowych implementacji;
5)	sprawdza poprawność działania algorytmów dla przykładowych danych.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto: 
1)	w zależności od problemu rozwiązuje go, stosując metodę wstępującą lub zstępującą;
2)	do realizacji rozwiązania problemu dobiera odpowiednią metodę lub technikę algorytmiczną i struktury danych;
3)	objaśnia dobrany algorytm, uzasadnia poprawność rozwiązania na wybranych przykładach danych i ocenia jego efektywność;
4)	ilustruje i wyjaśnia rolę pojęć, obiektów i operacji matematycznych w projektowaniu rozwiązań problemów informatycznych i z innych dziedzin, posługuje się pojęciem logarytmu;
5)	przedstawia sposoby reprezentowania w komputerze znaków, liczb, wartości logicznych, obrazów, dźwięków, animacji;
6)	objaśnia sposoby wykonywania przez komputer działań arytmetycznych i operacji logicznych;
7)	wyjaśnia, jakie może być źródło błędów pojawiających się w obliczeniach komputerowych: błąd zaokrąglenia, błąd przybliżenia;
8)	dyskutuje na temat roli myślenia komputacyjnego i jego metod, takich jak: abstrakcja, reprezentacja danych, dekompozycja problemu, redukcja, myślenie rekurencyjne, podejście heurystyczne w rozwiązywaniu problemów z różnych dziedzin.
II.	Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych. 
Zakres podstawowy. Uczeń: 
1)	projektuje i programuje rozwiązania problemów z różnych dziedzin, stosuje przy tym: instrukcje wejścia/wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje warunkowe, instrukcje iteracyjne, funkcje z parametrami i bez parametrów, testuje poprawność programów dla różnych danych; w szczególności programuje algorytmy z punktu I.2);
2)	do realizacji rozwiązań problemów prawidłowo dobiera środowiska informatyczne, aplikacje oraz zasoby, wykorzystuje również elementy robotyki;
3)	przygotowuje opracowania rozwiązań problemów, posługując się wybranymi aplikacjami: 
a)	projektuje modele dwuwymiarowe i trójwymiarowe, tworzy i edytuje projekty w grafice rastrowej i wektorowej, wykorzystuje różne formaty obrazów, przekształca pliki graficzne, uwzględniając wielkość i jakość obrazów,
b)	opracowuje dokumenty o różnorodnej tematyce, w tym informatycznej, i o rozbudowanej strukturze, posługując się przy tym konspektem dokumentu, dzieli tekst na sekcje i kolumny, tworzy spisy treści, rysunków i tabel, stosuje własne style i szablony, pracuje nad dokumentem w trybie recenzji, definiuje korespondencję seryjną,
c)	gromadzi dane pochodzące z różnych źródeł w tabeli arkusza kalkulacyjnego, korzysta z różnorodnych funkcji arkusza w zależności od rodzaju danych, filtruje dane według kilku kryteriów, dobiera odpowiednie wykresy do zaprezentowania danych, analizuje dane, korzystając z dodatkowych narzędzi, w tym z tabel i wykresów przestawnych,
d)	wyszukuje informacje, korzystając z bazy danych opartej na co najmniej dwóch tabelach, definiuje relacje, stosuje filtrowanie, formułuje kwerendy, tworzy i modyfikuje formularze, drukuje raporty,
e)	tworzy rozbudowane prezentacje, w tym z wykorzystaniem technik multimedialnych, ustala parametry pokazu,
f)	tworzy stronę internetową zgodnie ze standardami, wzbogaconą tabelami, listami, elementami dynamicznymi, posługuje się arkuszem stylów, korzysta z oprogramowania i serwisów przeznaczonych do tworzenia stron; potrafi opublikować własną stronę w internecie;
4)	wyszukuje w sieci potrzebne informacje i zasoby, ocenia ich przydatność oraz wykorzystuje w rozwiązywanych problemach.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto: 
1)	projektuje i tworzy rozbudowane programy w procesie rozwiązywania problemów, wykorzystuje w programach dobrane do algorytmów struktury danych, w tym struktury dynamiczne i korzysta z dostępnych bibliotek dla tych struktur;
2)	stosuje zasady programowania strukturalnego i obiektowego w rozwiązywaniu problemów;
3)	sprawnie posługuje się zintegrowanym środowiskiem programistycznym przy pisaniu, uruchamianiu i testowaniu programów;
4)	przygotowując opracowania rozwiązań złożonych problemów, posługuje się wybranymi aplikacjami w stopniu zaawansowanym: 
a)	tworzy i edytuje dwuwymiarowe oraz trójwymiarowe wizualizacje i animacje, stosuje właściwe formaty plików graficznych,
b)	uczestniczy w opracowaniu dokumentacji projektu zespołowego, pracując przy tym w odpowiednim środowisku,
c)	stosuje zaawansowane funkcje arkusza kalkulacyjnego w zależności od rodzaju danych, definiuje makropolecenia, zna możliwości wbudowanego języka programowania,
d)	projektuje i tworzy relacyjną bazę złożoną z wielu tabel oraz sieciową aplikację bazodanową dla danych związanych z rozwiązywanym problemem, formułuje kwerendy, tworzy i modyfikuje formularze oraz raporty, stosuje język SQL do wyszukiwania informacji w bazie i do jej modyfikacji, uwzględnia kwestie integralności danych, bezpieczeństwa i ochrony danych w bazie,
e)	programuje elementy strony internetowej współpracujące z sieciową bazą danych;
5)	współtworzy otwarte zasoby i aktywności oraz umieszcza je w sieci, m.in. na platformie do e-nauczania.
I + II. Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto: 
1)	zapisuje za pomocą listy kroków, schematu blokowego lub pseudokodu, i implementuje w wybranym języku programowania, algorytmy poznane na wcześniejszych etapach oraz algorytmy: 
a)	algorytm Euklidesa w wersji iteracyjnej i rekurencyjnej wraz z zastosowaniami,
b)	znajdowania określonego elementu w zbiorze: lidera, idola, elementu w zbiorze uporządkowanym metodą binarnego wyszukiwania,
c)	generowania liczb pierwszych metodą sita Eratostenesa,
d)	jednoczesnego wyszukiwania elementu najmniejszego i największego,
e)	sortowania ciągu liczb przez scalanie,
f)	wyznaczania miejsc zerowych funkcji metodą połowienia,
g)	obliczania przybliżonej wartości pierwiastka kwadratowego,
h)	obliczania wartości wielomianu za pomocą schematu Hornera,
i)	szybkiego potęgowania liczb w wersji iteracyjnej i rekurencyjnej,
j)	badania położenia punktu względem prostej i przynależności punktu do odcinka,
k)	rekurencyjnego tworzenia fraktali: zbiór Cantora, drzewo binarne, dywan Sierpińskiego, płatek Kocha;
2)	wykorzystuje znane sobie algorytmy przy rozwiązywaniu i programowaniu rozwiązań następujących problemów: 
a)	rozkładania liczby na czynniki pierwsze,
b)	wykonywania działań na liczbach w systemach innych niż dziesiętny,
c)	znajdowania w ciągu podciągów o różnorodnych własnościach, np. najdłuższego spójnego podciągu niemalejącego, spójnego podciągu o największej sumie,
d)	zamiany wyrażenia na postać w odwrotnej notacji polskiej i obliczanie jego wartości na podstawie tej postaci,
e)	badania przecinania się odcinków, przynależności punktu do trójkąta,
f)	obliczanie przybliżonej wielkości pola obszarów zamkniętych;
3)	objaśnia, a także porównuje podstawowe metody i techniki algorytmiczne oraz struktury danych, wykorzystując przy tym przykłady problemów i algorytmów, w szczególności: 
a)	wyszukiwanie elementów liniowe i przez połowienie (do znajdowania elementów w zbiorze, sortowania przez wstawianie, przybliżonego rozwiązywania równań, sprawdzania przynależności punktu do wielokąta wypukłego),
b)	rekurencję (do generowania ciągów liczb, potęgowania, sortowania liczb, generowania fraktali),
c)	metodę dziel i zwyciężaj (jednoczesne znajdowanie minimum i maksimum, sortowanie przez scalanie i szybkie),
d)	podejście zachłanne (do wydawania reszty, pakowania plecaka, szukania najkrótszej drogi),
e)	programowanie dynamiczne (do pakowania plecaka, szukania najdłuższego wspólnego podciągu),
f)	metodę szyfrowania z kluczem publicznym i jej zastosowanie w podpisie elektronicznym,
g)	metodę haszowania (wyszukiwanie wzorca w tekście),
h)	metodę Monte Carlo (obliczanie przybliżonej wartości liczby π, symulacja ruchów Browna),
i)	struktury dynamiczne: stos, kolejka, lista (do realizacji algorytmu: ONP, symulacji problemu Flawiusza, sortowania leksykograficznego),
j)	grafy (do przedstawiania abstrakcyjnego modelu sytuacji problemowych).
III. Posługiwanie się komputerem, urządzeniami cyfrowymi i sieciami komputerowymi. 
Zakres podstawowy. Uczeń: 
1)	zapoznaje się z możliwościami nowych urządzeń cyfrowych i towarzyszącego im oprogramowania;
2)	objaśnia funkcje innych niż komputer urządzeń cyfrowych i korzysta z ich możliwości;
3)	rozwiązuje problemy korzystając z różnych systemów operacyjnych;
4)	charakteryzuje sieć internet, jej ogólną budowę i usługi, opisuje podstawowe topologie sieci komputerowej, przedstawia i porównuje zasady działania i funkcjonowania sieci komputerowej typu klient-serwer, peer-to-peer, opisuje sposoby identyfikowania komputerów w sieci.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto: 
1)	projektuje rozbudowę i zakup nowego zestawu komputerowego oraz oprogramowania;
2)	dokonuje kompresji informacji, objaśnia różnice między kompresją stratną i bezstratną tekstów, obrazów, dźwięków, filmów;
3)	opisuje warstwowy model sieci komputerowej oraz model sieci internet, opisuje podstawowe funkcje urządzeń i protokoły stosowane w przepływie informacji i w zarządzaniu siecią;
4)	konfiguruje przykładową lokalną sieć komputerową oraz bezprzewodowy dostęp do sieci internet;
5)	wyjaśnia, od czego zależy sprawne funkcjonowanie sieci komputerowej oraz szybki dostęp do jej usług i zasobów (parametry osprzętu sieciowego, szerokość pasma, zabezpieczenia typu ściana ogniowa i programy antywirusowe, możliwości serwera).
IV. Rozwijanie kompetencji społecznych. 
Zakres podstawowy. Uczeń: 
1)	aktywnie uczestniczy w realizacji projektów informatycznych rozwiązujących problemy z różnych dziedzin, przyjmuje przy tym różne role w zespole realizującym projekt i prezentuje efekty wspólnej pracy;
2)	podaje przykłady wpływu informatyki i technologii komputerowej na najważniejsze sfery życia osobistego i zawodowego; korzysta z wybranych e-usług; przedstawia wpływ technologii na dobrobyt społeczeństw i komunikację społeczną;
3)	objaśnia konsekwencje wykluczenia i pozytywne aspekty włączenia cyfrowego; przedstawia korzyści, jakie przynosi informatyka i technologia komputerowa osobom o specjalnych potrzebach;
4)	bezpiecznie buduje swój wizerunek w przestrzeni medialnej;
5)	przedstawia trendy w historycznym rozwoju informatyki i technologii oraz ich wpływ na rozwój społeczeństw;
6)	poszerza i uzupełnia swoją wiedzę korzystając z zasobów udostępnionych na platformach do e-nauczania.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto: 
1)	przy realizacji zespołowego projektu programistycznego posługuje się środowiskiem przeznaczonym do współpracy i realizacji projektów zespołowych, w tym środowiskiem w chmurze; współtworzy zasoby udostępniane na platformach do e-nauczania;
2)	analizuje i charakteryzuje wpływ trendów w historycznym rozwoju pojęć, metod informatyki oraz technologii na możliwości rozwiązywania problemów teoretycznych i praktycznych;
3)	przygotowuje się do świadomego wyboru kierunku i zakresu dalszego kształcenia, głównie informatycznego, z myślą o przyszłej karierze zawodowej.
V. Przestrzeganie prawa i zasad bezpieczeństwa. 
Zakres podstawowy. Uczeń: 
1)	postępuje zgodnie z zasadami netykiety oraz regulacjami prawnymi dotyczącymi: ochrony danych osobowych, ochrony informacji oraz prawa autorskiego i ochrony własności intelektualnej w dostępie do informacji; jest świadomy konsekwencji łamania tych zasad;
2)	respektuje obowiązujące prawo i normy etyczne dotyczące korzystania i rozpowszechniania oprogramowania komputerowego, aplikacji cudzych i własnych oraz dokumentów elektronicznych;
3)	stosuje dobre praktyki w zakresie ochrony informacji wrażliwych (np. hasła, pin), danych i bezpieczeństwa systemu operacyjnego, objaśnia rolę szyfrowania informacji;
4)	opisuje szkody, jakie mogą spowodować działania pirackie w sieci, w odniesieniu do indywidualnych osób, wybranych instytucji i całego społeczeństwa.
Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego, a ponadto: 
1)	objaśnia rolę technik uwierzytelniania, kryptografii i podpisu elektronicznego w ochronie i dostępie do informacji;
2)	omawia znaczenie algorytmów szyfrowania i składania podpisu elektronicznego.
Warunki i sposób realizacji 
Cele kształcenia informatycznego - wymagania ogólne - są takie same dla wszystkich etapów edukacyjnych i dla wszystkich typów szkół. Ich interpretacja jest zapisana w postaci wymagań szczegółowych. Treści podstawy programowej z informatyki mają charakter przyrostowy, sugerując w ten sposób spiralny rozwój wiedzy, umiejętności i kompetencji uczniów przez wszystkie lata nauki szkolnej. 
Na nową podstawę informatyki w szkole ponadpodstawowej należy patrzeć w powiązaniu ze zmianami, jakie nastąpiły w nauczaniu informatyki w szkole podstawowej. Wprowadzenie rozwiązywania problemów z pomocą komputerów i programowania od najmłodszych lat znacznie wydłużyło okres poznawania tych zagadnień, a przez to umożliwiło stopniowe i uporządkowane kształtowanie myślenia algorytmicznego/komputacyjnego. Wspólne wymagania ogólne i spiralny układ wymagań szczegółowych podstawy na przestrzeni wszystkich etapów edukacyjnych stworzyły możliwość ciągłego utrwalania wcześniej kształtowanych umiejętności i przemyślanego rozszerzania ich o nowe, odpowiednio do naturalnego rozwoju ucznia. Stopniowe wprowadzanie uczniów w świat informatyki i jej zastosowań w różnych przedmiotach i dziedzinach życia kładzie solidne podwaliny pod umiejętności rozwiązywania w szkole ponadpodstawowej zagadnień trudniejszych. Zwiększa to u uczniów zaciekawienie przedmiotem i przygotowanie do rozwiązywania różnorodnych problemów ze świadomym wykorzystaniem metod mających swoje korzenie w informatyce. Wybór przez uczniów dalszej drogi i poziomu kształcenia informatycznego w szkole ponadpodstawowej będzie bardziej świadomy niż do tej pory. Już w szkole podstawowej uczniowie poznają algorytmy szukania minimum, maksimum, elementu w zbiorze uporządkowanym i nieuporządkowanym, proste metody sortowania (zliczanie, wybieranie). Uczą się programować, w tym także sterować robotem. Dzięki temu, zarówno w kształceniu w zakresie podstawowym, jak i rozszerzonym, łatwiej będzie realizować zagadnienia informatyczne do tej pory uznawane za trudne. 
Najważniejszym celem kształcenia informatycznego uczniów jest rozwój umiejętności myślenia komputacyjnego, skupionego na kreatywnym rozwiązywaniu problemów z różnych dziedzin ze świadomym wykorzystaniem przy tym metod i narzędzi wywodzących się z informatyki, w tym programowania. Takie podejście jest kontynuowane w liceum ogólnokształcącym i technikum zarówno w zakresie podstawowym, jak i rozszerzonym. 
W liceum ogólnokształcącym i technikum podstawa programowa dla zakresu podstawowego obowiązuje wszystkich uczniów. Zagadnienia algorytmiczne wyszczególnione w podstawie są dobrane świadomie, wiążą się bowiem z problemami z innych przedmiotów, na przykład z matematyki, jak i dotyczą problemów związanych z funkcjonowaniem w społeczeństwie cyfrowym. Wiele pojęć i metod matematycznych jest integralną częścią informatyki, związki matematyki z informatyką są naturalne. Rozważane algorytmy nawiązują między innymi do efektywnych poszukiwań w internecie, porządkowania informacji, działań antyplagiatowych oraz zachowania bezpieczeństwa informacji, na przykład przez jej szyfrowanie. Programując rozwiązania problemów, uczeń stosuje odpowiednie metody i nadaje rozwiązaniom wymiar praktyczny, łącząc aspekty programistyczne z elementami sterowania rzeczywistymi obiektami, np. robotami. 
Rozwiązywanie problemów leży również u podstaw pracy z aplikacjami użytkowymi. Projektując grafikę, opracowując dokumenty, analizując dane i wyszukując informacje uczeń poznaje możliwości gotowych aplikacji i ich przydatne funkcje. W podstawie pojawia się projektowanie trójwymiarowe, wspomagające kształcenie wyobraźni przestrzennej, niezbędnej w wielu dziedzinach życia, między innymi w medycynie, budownictwie i projektowaniu różnorodnych elementów. 
Uczeń kończący kształcenie informatyczne w zakresie podstawowym powinien sprawnie posługiwać się współczesnymi urządzeniami cyfrowymi, sieciami oraz systemami operacyjnymi zarządzającymi ich pracą. Instalacja nowej wersji sytemu czy oprogramowania powinna być wykonywana przez niego świadomie, przy zachowaniu bezpieczeństwa danych i poszanowaniu własności intelektualnej. Podczas korzystania z serwisów społecznościowych, e-usług, platform do e-nauczania, zasobów otwartych i wszelkich zasobów umieszczonych również w chmurze, uczeń powinien przestrzegać ogólnie przyjętych zasad netykiety, jak i bezpieczeństwa w przestrzeni cyfrowej. 
W kształceniu informatycznym w zakresie rozszerzonym treści nauczania są znacząco rozszerzane. Poza traktowaniem programowania jako aktywności rozwijającej kreatywność i innowacyjność uczniów w każdej dziedzinie życia, nauka algorytmiki i programowania odgrywa ważną rolę w przygotowaniu do wyboru kariery zawodowej związanej z informatyką. Bazuje ona na solidnych podstawach informatyki, która ma swoje teorie, metody i techniki oraz praktykę. 
W dziale II Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych występuje zakres rozszerzony I+II, w którym połączono umiejętności uczniów z działów I i II, obejmujące jednoczesne projektowanie rozwiązań problemów i ich programowanie. W tym dziale wyróżniono trzy punkty. Punkt 1 jest wykazem problemów i algorytmów ich rozwiązywania, które uczeń powinien poznać na zajęciach. W punkcie 2 zawarto problemy, które uczeń powinien umieć rozwiązać, stosując algorytmy z punktu 1 lub ich niewielkie modyfikacje. Rozwiązania problemów z punktów 1 i 2 uczeń powinien umieć zapisać za pomocą schematu blokowego, listy kroków lub pseudokodu oraz zaimplementować w wybranym języku programowania. Punkt 3 jest zwieńczeniem myślenia algorytmicznego i komputacyjnego, dotyczy metod i technik algorytmicznych oraz struktur danych, które w naturalny sposób mogą być wyabstrahowane z metod rozwiązywania problemów i ich komputerowych realizacji, będących przedmiotem w punktach 1 i 2. Wymienione w punkcie 3 trudniejsze, nowe problemy i algorytmy powinny być przynajmniej omówione na zajęciach, a działanie algorytmów zilustrowane na przykładach lub w odpowiednich aplikacjach. Zagadnienia poruszane w tym punkcie stanowią dobry materiał do przygotowania prezentacji i wygłoszenia referatu przez uczniów indywidualnie lub zespołowo. W grupach bardziej zaawansowanych zaleca się zaprogramowanie tych algorytmów. 
Umiejętności wykorzystywania aplikacji użytkowych do rozwiązywania problemów są doskonalone m.in. w zespołowej pracy nad rozbudowaną dokumentacją i prezentacją z użyciem aplikacji w chmurze czy przy prowadzeniu obliczeń w arkuszu kalkulacyjnym wzbogaconym programami wytworzonymi w wbudowanym języku programowania. Pojawiają się bazy danych osadzone w sieci, a przy tworzeniu stron WWW programowane są elementy strony internetowej połączone z danymi z takiej bazy. 
Zarówno w zakresie podstawowym, jak i rozszerzonym zaleca się realizowanie treści informatycznych w formie projektów, tematycznie uwzględniających różnorodne zainteresowania uczniów, także z innych dziedzin. Uczniowie powinni mieć możliwość korzystania z komputerów w zależności od potrzeb wynikających z charakteru zajęć oraz realizowanych tematów i celów. 
Podczas zajęć z informatyki uczeń ma do swojej dyspozycji osobny komputer z dostępem do internetu i aplikacji użytkowych zapewniających realizację zagadnień podstawy programowej. Zaleca się wspomaganie zajęć informatycznych pracą na platformie do e-nauczania, na której nauczyciel może umieszczać swoje materiały elektroniczne do zajęć - uczniowie oraz nauczyciel powinni na tej platformie mieć swoje indywidualne miejsce. Takie podejście sprzyja rozwojowi dodatkowych kompetencji. Uczniowie poznają możliwości platform do e-nauczania, a w ogólności - także do pracy w domu, uczą się sposobów korzystania z ich zasobów, a na poziomie zaawansowanym - sami kreują ich zawartość taką, jak dokumenty, quizy, wiki, fora, zadania. Ponadto uczniowie, którzy z różnych przyczyn nie będą obecni na zajęciach, mogą na podstawie materiałów nauczyciela na bieżąco, samodzielnie przygotowywać się do lekcji i przesyłać zadania domowe. Praca na platformie istotnie porządkuje proces uczenia się: uczy systematyczności i punktualności. 
Praca w środowisku wirtualnej chmury może być wykorzystana do polepszenia efektów kształcenia informatycznego oraz zwiększenia zaangażowania uczniów poprzez ich lepsze przygotowanie się do zajęć (kształcenie wyprzedzające) i wykonywanie przez nich zadań poza regularnymi lekcjami i zajęciami w szkole (odwrócone kształcenie). 
Pracownie komputerowe powinny być wyposażone w sposób zapewniający możliwość realizacji wymagań określonych w podstawie programowej.