PORADNIK METODYCZNY DO NAUCZANIA INFORMATYKI



Podobne dokumenty
PORADNIK METODYCZNY DO NAUCZANIA INFORMATYKI

PORADNIK METODYCZNY DLA NAUCZYCIELI GIMNAZJUM JAK WYKORZYSTAC PAKIET DYDAKTYCZNY DO NAUCZANIA

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Algorytmika i pseudoprogramowanie

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Szczegółowy program kursów szkoły programowania Halpress

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

WYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI

1. Algorytmika. WPROWADZENIE DO ALGORYTMIKI Wprowadzenie do algorytmów. Pojęcie algorytmu.

Scenariusz lekcji. Obliczanie NWD- algorytm Euklidesa.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

Zapisywanie algorytmów w języku programowania

Rozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym

PRZEDMIOTOWY SYSTEM OCENIANIA INFORMATYKA.

Informatyka klasa III Gimnazjum wymagania na poszczególne oceny

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Scenariusz lekcji. wymienić podstawowe dynamiczne struktury danych (stos, kolejka, lista, graf, drzewo); opisać sposób dostępu do danych w kolejce;

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Kurs MATURA Z INFORMATYKI

tematyka zajęć - pracuje z powłoką graficzną systemu operacyjnego - wykonuje operacje na plikach i katalogach w praca w systemie operacyjnym

Scenariusz lekcji. wymienić podstawowe typy danych omówione na lekcji; wymienić funkcje konwertujące typy danych, omawiane na lekcji.

Roman Mocek Zabrze Opracowanie zbiorcze ze źródeł Scholaris i CKE

WYMAGANIA EDUKACYJNE

Z nowym bitem. Informatyka dla gimnazjum. Część II

Wymagania edukacyjne z informatyki w klasie VIII

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie i techniki algorytmiczne

INFORMATYKA

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

biegle i poprawnie posługuje się terminologią informatyczną,

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Algorytm. a programowanie -

Przykładowe rozkłady materiału

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

ECDL Podstawy programowania Sylabus - wersja 1.0

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję algorytmu z rozgałęzieniami;

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

O higienie pracy, komputerze, sieciach komputerowych i Internecie

KARTA KURSU. Wstęp do programowania

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wprowadzenie do programowania

Sposoby przedstawiania algorytmów

SCENARIUSZ LEKCJI. Miejsca zerowe funkcji kwadratowej i ich graficzna prezentacja

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z PRZEDMIOTU INFORMATYKA

Temat 20. Techniki algorytmiczne

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Rekurencja (rekursja)

Grażyna Koba, Poradnik metodyczny. Informatyka dla gimnazjum Program nauczania wymagania na oceny PRZEDMIOTOWY SYSTEM OCENIANIA KLASA II

Podstawy programowania. Wprowadzenie

Spis treści. Podstawy posługiwania się komputerem

KLASA 1 i 2. Rozdział I

Przedmiot: Informatyka wymagania na poszczególne oceny Rok szkolny od 2008/2009

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Excel w obliczeniach naukowych i inżynierskich. Wydanie II.

Wymagania edukacyjne i sposoby sprawdzania edukacyjnych osiągnięć uczniów z informatyki - klasy II zakres rozszerzony

Funkcje i instrukcje języka JavaScript

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

Kryteria oceniania uczniów z informatyki w klasie II gimnazjum

Wykład z Technologii Informacyjnych. Piotr Mika

PRZEWODNIK PO PRZEDMIOCIE

Plan nauczania informatyki Opracował: mgr Daniel Starego

INFORMATYKA KLASA IV

Wymagania edukacyjne na poszczególne oceny z informatyki w gimnazjum klasa III Rok szkolny 2015/16

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147

Okręgowa Komisja Egzaminacyjna w Krakowie 1

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Zaawansowane algorytmy i struktury danych

Spis treści. Podziękowania... xi Wstęp... xiii

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PRZEDMIOTOWY SYSTEM OCENIANIA

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

1 Wprowadzenie do algorytmiki

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

Algorytmy i struktury danych. Wykład 4

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Transkrypt:

PORADNI METODYCZNY DO NAUCZANIA INFORMATYI Z WYORZYSTANIEM PAIETU DO NAUI PODSTAW ALGORYTMII I PROGRAMOWANIA NUMER 3 olejny numer poradnika metodycznego dla nauczycieli wykorzystujących Pakiet dydaktyczny do nauczania algorytmiki i programowania zawiera przedmiotowy system oceniania oraz zestaw najczęściej zadawanych pytań wraz z odpowiedziami pojawiających się na grupie dyskusyjnej nauczycieli uczących VB.Net. Przedmiotowy system oceniania - budowa tego dokumentu tak ważnego w procesie nauczania była trudnym zadaniem. Różnorodność treści, przenikanie się algorytmiki, matematyki czy informacji związanych ze składnią i specyfika języka programowania znacznie utrudnia zbudowanie spójnego systemu obejmującego cały pakiet. Stąd też proponujemy system, w którym wymagania są rozpisane na poszczególne lekcje. Przystępując do realizacji każdego tematu, można sprawdzić, jakie umiejętności i wiadomości powinien opanować uczeń na różnych poziomach oceniania. Zapis taki powoduje straszne wydłużenie tego dokumentu - lecz mamy nadzieję, że również znacznie ułatwia budowanie narzędzi sprawdzających wiedzę i umiejętności oraz ocenianie pracy ucznia. Sprawdzanie wiedzy i umiejętności uczniów z programowania bywa czasem trudne. Dylematy - czy ocenić tylko cały gotowy program, są częstym pytaniem stawianym przez nauczycieli, zwłaszcza mających małe doświadczenie w nauczaniu. Mamy nadzieję, że proponowany system oceniania pomoże Państwu w tworzeniu efektywnych i udanych narzędzi monitorujących wiedzę i umiejętności uczniów. Oczywiście, przy tak szczegółowym podziale wymagań na poszczególne poziomy pojawią się wątpliwości i głosy, np. Ja bym to zagadnienie przesunął na ocenę.. Rozwiązanie tego problemu jest proste - system oceniania nie jest dokumentem, który wyznacza sztywne reguły dla całej Polski, Europy czy galaktyki. Propozycja przedstawiona w poniższym poradniku ma stanowić dla nauczycieli szablon czy podstawę do dalszej twórczej pracy. Wiemy, że każda szkoła jest inna, każda klasa jest wyjątkowa, więc można ten przedmiotowy system oceniania zmodyfikować, by dopasować do specyfiki szkoły (czy klasy), w której Państwo pracujecie. Drugi blok w bieżącym poradniku jest poświęcony grupie dyskusyjnej nauczycieli wykorzystujących na lekcjach VB.Net. Postanowiliśmy zebrać najciekawsze i najczęściej pojawiające się pytania. Okazuje się, że jest wiele ciekawych problemów, które czasem nurtują nas, kiedy przygotowujemy się do kolejnych lekcji. Mamy nadzieję, że opracowanie to będzie stanowiło podręczną ściągę, zanim zakopiemy się w celu szukania odpowiedzi na pojawiające się pytania, w stercie podręczników poświęconych VB.Net. 1. Przedmiotowy system oceniania Materiał przedstawiony poniżej dotyczy wszystkich tematów z pakietu, na który przeznaczono 72 godziny lekcyjne (w tym 4 godziny do dyspozycji nauczyciela). Wymagania dotyczące uczniów zostały przyporządkowane poszczególnym lekcjom, by na bieżąco widzieć, jakie umiejętności i wiedzę musi posiadać uczeń po opanowaniu aktualnej partii materiału. 1

2

Lekcja 1,2 Temat: Dziedzictwo Al.-Chorezmiego onieczne przedstawia proste działania w postaci algorytmu liniowego za pomocą opisu słownego i listy kroków; podaje definicję algorytmu; podaje definicję specyfikacji algorytmu; wymienia podstawowe symbole graficzne używane w schematach blokowych, tzw. skrzynkach (rodzaje skrzynek: graniczne, operacyjne, warunkowe, wejścia wyjścia); wymienia sposoby prezentowania i zapisu algorytmów za pomocą: opisu słownego, listy kroków, drzewa algorytmicznego, schematów blokowych, pseudokodu; () + R ( + R) + D przedstawia proste działania w postaci algorytmu liniowego za pomocą schematu blokowego i pseudokodu; przedstawia proste działania w postaci algorytmu z rozgałęzieniami za pomocą opisu słownego i listy kroków; przedstawia proste działania w postaci algorytmu z rozgałęzieniami za pomocą schematu blokowego i pseudokodu; przedstawia proste działania w postaci algorytmu iteracyjnego za pomocą opisu słownego i listy kroków; wskazuje różnicę pomiędzy problemem algorytmicznym a niealgorytmicznym; przedstawia proste działania w postaci algorytmu iteracyjnego za pomocą schematu blokowego i pseudokodu; zapisuje w poznanych notacjach proste algorytmy rozwiązania zadań matematycznych, np. rozwiązanie równania kwadratowego, układu równań; wymienia rodzaje podstawowych technik algorytmicznych: sekwencja, rozgałęzienie, iteracja (pętla); wymienia cechy poprawnego algorytmu; podaje definicje działań algorytmicznych oraz niealgorytmicznych; opisuje sposoby prezentowania i zapisu algorytmów za pomocą: opisu słownego, listy kroków, drzewa algorytmicznego, schematów blokowych, pseudokodu; charakteryzuje rodzaje podstawowych technik algorytmicznych: sekwencja, rozgałęzienie, iteracja (pętla); podaje przykłady działań algorytmicznych oraz niealgorytmicznych; wymienia generacje języków programowania; podaje przykłady podstawowych technik algorytmicznych: sekwencja, rozgałęzienie, iteracja (pętla); charakteryzuje generacje języków programowania; 3

( + R + D) + PP zapisuje w postaci schematu blokowego lub listy kroków algorytm iteracyjny znany z lekcji matematyki, np.: obliczanie silni, potęgowanie liczb, obliczanie wartości wielomianu za pomocą schematu ornera; wymienia inne nie opisywane techniki algorytmiczne, np.: rekurencja, algorytmy z nawrotami i podaje ich przykłady; Lekcja 3,4 Temat: Wprowadzenie do środowiska MS VB.NET onieczne () + R ( + R) + D otwiera istniejący projekt (rozwiązanie); uruchamia aplikację z poziomu środowiska; wskazuje lokalizację plików rozwiązania oraz pliku wykonywanej aplikacji; odszukuje folder rozwiązania i uruchomia program przy pomocy pliku wykonywanego; zapisuje zmiany dokonywane w projekcie; uruchomia system pomocy (Help); wskazuje w środowisku VB.NET okna Toolbox, Properties, Solution Explorer; zmienia profil użytkownika za pomocą okna My Profile; tworzy nowy projekt; przechodzi do edytora kodu i wskazuje jego podstawowe elementy; zmienia podstawowe właściwości Text, Name, BackColor formularza; zmienia obiekt startowy (Startup Object) w rozwiązaniu; podaje definicje: programowania, języka programowania, kompilatora, interpretera; wymienia podstawowe grupy języków programowania; wymienia języki programowania wchodzące w skład środowiska VS.NET; opisuje różnice pomiędzy kompilatorem a interpreterem; podaje definicje podstawowych pojęć związanych ze środowiskiem MS VB.NET projekt, rozwiązanie, formularz, właściwości formularza, aplikacja Windows, aplikacja konsolowa; podaje definicję zintegrowanego środowiska programowania (IDE); podaje definicję Solution Explorer; wymienia sposoby otwierania pomocy; wymienia po dwa przykładowe języki z każdej grupy; wymienia podstawowe okna środowiska VS.NET oraz charakteryzuje działania, jakie można na nich wykonywać (dokowanie, grupowanie, ukrywanie); wymienia sposoby otwierania istniejącego projektu; wymienia elementy edytora kodu; opisuje kolory stosowane w edytorze kodu; opisuje zastosowanie okna MyProfile; charakteryzuje elementy edytora kodu; wymienia typy plików wykorzystywanych w VB.NET; wymienia poznane właściwości formularza oraz podaje ich zastosowanie; 4

( + R + D) + PP tworzy i programuje aplikacje konsolowe; dodaje kontrolki do formularza, modyfikuje ich właściwości oraz dodaje procedury obsługi zdarzenia; wymienia inne nieomawiane właściwości formularza; podaje definicję i zastosowanie innych elementów środowiska VS.NET nie omawianych na lekcji np. debugger; Lekcja 5, 6 Temat: Wykorzystanie kontrolek przy tworzeniu interfejsu aplikacji onieczne () + R ( + R) + D ( + R + D) + PP dodaje kontrolkę do formularza jednym z poznanych sposobów; uruchomia i testuje aplikację; modyfikuje omawiane na lekcji właściwości kontrolki w oknie Properties; dodaje kod zmieniający właściwość Text poznanych kontrolek; tworzy nową procedurę obsługi zdarzenia; dodaje kod zamykający aplikację do procedury obsługi zdarzenia kontrolki; dodaje kod zmieniający właściwość Visible kontrolki PictureBox; stosuje znak łączenia (&) do połączenia łańcuchów znaków; pobiera informacje z kontrolki typu TextBox; podaje definicję okna, okna modalnego, okna niemoralnego; podaje definicję kontrolki; wymienia podstawowe rodzaje kontrolek opisanych w e-podręczniku; opisuje zastosowanie okna ToolBox; wymienia sposoby dodawania kontrolek do formularza; opisuje podstawowe właściwości kontrolek wykorzystywane w programach tworzonych na lekcji; podaje sposoby przejścia do edytora kodu; opisuje programowanie sterowane zdarzeniami; podaje pojęcie procedury obsługi zdarzenia kontrolki; wymienia sposoby modyfikacji właściwości kontrolki (za pomocą okna Properties oraz za pomocą kodu programu); podaje zasady nadawania nazw kontrolkom; opisuje budowę procedury zdarzenia; podaje przykładowe rodzaje zdarzeń obsługiwanych przez VB.NET; podaje przykładowe fragmenty kodu modyfikujące właściwości kontrolek np. zmiana właściwości tekst, ukrycie kontrolki; stosuje w programach kontrolki nieomawiane na lekcji; podaje przykłady zastosowania zdarzeń oraz kontrolek nieomawianych na lekcji; 5

Lekcja 7, 8 Temat: Proste algorytmy liniowe z wykorzystaniem zmiennych onieczne () + R ( + R) + D deklaruje zmienną w programie; deklaruje stałą w programie; zapisuje liniowy algorytm obliczania pola i objętości kuli w postaci listy kroków; przypisuje wartości zmiennym i stałym; stosuje zmienne w prostych obliczeniach; stosuje polecenie MessageBox do wyprowadzania wartości zmiennych; zapisuje liniowy algorytm obliczania pola i objętości kuli w postaci schematu blokowego; wstawia kontrolki do formularza jednym z poznanych sposobów; modyfikuje właściwości kontrolek; nazywa zmienne zgodnie z poznanymi konwencjami nazewnictwa; pisze program wykorzystujący zmienne i obliczający pole i objętość kuli; pobiera wartość z kontrolek typu TextBox i HScrollBar; wyprowadza wartości zmiennych poprzez polecenie MessageBox; wyprowadza wartości zmiennych do kontrolki TextBox; wprowadza wartości do zmiennych poprzez funkcję InputBox; stosuje znak konkatenacji do łączenia tekstów; stosuje poznane funkcje konwertujące typy danych w programie; podaje definicje oraz przykłady algorytmów liniowych; podaje definicję zmiennej; podaje definicję stałej; podaje definicję konwersji danych; wymienia podstawowe typy danych omówione na lekcji; wymienia zasady nazewnictwa zmiennych; podaje definicję i sposób deklaracji komentarza; podaje sposób deklaracji zmiennej i stałej; podaje sposób przypisywania wartości zmiennej i stałej; podaje zastosowanie znaku konkatencji (&); wymienia omawiane na lekcji funkcje konwertujące typy danych; wymienia cechy zmiennych; wymienia cechy zmiennej; podaje przykłady zastosowania funkcji konwertujących; charakteryzuje typy danych poznane na lekcji; podaje przykłady deklaracji zmiennych; podać przykłady przypisywania wartości zmiennej i stałej; wymienia zastosowanie zmiennych w programach; wymienia sposoby wprowadzania danych do programu w trakcie jego działania; wymienia sposoby wyprowadzania danych z wykorzystaniem zmiennych; podaje definicje konwersji jawnej i niejawnej; podaje definicję zasięgu zmiennej; podaje definicję czasu życia zmiennej; wymienia i charakteryzuje konwencje nazewnicze zmiennych używane w programowaniu; podaje przykłady zastosowania zmiennych; podaje przykłady wprowadzania danych do programu podczas jego działania; podaje składnię polecenia InputBox; podaje przykłady wyprowadzania danych z wykorzystaniem zmiennych; podaje przykłady konwersji jawnej i niejawnej; opisuje przykłady różnego zasięgu zmiennej; wymienia słowa kluczowe służące do deklaracji zasięgu zmiennych; podaje definicję i zastosowanie zmiennej statycznej; 6

( + R + D) + PP stosuje funkcje konwertujące nieomawiane na lekcji; podaje przykłady zastosowania typów zmiennych nie omawianych na lekcji; podaje przykłady błędów wynikających z niewłaściwego wyboru typu lub konwersji danych; Lekcja 9, 10 Temat: Algorytmy z rozgałęzieniami onieczne stosuje operatory arytmetyczne w obliczeniach; deklaruje użycie biblioteki Math; podaje definicję wyrażenia logicznego; podaje definicję operatora arytmetycznego; wymienia operatory porównania i arytmetyczne wykorzystywane w VB.NET; wymienia operatory logiczne wykorzystywane w VB.NET; podaje definicję warunku i instrukcji warunkowej; () + R stosuje w swoich projektach kontrolki typu RadioButton; określa wartość kontrolki RadioButton; stosuje w programie najprostszą postać instrukcji warunkowej; stosuje operatory porównania i operatory logiczne w instrukcji warunkowej; zapisuje algorytm szukania pierwiastków równania kwadratowego za pomocą listy kroków; tworzy interfejs aplikacji wg podanego wzoru; stosuje funkcję SQRT; stosuje w programie instrukcję warunkową z klauzulami Else i ElseIf; wykorzystuje instrukcję If do sprawdzania poprawności wprowadzanych danych; zapisuje algorytm szukania pierwiastków równania kwadratowego za pomocą schematu blokowego; wykorzystuje polecenie MsgBox do wyprowadzenia danych; podaje przykład algorytmu z rozgałęzieniami zapisanego w postaci listy kroków; wymienia kolejność wykonywania operatorów w VB; podaje składnię instrukcji warunkowej; podaje zastosowanie biblioteki System.Math; charakteryzuje klauzule Else i ElseIf; charakteryzuje operatory logiczne; podaje składnię funkcji MsgBox; podaje sposób deklaracji biblioteki System.Math; podaje nazwę funkcji obliczającej wartość pierwiastka kwadratowego; 7

( + R) + D ( + R + D) + PP definiuje warunki z wykorzystaniem operatorów porównania i logicznych w instrukcji warunkowej; stosuje polecenie MessageBox w rozszerzonej wersji do tworzenia zapytań; pisze program obliczający pierwiastki równania kwadratowego; stosuje rozszerzoną wersję polecenia MessageBox do tworzenia komunikatów informacyjnych i ostrzegających; pisze inne aplikacje wykorzystujące instrukcję warunkową np. rozwiązanie układu równań itp.; podaje tabele działań dla operatorów logicznych; podaje rozszerzoną składnię polecenia MessageBox i potrafi scharakteryzować jego elementy; podaje przykłady zastosowania funkcji warunkowej z klauzulami Else oraz ElseIf; podaje inne przykłady zastosowania instrukcji warunkowej; Lekcja 11, 12 Temat: Wybór drogi działania onieczne () + R ( + R) + D oblicza resztę z dzielenia, wykorzystując operator Mod; podaje składnię instrukcji wyboru Select Case; charakteryzuje operatory Mod i \ ; wymienia wcześniej poznane operatory logiczne; stosuje operatory logiczne w wyrażeniach wykorzystywanych w instrukcji warunkowej; sprawdza poprawność wprowadzanych danych za pomocą instrukcji warunkowej; stosuje instrukcję wyboru w prostych aplikacjach; stosuje operatory OrElse i AndAlso; do sprawdzania poprawności danych stosuje funkcję IsNumeric; w programie wykorzystuje właściwość Today i funkcje Year; w zależności od potrzeb stosuje w programach instrukcję wyboru lub warunkową; opisuje działanie operatorów OrElse i AndAlso; opisuje działanie funkcji IsNumeric; podaje przykład użycia operatora Mod i \ ; podaje przykłady zastosowań operatorów OrElse i AndAlso; podaje przykłady zastosowania instrukcji Select Case; wymienia inne funkcje logiczne pozwalające na uzyskanie informacji; charakteryzuje właściwość ToDay oraz funkcję Year; podaje przykłady zastosowań funkcji logicznych pozwalających na uzyskanie informacji; podaje przykłady zastosowania właściwości ToDay oraz funkcji Lear porównuje instrukcje wyboru oraz warunkową; 8

( + R + D) + PP pisze programy wykorzystujące instrukcję wyboru; podaje przykłady innych programów, w których można wykorzystać instrukcję wyboru; Lekcja 13,14 Temat: Algorytmy iteracyjne onieczne wykorzystuje najprostszą postać pętli For w programie do powtarzania czynności; zapisuje algorytm obliczania silni w postaci listy kroków; wyjaśnia pojęcie iteracji; wymienia przykłady zastosowania iteracji; podaje najprostszą składnię pętli For Next (bez zmiany wartości skoku licznika pętli); () + R ( + R) + D zapisuje algorytm obliczania silni w postaci schematu blokowego; wykorzystuje pętlę For w programie do obliczenia wartości silni; zapisuje algorytm obliczania średniej n liczb w postaci listy kroków; zmienia wartość skoku licznika pętli; zapisuje algorytm obliczania średniej n liczb w postaci schematu blokowego; wykorzystuje pętlę For w programie do obliczania wartości średniej n liczb; zapisuje algorytm drukowania tabliczki mnożenia od 1 do 10 w postaci listy kroków; wykorzystuje instrukcję warunkową do sprawdzenia poprawności wprowadzonych danych; stosuje stałą VbCrLf do zmiany wiersza; zmienia właściwość kontrolki typu TextBox MultiLine, tak by można było wyświetlać wiele wierszy tekstu; wykorzystuje zagnieżdżone pętle For w programie do drukowania tabliczki mnożenia od 1 do 10; wykorzystuje polecenie Exit do wyjścia z procedury oraz przerwania wykonywania pętli; podaje składnię polecenia For z określoną wartości skoku licznika pętli; wymienia poznane algorytmy iteracyjne; podaje przykłady wykorzystania zmiany skoku licznika pętli; opisuje działanie pętli zagnieżdżonej; wymienienia rodzaje polecenia Exit; podaje przykłady zastosowania pętli zagnieżdżonych; podaje przykłady zastosowania polecenia Exit; 9

( + R + D) + PP wykorzystuje zagnieżdżone pętle For w innych programach niż wykonane na lekcji; wykorzystuje zmianę skoku licznika pętli w programach, np. obliczanie sumy kolejnych liczb parzystych, obliczanie sumy odwrotności kolejnych liczb naturalnych itp.; podaje przykłady zastosowania pętli For ze zmianą skoku licznika pętli; Lekcja 15, 16 Temat: Powtarzanie nie musi być uciążliwe, czyli pętle warunkowe onieczne () + R ( + R) + D ( + R + D) + PP zapisuje algorytm Euklidesa w postaci listy kroków; podaje składnię instrukcji powtarzania warunkowego While End While, podaje definicję debugera; zapisuje algorytm Euklidesa w postaci schematu blokowego; stosuje operatory logiczne w budowaniu warunków zakończenia pętli; wstawia punkt przerwania programu; wykorzystuje instrukcję powtarzania warunkowego w programie do logowania użytkownika; stosuje instrukcje powtarzania warunkowego w prostych algorytmach iteracyjnych obliczanie NWD za pomocą metody Euklidesa z odejmowaniem; wskazuje w kodzie programu miejsca, w których nie można wstawić punktu przerwania programu; stosuje odpowiednią postać instrukcji powtarzania warunkowego w zależności od potrzeb; śledzi wartości zmiennych za pomocą okna Watch; wykonuje program krokowo w poznanych trybach; stosuje instrukcje powtarzania warunkowego w prostych algorytmach iteracyjnych obliczanie NWD za pomocą metody Euklidesa z dzieleniem; stosuje instrukcje przetwarzania warunkowego do obliczenia wartości silni i średniej; podaje składnię instrukcji powtarzania warunkowego Do Loop w wariantach poznanych na lekcji; podaje znaczenie słów kluczowych Until i While w składni polecenia Do Loop, wymienia zadania debuggera w IDE; podaje definicje punktu przerwania programu; wymienia różnice między poznanymi postaciami instrukcji powtarzania warunkowego; wymienia tryby wykonywania programu z wykorzystaniem debugera, wymienia miejsca w programie, w których nie można wstawić punktu przerwania programu; opisuje zastosowanie okna Watch; podaje przykłady innych algorytmów, gdzie można wykorzystać instrukcje powtarzania warunkowego; 10

Lekcja 17, 18 Temat: Operacje na plikach tekstowych onieczne deklaruje zmienne potrzebne do obsługi pliku; podaje definicje pliku i pliku tekstowego; wymienia procedury i funkcje pozwalające na otwarcie pliku tekstowego; wymienia tryby otwarcia pliku tekstowego; wymienia procedury pozwalające na zapis i odczyt danych do pliku tekstowego; wymienia procedurę służącą do zamykania pliku; stosuje funkcje Chr() i Asc() do konwersji; stosuje wbudowane funkcje do otwarcia plików tekstowych w trybie do zapisu i do odczytu; zamyka plik tekstowy za pomocą odpowiedniej procedury; wymienia sposoby odczytu danych z pliku tekstowego (wierszami, po znaku) oraz funkcje realizujące te działania; podaje pojęcie kodu ASCII; wymienia funkcje do zamiany kodu ASCII na znaki oraz znaku na odpowiadający mu kod ASCII; () + R ( + R) + D ( + R + D) + PP stosuje wbudowane funkcje tekstowe do przekształcania tekstu; zapisuje i odczytuje pojedyncze dane z pliku tekstowego za pomocą wbudowanych funkcji i procedur; odczytuje dane sekwencyjnie z pliku tekstowego z wykorzystaniem instrukcji przetwarzania warunkowego i funkcji Eof(); sekwencyjnie przeszukuje plik tekstowy zliczając wystąpienia podanego wzorca; opisuje działanie funkcji Eof(); wymienia funkcje pozwalające na dokonywanie operacji na łańcuchach znaków; podaje przykłady zastosowania poznanych funkcji pozwalających na dokonywanie operacji na łańcuchach znaków; podaje inne sposoby odczytu i zapisu danych z pliku tekstowego (np. klasy FileStream, StreamReader, StreamWriter); 11

Lekcja 19, 20 Temat: Aplikacje konsolowe onieczne () + R ( + R) + D tworzy projekt aplikacji konsolowej; testuje i uruchamia aplikację konsolowe; wskazuje w kodzie programu różnicę między programowaniem strukturalnym a zdarzeniowym; stosuje metody klasy Console do wprowadzania i wyprowadzania danych (Read, ReadLine, Write, WriteLine); wprowadza dane do aplikacji konsolowej z klawiatury; zapisuje algorytm rozwiązywania układu równań w postaci listy kroków; tworzy aplikację konsolową sprawdzającą parzystość liczby; dodaje nowy projekt do istniejącego rozwiązania; deklaruje i inicjuje zmienną klasy Random; wykorzystuje operator Mod do sprawdzenia parzystości liczby; implementuje algorytm obliczania NWD do aplikacji konsolowej; wprowadza dane do aplikacji konsolowej z pliku; tworzy aplikację konsolową odczytującą liczby z pliku tekstowego i zliczającą ilość liczb parzystych i nieparzystych; podstawia pod zmienne losowo wygenerowane liczby; zapisuje algorytm rozwiązywania układu równań w postaci schematu blokowego; formatuje wyniki obliczeń za pomocą funkcji Format; wskazuje źródło niestabilności w rozwiązaniu układu równań; tworzy aplikację konsolową wyznaczającą rozwiązanie układu równań liniowych; podaje definicję programowania strukturalnego i zdarzeniowego; podaje definicję aplikacji konsolowej; podaje strukturę kodu aplikacji konsolowej; wymienia różnice pomiędzy programowaniem strukturalnym a sterowanym zdarzeniami; wyszczególnia strukturę plików w aplikacji konsolowej; wymienia metody klasy Console, służące do wprowadzania i wyprowadzania danych; podaje sposób deklaracji zmiennej pozwalającej na generowanie liczb losowych; wymienia metody pozwalające na wprowadzanie i wyprowadzanie danych w aplikacjach konsolowych, podaje podstawowe metody klasy Random pozwalające na generowanie liczb losowych. opisuje funkcję formatującą Format; wymienia przyczyny niestabilności algorytmu rozwiązywania układu równań; ( + R + D) + PP tworzy aplikacje konsolowe z parametrami; wymienia inne algorytmy w których może wystąpić niestabilność; 12

Lekcja 21, 22 Temat: Procedury i funkcje onieczne () + R ( + R) + D ( + R + D) + PP wywołuje zdefiniowane procedury i funkcje w programie; rozpoznaje początek i koniec procedury, funkcji w kodzie programu; stosuje w programie poznane funkcje tekstowe i matematyczne zgodnie z ich przeznaczeniem; określa zakres działania zmiennych, procedur i funkcji na podstawie miejsca ich wystąpienia oraz modyfikatora dostępu; definiuje procedury Sub i Function bez parametrów; zapisuje algorytm rozwiązania równania kwadratowego w postaci listy kroków i schematu blokowego; dzieli program na procedury i funkcje bezparametrowe; stosuje poznane wbudowane funkcje tekstowe; stosuje procedury i funkcje zdefiniowane przez programistę; zapisuje w postaci schematu blokowego algorytm potęgowania liczb; tworzy program do obliczania potęgi liczby naturalnej za pomocą procedur zdefiniowanych przez programistę; importuje przestrzeń nazewniczą System.Math; tworzy program obliczający pierwiastki równania kwadratowego za pomocą procedur zdefiniowanych przez programistę; wykorzystuje funkcje przestrzeni nazewniczej System.Math; tworzy i wykorzystuje funkcje z parametrem; importuje i wykorzystuje inne przestrzenie nazewnicze; dobiera modyfikator dostępu funkcji lub procedur w zależności od potrzeb aplikacji; podaje definicję programowania proceduralnego i strukturalnego; podaje definicję procedury typu Sub i Function; wymienia różnice w sposobie działania procedury i funkcji; wymienia modyfikatory dostępu; wymienia poznane na lekcji funkcje matematyczne i tekstowe; określa sposób działania poznanych funkcji matematycznych i tekstowych; wymienia modyfikatory dostępu funkcji; podaje definicje przestrzeni nazewniczej; podaje sposób zaimportowania przestrzeni nazewniczej; podaje rodzaje zasięgu zmiennej, procedury i funkcji zależności od użytego modyfikatora dostępu; wymienia i charakteryzuje metody matematyczne przestrzeni nazewniczej System.Math; wymienia inne przestrzenie nazewnicze; podaje definicje parametru procedury oraz sposobu jego przekazywania; 13

Lekcja 23, 24 Temat: Przekazywanie argumentów do procedur i funkcji onieczne () + R definiuje procedury i funkcje z parametrami; przekazuje parametry procedur i funkcji przez wartość; deklaruje sposób przekazywania parametrów za pomocą słów kluczowych ByVal i ByRef; przekazuje parametry procedur i funkcji przez referencję; tworzy proste programy wykorzystujące procedury z parametrami, np. skracanie ułamka; wybiera sposób przekazywania parametrów (przez wartość i referencję) w zależności od potrzeb; stosuje parametry opcjonalne w procedurach i funkcjach; deklaruje zmienne niezbędne do rysowania za pomocą klasy System.Drawing.Graphics; podaje definicję parametru funkcji; podaje definicje referencji; podaje definicję przekazywania argumentów przez wartość i referencję; wskazuje różnice w poznanych sposobach przekazywania parametrów; wskazuje domyślny sposób przekazywania argumentów do procedur; podaje definicję argumentu opcjonalnego; wymienia typy danych potrzebnych do wykorzystania metod graficznych z klasy System.Drawing.Graphics; podaje definicję parametrów procedury z wykorzystaniem parametru opcjonalnego; podaje zastosowania parametru opcjonalnego; ( + R) + D ( + R + D) + PP stosuje podstawowe metody klasy System.Drawing.Graphics pozwalające na rysowanie odcinków oraz figur i krzywych; dobiera współrzędne rysunków zgodnie z potrzebami aplikacji; stosuje poznane metody graficzne do rysowania wykresu funkcji kwadratowej; stosuje procedury graficzne do rysowania wykresów funkcji, np. funkcje trygonometryczne; wymienia metody z klasy System.Drawing.Graphics do rysowania podstawowych figur geometrycznych; określa sposób obliczania współrzędnych w formularzu; wymienia inne (niepoznane na lekcji) metody graficzne klasy System.Drawing.Graphics; 14

Lekcja 25, 26 Temat: Zmienne tablicowe onieczne () + R ( + R) + D ( + R + D) + PP wskazuje definicję tablicy w kodzie w programu; samodzielnie deklaruje tablicę jednowymiarową; deklaruje tablicę wielowymiarową; odwołuje się do pojedynczego elementu tablicy jedno i dwuwymiarowej; nadaje wartości elementom tablicy jednowymiarowej; modyfikować i przetwarzać elementy tablicy; nadaje wartości elementom tablicy dwuwymiarowej; wyświetla elementy tablicy jedno- i dwuwymiarowej; wypełnia tablicę losowymi wartościami; wykonuje operacje arytmetyczne na elementach tablicy; wykorzystuje zmienne tablicowe przy rozwiązywaniu typowych problemów algorytmicznych; wypełnia tablicę losowymi wartościami, tak by elementy się nie powtarzały; wykorzystuje tablicę dwuwymiarową do napisania prostej gry kółkokrzyżyk; wykorzystuje tablice do obliczenia dokładnej wartości silni do 1000, wykorzystuje tablice w innych algorytmach nieomawianych na lekcji; zwiększa rozmiar tablicy bez utraty zawartych w niej danych; podaje definicję tablicy jednowymiarowej; podaje definicję indeksu; podaje definicję tablicy wielowymiarowej; wymienia cechy tablicy w VB.NET; określa maksymalny rozmiar tablicy w VB; opisuje sposób dostępu do elementu tablicy; opisuje sposób indeksowania tablicy; wymienia różnice pomiędzy poznanymi typami danych a tablicą; wymienia proste algorytmy w których można zastosować tablice; wymienia zalety i i wady tablic; podaje przykłady zastosowania tablic w innych algorytmach niż wykorzystane na lekcji; podaje sposób zmiany rozmiaru tablicy; charakteryzuje dynamiczne struktury danych; 15

Lekcja 27, 28, 29, 30 Temat: Porządkowanie ciągu elementów metodą bąbelkową, przez wybór oraz przez wstawianie onieczne () + R ( + R) + D ( + R + D) + PP zapisuje algorytm sortowania bąbelkowego w postaci listy kroków; wyszukuje w kodzie programu kod wykonujący sortowanie bąbelkowe; zapisuje algorytm sortowania bąbelkowego w postaci schematu blokowego; zapisuje algorytm sortowania przez wybieranie w postaci listy kroków; zapisuje algorytm sortowania przez wstawianie w postaci listy kroków; tworzy program sortujący tablicę za pomocą sortowania bąbelkowego; zapisuje algorytm sortowania przez wybieranie w postaci schematu blokowego; zapisuje algorytm sortowania przez wstawianie w postaci schematu blokowego; tworzy program sortujący tablicę za pomocą sortowania przez wybieranie; szacuje liczbę powtórzeń instrukcji wewnątrz pętli; dokonuje porównania efektywności algorytmów rozwiązujących podobne zadania; tworzy program sortujący tablicę za pomocą sortowania przez wybieranie; tworzy program sortujący dane za pomocą innego algorytmu niż poznanego na lekcji;. podaje definicję sortowania; wymienia poznane algorytmy sortowania; opisuje sposób działania algorytmu sortowania bąbelkowego; podaje określenie efektywności algorytmu; opisuje sposób działania algorytmu sortowania przez wybieranie; wymienia różnice w sposobie działania poznanych algorytmów; opisuje sposób działania algorytmu sortowania przez wstawianie; wymienia, jakie elementy algorytmu sortowania wpływają na jego efektywność; opisuje wpływ rozłożenia elementów ciągu na efektywność poznanych algorytmów sortowania; określa złożoność poznanych algorytmów; wymienia algorytmy o innej złożoności obliczeniowej;, opisuje inne algorytmy sortowania; 16

Lekcja 31, 32 Temat: Algorytm przeszukiwania w ciągu wyróżnionego elementu onieczne () + R ( + R) + D ( + R + D) + PP zapisuje algorytm wyszukiwania liniowego w postaci listy kroków; zapisuje algorytm wyszukiwania maksimum i minimum w postaci listy kroków; zapisuje algorytm wyszukiwania liniowego w postaci schematu blokowego; zapisuje algorytm wyszukiwania maksimum i minimum w postaci schematu blokowego; zapisuje algorytm wyszukiwania binarnego w postaci listy kroków; tworzy program wyszukujący element w ciągu za pomocą wyszukiwania liniowego; zapisać algorytm wyszukiwania binarnego w postaci schematu blokowego; tworzy program minimum i maksimum ciągu; tworzy program wyszukujący element w ciągu za pomocą wyszukiwania binarnego; szacuje maksymalną liczbę iteracji w wyszukiwaniu liniowym i binarnym; podaje definicję wyszukiwania elementu w zbiorze; podaje definicję wyszukiwania liniowego; opisuje sposób wyszukiwania liniowego; podaje definicję wyszukiwania binarnego; opisuje sposób wyszukiwania binarnego; podaje definicję złożoności obliczeniowej algorytmu; porównuje poznane algorytmy wyszukiwania pod kątem efektywności; określa sposób oszacowania ilości kroków w poszczególnych algorytmach; tworzy program wyszukujący wzorzec w ciągu znaków; wymienia inne algorytmy wyszukiwania, np. wzorca w ciągu; 17

Lekcja 33, 34 Temat: Schemat Hornera i jego zastosowania onieczne () + R ( + R) + D ( + R + D) + PP zapisuje algorytm Hornera za pomocą listy kroków; podaje podać wzór na obliczenie wartości wielomianu według schematu Hornera; podaje podstawowe zastosowanie schematu Hornera; zapisuje algorytm Hornera za pomocą schematu blokowego; tworzy program komputerowy stosujący schemat Hornera do obliczania wartości wielomianu w podanym punkcie; stosuje schemat Hornera do konwersji liczny binarnej na dziesiętną w programie komputerowym; śledzi wartość zmiennych w trakcie wykonywania programu za pomocą okna Locals; ustala, jakie zmienne będą śledzone w oknie Locals; tworzy programy wykorzystujące schemat ornera, np. obliczanie pochodnej wielomianu w punkcie, obliczanie ilorazu wielomianu przez dwumian; wyprowadza wzór na schemat Hornera; określa liczbę zaoszczędzonych obliczeń, dzięki wykorzystaniu schematu Hornera; podaje przykłady algorytmów, gdzie wykorzystuje się schemat Hornera (konwersja z liczby binarnej na dziesiętną); opisuje sposób wykorzystania schematu Hornera podczas konwersji; podaje zastosowanie okna Locals; podaje przykłady innych algorytmów nieomawianych na lekcji, gdzie można wykorzystać schemat Hornera; 18

Lekcja 35,36 Temat: Rekurencja i jej zastosowania onieczne () + R zapisuje w postaci listy kroków rekurencyjny algorytm obliczania silni; wskazuje w kodzie procedury wywołanie rekurencyjne; zapisuje w postaci listy kroków algorytm obliczania liczby Fibonacciego; prawidłowo definiuje warunki zakończenia rekurencji; implementuje w VB.NET algorytm obliczania silni za pomocą rekurencji; zapisuje w postaci schematu blokowego algorytm obliczania liczby Fibonacciego; podaje definicję rekurencji; wymienia przykłady algorytmów rekurencyjnych (liczba Fibonacciego, silnia); podaje proste przykłady działań rekurencyjnych; podaje definicję liczby Fibonacciego; wymienia niebezpieczeństwa algorytmów rekurencyjnych; podaje definicję grafiki fraktalnej; wymienia cechy algorytmu rekurencyjnego; wymienia problemy, jakie mogą wystąpić podczas realizacji algorytmu rekurencyjnego; wymienia przykłady grafiki fraktalnej opartej na rekurencji; podaje matematyczny zapis liczby Fibonacciego; podaje definicję dywanu Sierpińskiego; ( + R) + D ( + R + D) + PP podaje przykłady działań i algorytmów, w których wykorzystywana jest rekurencja; Zapisuje w postaci listy kroków rekurencyjny algorytm wież Hanoi; implementuje w VB.NET algorytm obliczania wartości dwumianu Newtona w sposób rekurencyjny; implementuje w VB.NET algorytm obliczania liczby Fibonacciego z wykorzystaniem iteracji; przedstawia problem wież Hanoi; opisuje rekurencyjne grafiki: trójkąt Sierpińskiego, krzywą Gilberta, dywan Ulama; podaje przykłady wykorzystania w naturze liczb Fibonacciego; 19

Lekcja 37, 38 Temat: Iteracja czy rekurencja? onieczne rozróżnia rekurencyjne i iteracyjne implementacje algorytmów; podaje definicje iteracji i rekurencji; wskazuje różnice pomiędzy iteracją a rekurencją; określa liczbę wywołań procedur i funkcji w algorytmach iteracyjnych i rekurencyjnych; określa pamięciożerność programów iteracyjnych i rekurencyjnych na dowolnie wybranym przykładzie; opisuje wykorzystanie pamięci przez procedury rekurencyjne i iteracyjne; wskazuje wady rekurencji (wykonywanie dużej liczby wywołań funkcji, duża złożoność przy większej liczbie obliczeń, długi czas trwania przy większych wartościach do obliczenia, nadmierne wykorzystanie pamięci stosu); wskazuje zalety rekurencji (prostota zapisu, łatwość zdefiniowania problemu); wskazuje zalety i wady iteracji; opisuje strukturę stosu, na którym są przechowywane zmienne, parametry funkcji oraz adresy ich wywołania; () + R ( + R) + D ( + R + D) + PP szacuje liczbę wywołań funkcji w wybranej implementacji algorytmu rekurencyjnego (np. liczby Fibonacciego); wykorzystuje polecenie Data.Now.Tics do określenia czasu działania aplikacji lub fragmentu wybranego kodu; określa czas trwania fragmentu kodu aplikacji; zapisuje w postaci listy kroków iteracyjny algorytm obliczania liczby Fibonacciego; szacuje liczbę zbędnych obliczeń w algorytmach rekurencyjnych; tworzy prostą grafikę rekurencyjną (trójkąt Sierpińskiego); implementuje w VB.NET iteracyjny algorytm obliczania liczby Fibonacciego; implementuje w VB.NET inne grafiki rekurencyjne nieomawiane na lekcji, np. dywan Ulama, krzywe Sierpińskiego; implementuje w VB.NET fraktale; podaje przykłady grafiki rysowanej za pomocą rekurencji; opisuje sposób pomiaru czasu działania algorytmu z wykorzystaniem polecenie Data.Now.Tics; podaje definicję dekursywacji; opisuje sposób tworzenia trójkąta Sierpińskiego; opisuje sposób tworzenie nieomawianych na lekcji grafik rekurencyjnych; opisuje sposób tworzenia fraktali; 20

Lekcja 39, 40 Temat: Metoda dziel i zwyciężaj onieczne () + R ( + R) + D ( + R + D) + PP wymienia w punktach zasady działania strategii dziel i zwyciężaj ; wyjaśnia działanie algorytmu sortowania szybkiego; wskazuje, jakie cechy strategii dziel i zwyciężaj są wykorzystane w sortowaniu szybkim; zapisuje algorytm sortowania szybkiego w postaci listy kroków; porównuje poznane algorytmy sortowania oraz wymienia elementy wpływające na szybkość ich działania; podaje definicję strategii dziel i zwyciężaj ; wskazuje zalety strategii dziel i zwyciężaj ; wskazuje przykłady zastosowań strategii dziel i zwyciężaj ; opisuje algorytm sortowania szybkiego; wymienia poznane algorytmy sortowania; wymienia poznane wcześniej algorytmy wykorzystujące strategię dziel i zwyciężaj ; wymienia inne algorytmy oparte na strategii dziel i zwyciężaj ; implementuje w VB.Net algorytm sortowania szybkiego; porządkuje poznane algorytmy ze względu na ich efektywność oraz wrażliwość na rozkład porządkowanych danych; implementuje w VB.Net inne algorytmy nieomawiane na lekcji, wykorzystujące strategie dziel i zwyciężaj, np.: np. szukanie miejsc zerowych funkcji metodą przepoławiania przedziałów; opisuje nieomawiane na lekcji algorytmy wykorzystujące strategię dziel i zwyciężaj ; 21

Lekcja 41, 42 Temat: Tworzenie zaawansowanego interfejsu użytkownika onieczne () + R ( + R) + D ( + R + D) + PP stosuje poprawną terminologię dotyczącą interfejsu użytkownika; tworzy menu za pomocą kontrolki MainMenu; przypisuje procedury zdarzeń do poszczególnych poleceń menu; modyfikuje właściwości menu dodaje klawisze skrótów do poleceń, wstawia separatory; tworzy pasek stanu za pomocą kontrolki StatusBar; dodaje panele do paska stanu oraz modyfikuje ich właściwości; tworzy procedury poprawiające funkcjonalność paska stanu; modyfikuje właściwości paneli paska stanu (tekst) z poziomu kodu; tworzy pasek narzędzi za pomocą kontrolki ToolBar; dodaje nowe elementy (ikony) paska narzędzi oraz modyfikuje ich właściwości; podaje definicje interfejsu aplikacji; wymienia elementy aplikacji Windows tworzące interfejs użytkownika; wymienia zasady stosowane podczas nazywania poleceń menu; wymienia zastosowania poznanych elementów interfejsu; wymienia kontrolki VB.NET pozwalające tworzyć poznane elementy interfejsu użytkownika; tworzy kod obsługujący ikony paska narzędzi; opisuje sposób obsługi paska narzędzi z poziomu kodu; samodzielnie tworzy ikony do paska narzędzi; tworzy inne elementy interfejsu użytkownika, np. menu kontekstowe; - wymienia i opisuje inne kontrolki pozwalające tworzyć interfejs użytkownika; 22

Lekcja 43, 44, 45, 46, 47, 48 Temat: Zaprojektowanie i realizacja projektu zespołowego onieczne () + R ( + R) + D ( + R + D) + PP tworzy proste aplikacje w VB.NET; opisuje etapy projektowania i testowania oprogramowania; wymienia zasady tworzenia przejrzystego interfejsu użytkownika; tworzy interfejs użytkownika dla aplikacji; tworzy projekt programu instalacyjnego; opisuje zadania i możliwości programu instalacyjnego; tworzy program instalacyjny do aplikacji; opisuje sposoby dystrybucji oprogramowania możliwe do realizacji w VB.NET; ustawia właściwości programu instalacyjnego (katalog docelowy, ikona aplikacji, utworzenie skrótów w Start/Programy i na pulpicie); tworzy inne sposoby dystrybucji aplikacji; charakteryzuje sposoby dystrybucji oprogramowania możliwe w Visual Studio.NET; 23

Lekcja 49, 50 Temat: Poławiacze liczb pierwszych onieczne () + R ( + R) + D zapisuje algorytm rozkładu liczby na czynniki pierwsze za pomocą listy kroków ; zapisuje algorytm rozkładu liczby na czynniki pierwsze za pomocą schematu blokowego; implementuje w VB.NET algorytm faktoryzacji liczby naturalnej; opisuje działanie algorytmu opartego na sicie Eratostenesa; tworzy program sprawdzający, czy liczba jest pierwsza; zapisuje algorytm wyszukiwania liczb pierwszych za pomocą sita Erastotenesa w postaci listy kroków; zapisuje algorytm wyszukiwania liczb pierwszych za pomocą sita Erastotenesa, w postaci schematu blokowego; implementuje VB.NET algorytm wyszukiwania liczb pierwszych za pomocą sita Erastotenesa; podaje definicję liczby pierwszej i naturalnej; podaje definicję faktoryzacji liczby; opisuje sposób szukania liczb pierwszych za pomocą sita Eratostenesa; opisuje sposób redukcji liczby sprawdzanych liczb podczas szukania liczb pierwszych za pomocą sita Erastotenesa; podaje przykłady zastosowań poznanych algorytmów do rozwiązywania innych problemów; ( + R + D) + PP implementuje VB.NET algorytm wyszukiwania liczb pierwszych za pomocą sita Erastotenesa, wykorzystując inne struktury danych niż tablica (np. stosy, kolejki); 24

Lekcja 51, 52 Temat: Algorytmy zachłanne onieczne zapisuje w postaci listy kroków rozwiązanie ogólnego problemu plecakowego; zapisuje w postaci listy kroków rozwiązanie decyzyjnego problemu plecakowego; zapisuje w postaci schematu blokowego rozwiązanie ogólnego problemu plecakowego; zapisuje w postaci schematu blokowego rozwiązanie decyzyjnego problemu plecakowego; podaje definicję metody zachłannej stosowaną w algorytmie; podaje definicję algorytmu zachłannego; definiuje ogólny i decyzyjny problem plecakowy; opisuje matematyczny sposób rozwiązania problemu plecakowego; wymienia cechy algorytmów zachłannych; wymienia różnice pomiędzy decyzyjnym a ogólnym problemem plecakowym; () + R ( + R) + D ( + R + D) + PP rozwiązuje za pomocą metody zachłannej ogólny i decyzyjny algorytm plecakowy w VB.NET; zapisuje w postaci listy kroków algorytm rozwiązania problemu wydania reszty (problemu kasjera); podaje przykłady innych problemów wykorzystujących metody zachłanne do rozwiązania problemu; prezentuje rozwiązanie problemu plecakowego metodą programowania dynamicznego; rozwiązuje inne problemy za pomocą metody zachłannej (np. problem 8 hetmanów, konika szachowego); opisuje problem kasjera; charakteryzuje metodę programowania dynamicznego; charakteryzuje inne problemy algorytmiczne, które można rozwiązać za pomocą metody zachłannej; 25

Lekcja 53, 54, 55, 56 Temat: Metody numeryczne ciemna strona programowania onieczne zapisuje algorytm Newtona-Raphsona w postaci listy kroków; podaje definicję metod numerycznych; wymienia zastosowania metod numerycznych; zapisuje algorytm Newtona-Raphsona w postaci schematu blokowego; implementuje w VB.NET algorytm Newtona-Raphsona obliczający wartość pierwiastka kwadratowego z podanej liczby; zapisuje algorytm Newtona do obliczania pierwiastka n-tego stopnia w postaci schematu blokowego; charakteryzuje sposób przechowywania liczb przez procesor oraz możliwe błędy z tego wynikające; wymienia poznane na lekcji proste algorytmy oparte na metodach numerycznych; () + R ( + R) + D ( + R + D) + PP implementuje w VB.NET algorytm Newtona obliczający wartość pierwiastka n tego stopnia z podanej liczby; implementuje w VB.NET algorytm Newtona szukający miejsca zerowego funkcji; rozwiązuje inne problemy za pomocą VB.NET i metod numerycznych; podaje matematyczną interpretację obliczania pierwiastka n tego stopnia metodą Newtona; podaje przykłady obliczeń wykorzystujących przybliżenia; podaje matematyczną interpretację szukania miejsca zerowego funkcji metodą Newtona; podaje przykłady obliczeń wykonywanych za pomocą metod numerycznych, nieomawianych na lekcji; 26

Lekcja 57, 58 Temat: ryptografia i kryptoanaliza, czyli ENIGMAtyczna matematyka onieczne dokonuje podziału kryptografii; podaje definicje podstawowych pojęć związanych z szyfrowaniem danych; wymienia różnice pomiędzy kryptologią, kryptografią i kryptoanalizą; podaje definicję szyfru przestawieniowego i podstawieniowego; opisuje szyfr Cezara; szyfruje i deszyfruje informacje za pomocą szyfru płotkowego; szyfruje i deszyfruje za pomocą szyfru Cezara; wymienia podstawowe zasady bezpieczeństwa w kryptologii; opisuje jednokierunkową funkcję skrótu oraz jej wykorzystanie; opisuje schemat szyfrowania i deszyfrowania informacji w kryptografii symetrycznej i asymetrycznej; opisuje szyfr płotkowy; podaje definicję szyfru płotkowego; podaje definicję szyfru homofonicznego; () + R ( + R) + D ( + R + D) + PP implementuje szyfr Cezara w aplikacji wykonanej w VBV.NET; wymienia podstawowe metody przełamywania szyfrów; podaje definicje szyfru bezwarunkowo bezpiecznego i szyfru bezpiecznego obliczeniowo; wymienia różnice pomiędzy kryptografią symetryczną a asymetryczną; podaje definicję analizy częstotliwościowej; stosuje analizę częstotliwościową do przełamywania szyfru podstawieniowego; opisuje algorytm generowania kluczy kryptograficznych; podaje zastosowanie analizy częstotliwościowej; opisuje metody zmniejszania skuteczności analizy częstotliwościowej; opisuje schemat podpisu elektronicznego; implementuje w VB.NET inne algorytmy szyfrujące; charakteryzuje metody szyfrowania nieomawiane na lekcji, stosowane w systemach komputerowych; 27

Lekcja 59, 60, 61, 62 Temat: Dynamiczne struktury danych i tablice o zmiennym rozmiarze onieczne () + R dokonuje podziału poznanych typów danych na referencyjne i bezpośrednie; zmienia rozmiar tablicy w trakcie działania aplikacji bez utraty danych; deklaruje tablice o zerowym rozmiarze; rozróżnia podstawowe dynamiczne struktury danych; stosuje tablice o zmiennych rozmiarach w programach opartych na wcześniej poznanych algorytmach (schemat Hornera, konwersja liczb binarnych na dziesiętne); deklaruje i inicjuje zmienne klasy Stack i Queue; wprowadza dane do stosu za pomocą metody Push; pobiera dane ze stosu za pomocą metod Pop i Peek; wprowadza dane do kolejki za pomocą metody Enqueue; pobiera dane z kolejki za pomocą metod Dequeue i Peek; czyści zawartość stosu i kolejki za pomocą metody Clear; odczytuje liczbę elementów w stosie i kolejce za pomocą właściwości Count; kopiuje zawartość kolejki lub stosu; podaje definicję typu referencyjnego i bezpośredniego; wymienia polecenia pozwalające na zmianę rozmiaru tablicy; wymienia podstawowe dynamiczne struktury danych (stos, kolejka, lista, graf, drzewo); wskazuje różnice pomiędzy typami referencyjnymi a bezpośrednimi; opisuje sposób dostępu do danych w stosie, kolejce i liście; wymienia różnice w sposobie dostępu do danych w stosie i kolejce; wymienia podstawowe metody klasy Stack i Queue, służące do dodawania i odczytywania danych z kolejki i stosu; podaje przykłady zastosowania poznanych dynamicznych struktur danych; ( + R) + D stosuje podstawowe metody (Push, Pop, Clear, Peek) klasy Stack do wprowadzania, odczytywania i usuwania danych ze stosu w prostych aplikacjach, np. alulator; stosuje podstawowe metody klasy Queue (Enqueue, Dequeue, Clear, Peek) do wprowadzania, odczytywania i usuwania danych z kolejki w prostych aplikacjach, np. alkulator; stosuje stos i kolejkę do rozwiązywania poznanych problemów z algorytmiki, wykorzystując je zamiast tablic; wymienia inne, niż wykorzystane na lekcji, dynamiczne struktury danych; 28

( + R + D) + PP stosuje inne dynamiczne struktury ArrayList, grafy w aplikacjach; charakteryzuje inne dynamiczne struktury ArrayList, grafy oraz podaje algorytmy je wykorzystujące; Lekcja 63, 64 Temat: lasy i obiekty onieczne () + R ( + R) + D ( + R + D) + PP tworzy nową klasę; rozróżnia klasy i obiekty; deklaruje pola i właściwości klasy; tworzy nowe metody w klasie; deklaruje i inicjować nowe obiekty w programie na bazie wcześniej utworzonej klasy; podaje definicję pojęć: klasa, obiekt, pole, metoda i właściwości; wymienia i charakteryzuje modyfikatory dostępu klas; opisuje sposoby deklaracji klasy, pól, metod i właściwości; opisuje sposoby deklaracji i inicjowania obiektu; stosuje właściwości i metody obiektu w programie; opisuje sposób wykorzystania właściwości i metod obiektu; samodzielnie projektuje klasy podczas tworzenia nowej aplikacji (np. kalkulator ułamkowy); podaje przykłady klas i obiektów VB.NET wykorzystywanych w aplikacjach; tworzy obiekty oparte na samodzielnie zaprojektowanych klasach; wykorzystuje pola i metody zaprojektowanej klasy; stosuje wbudowane klasy VB.NET; tworzy klasy potomne, współdzielone; charakteryzuje techniki programowania obiektowego nieomawiane na lekcji, np.: dziedziczenie, polimorfizm; 29

Lekcja 65, 66, 67, 68 Temat: Dziedziczenie i jego rodzaje onieczne () + R ( + R) + D ( + R + D) + PP tworzy nową klasę bazową; deklaruje pola, metody i właściwości klasy; podaje definicję dziedziczenia; opisuje mechanizm dziedziczenia w programowaniu obiektowym; podaje sposób deklaracji klasy potomnej; podaje definicję klasy bazowej i klasy potomnej; tworzy klasę potomną na bazie wcześniej utworzonej klasy; wymienia i wyjaśnia podstawowe pojęcia związane z dziedziczeniem: polimorfizm, klasa bazowa, klasy potomne, przesłanianie metod, konstruktor klasy; deklaruje metody przesłonięte i przesłaniające; wykorzystuje metody przesłonięte w aplikacji; deklaruje konstruktory klasy w klasie bazowej i klasach potomnych; stosuje konstruktory w aplikacji w trakcie inicjowania obiektu; stosuje zaawansowane techniki programowania obiektowego, np. klasy współdzielone, metody przeciążone; podaje sposób deklarowania metody przesłanianej i przesłaniającej; charakteryzuje zastosowanie i sposób deklaracji konstruktora; charakteryzuje zaawansowane techniki programowania obiektowego; 30

2 FAQ news czyli najczęściej zadawane pytania Poniżej prezentujemy listę najczęściej zadawanych pytań wraz z odpowiedziami, pochodzących z grupy dyskusyjnej przeznaczonej dla nauczycieli uczących programowania w VB.Net. Polecamy tę grupę znajdującą się na serwerze news.otwartaszkola.edu.pl. Problemy z projektem zapisanym na dysku sieciowym Problem, który wymaga wyjaśnienia dotyczy operacji zapisu i odczytu z pliku. W sytuacji, kiedy projekt zapisany jest na dysku sieciowym, pojawia się komunikat błędu, związany z zabezpieczeniami. Czy nie można tak skonfigurować Visual Studio, aby bez kłopotów czytał i zapisywał pliki? Pojawia się tutaj problem tzw. zaufania wobec komponentów uruchamianych zasobu sieciowego. W folderze %systemroot%\microsoft.net\framework\wersja znajduje się narzędzie: ConfigWizards.exe. Po jego uruchomieniu: 1. Pierwsze rozwiązanie (dla Solution uruchamianego z sieci): wybieramy Adjust.NET Security, Next, Local Intranet ustawiamy na Full Trust, Next, Finish. Można teraz z sieci otworzyć.rozwiązanie, skompilować i uruchomić program. Aplikacja powinna zapisywać dane do pliku bez problemów. 2. Drugie rozwiązanie (gdy mamy gotowy plik EXE): wybieramy Trust an Assembly, Next, podajemy ścieżkę sieciową (UNC) do pliku EXE, Next, Next, Finish. Można uruchamiać z sieci plik EXE. Po szczegóły: kiedy, co i dlaczego oraz z jakiego powodu bywa to niebezpieczne, można sięgnąć do dokumentacji MSDN. Funkcje tekstowe ze starszych wersji VB W starszych wersjach Visual Basic (np. VB6) istniała funkcja Len. Próbowałem ją zastosować w VB.NET, lecz kompilator wyrzuca błąd. Czy można dalej używać tej funkcji? W VB.NET trzeba dodać przestrzeń nazw Microsoft.VisualBasic. Wtedy funkcja Left działa jak w przykładzie poniżej: Dim tekst As String = "ala ma kota" MsgBox(Microsoft.VisualBasic.Left(tekst, 3)) MsgBox(Microsoft.VisualBasic.Right(tekst, 3)) Zamiast tych funkcji można zastosować "metody". Jest to bardziej "obiektowe". Biblioteka Microsoft.VisualBasic istnieje, aby zapewnić zgodność wsteczną dla VB. Przykład poniżej ilustruje wykorzystanie metod klasy String. Dim tekst As String = "ala ma kota" 'MsgBox(Microsoft.VisualBasic.Left(tekst, 3)) MsgBox(tekst.Substring(0, 3)) 'MsgBox(Microsoft.VisualBasic.Right(tekst, 3)) MsgBox(tekst.Substring(tekst.Length - 3)) 31