|
Szczegółowe cele kształcenia
W wyniku procesu kształcenia
uczeń/słuchacz powinien umieć: zastosować zasady bezpiecznej pracy z
komputerem,
scharakteryzować budowę i zasadę działania programu komputerowego,
wyjaśnić podstawowe pojęcia związane z programowaniem,
zastosować podstawowe algorytmy i sposoby ich zapisu,
posłużyć się edytorem, kompilatorem,
zastosować czytelny styl programowania i opracować dokumentację programu,
zlokalizować i usunąć błędy w programach, przetestować programy,
zastosować podstawowe typy danych, stałe, zmienne i funkcje,
zaprojektować wyrażenia z operatorami arytmetycznymi, logicznymi oraz
relacji,
zastosować w programach instrukcje: proste, złożone, sterujące oraz
iteracyjne,
posłużyć się podprogramami: własnymi i standardowymi z biblioteki,
zaplanować podział zadania/problemu na moduły,
zastosować strukturalne typy danych: tablice, pliki, zbiory, rekordy,
posłużyć się wskaźnikami do budowy dynamicznych struktur danych: stosów,
kolejek, list, drzew, grafów,
wykorzystać w programach dźwięki, grafikę, animacje,
zaprojektować programy współpracujące z systemem operacyjnym,
zaprojektować programy odporne na błędne dane,
wyjaśnić różnice pomiędzy programowaniem strukturalnym i obiektowym,
scharakteryzować pojęcia dotyczące programowania obiektowego:
obiekt, klasa, metoda, atrybut,
zastosować podstawowe konstrukcje języka obiektowego,
zaprojektować klasy i moduły, zastosować hermetyzacje,
posłużyć się konstruktorem i destruktorem,
zastosować dziedziczenie, funkcje wirtualne, zaprzyjaźnione, operatorowe,
zaprojektować program o charakterze obliczeniowym, graficznym,
wyjaśnić przeznaczenie i właściwości apletów,
zaprojektować .aplikacje współbieżne, wielowątkowe,
wykonać złożony system informatyczny pracując w zespole,
zmodyfikować kod źródłowy zapisany w języku programowania,
skorzystać z informacji na temat programowania, zgromadzonych w sieci
Internet oraz w innych źródłach,
Materiał nauczania
1. Wprowadzenie do programowania strukturalnego w Pascalu
Podstawowe pojęcia dotyczące programowania: program komputerowy, języki
programowania, kompilator, interpretator, konsolidator. Algorytmy i sposoby
ich zapisu. Etapy tworzenia programu: planowanie, pisanie, kompilacja,
konsolidacja, testowanie i optymalizacja. Zasady programowania
strukturalnego. Edytor środowiska systemu Pascal. Podstawy zapisywania
programu w języku Pascal: słowa kluczowe, identyfikatory, liczby, symbole
podstawowe, komentarze, stałe logiczne. Typy danych: całkowity, rzeczywisty,
znakowy, łańcuchowy, logiczny, okrojony, wyliczeniowy. Struktura programu w
języku Pascal. Instrukcje wejścia/wyjścia. Deklaracje zmiennych i stałych.
Instrukcja przypisania. Wyrażenia i operatory. Standardowe funkcje i
procedury. Instrukcje: warunkowe, iteracyjne, złożone.
Ćwiczenia
Dobieranie algorytmów do rozwiązania zadanych problemów.
Projektowanie algorytmu w formie opisowej.
Opisywanie algorytmów w postaci listy kroków.
Zapisywanie algorytmów w postaci schematów blokowych.
Praca w środowisku systemu Pascal: edycja, kompilacja, modyfikacja i
uruchomienie przykładowego programu, zakończenie pracy.
Analizowanie przykładowych programów, wykrywanie błędów i ich usuwanie.
Porządkowanie trzech, czterech i pięciu liczb.
Projektowanie prostych programów obliczeniowych.
2. Podprogramy
Ogólna postać funkcji i procedury. Zmienne lokalne i globalne. Parametry
formalne i aktualne. Przekazywanie parametrów przez wartość i przez zmienną.
Wywoływanie funkcji i procedur. Rekurencja. Funkcje i procedury obsługi
ekranu. Grafika w Pascalu. Moduły użytkownika - zasady budowy i korzystania
z modułów.
Ćwiczenia
Dokonywanie podziału programu na podprogramy
Stosowanie różnych metod przekazywania parametrów do podprogramów.
Stosowanie algorytmów interacyjnych i rekurencyjnych, algorytmu
Euklidesa, obliczania potęgi, wyznaczania liczb Fibonacciego.
Prezentowanie graficzne wyników obliczeń.
Tworzenie modułów użytkownika.
Rozwiązywanie równania kwadratowego, liniowego, układu równań liniowych.
3. Typy strukturalne
Tablice. Pliki tekstowe i operacje na tekstach. Pliki elementowe.
Operacje na plikach. Zbiory. Rekordy. Ogólne zasady budowy systemów
informatycznych.
Ćwiczenia
Stosowanie tablic i wykonywanie podstawowych operacji na tablicach:
sortowanie, wyszukiwanie.
Operowanie plikami tekstowymi i elementowymi.
Wykonywanie operacji na tekstach.
Korzystanie z podstawowych algorytmów umożliwiających wykonywanie operacji
na zbiorach.
Wykorzystywanie rekordów do projektowania baz danych.
Wykorzystywanie plików do projektowania systemu informatycznego typu baza
danych.
4. Dynamiczne struktury danych
Wskaźniki. Funkcje i procedury dynamicznego przydziału pamięci. Tworzenie
i przetwarzanie dynamicznych struktur danych, stos, kolejka, listy, drzewa.
Ćwiczenia
Posługiwanie się wskaźnikami i zmiennymi dynamicznymi.
Opracowywanie biblioteki podprogramów do operowania listami, stosami,
kolejkami, drzewami i grafami.
5. Wprowadzenie do programowania obiektowego w C++
Przypomnienie informacji o budowie i właściwościach języka programowania.
Języki obiektowe. Kompilator i edytor środowiska programistycznego języka
C++. Wielkie i małe litery. Struktura programu w języku C++. Komentarze.
Słowa kluczowe. Funkcja return(). Dyrektywa #include. Zmienne i stałe.
Funkcje wejścia/wyjścia. Operatory i wyrażenia. Instrukcje: pusta,
warunkowe, iteracyjne, sterujące przebiegiem programu. Funkcje. Funkcje
rekurencyjne. Tablice i wskaźniki. Zarządzanie pamięcią. Struktury, unie,
pola bitowe.
Ćwiczenia
Instalowanie i konfigurowanie kompilatora języka C++.
Uruchamianie środowiska C++, edycja, modyfikacja, kompilacja i wykonanie
zadanego programu.
Wykrywanie i analizowanie błędów w programach.
Dobieranie odpowiednich typów danych oraz deklarowanie stałych i zmiennych
potrzebnych do rozwiązania zadanego problemu.
Korzystanie z podstawowych funkcji wejścia/wyjścia.
Posługiwanie się specyfikatorami formatowania.
Projektowanie prostych programów obliczeniowych.
Korzystanie z operatora warunkowego przy projektowaniu wyrażeń.
Stosowanie instrukcji warunkowych i wyboru w programach.
Stosowanie instrukcji iteracyjnych.
Stosowanie różnych metod przekazywania parametrów do funkcji.
Stosowanie zmiennych statycznych i automatycznych, globalnych i lokalnych.
Manipulowanie tablicami: zamiana wierszy i kolumn (tablice dwuwymiarowe).
Porządkowanie tablic, bąbelkowe, przez wybór, quicksort.
Wyszukiwanie danych w tablicach.
Wykonywanie operacji na łańcuchach.
Stosowanie arytmetyki wskaźników.
Deklarowanie struktur i unii oraz posługiwanie się zmiennymi typu
strukturalnego.
Tworzenie, modyfikowanie i wykorzystywanie dynamicznych struktur danych do
realizacji stosów, kolejek i drzew.
6. Klasy i obiekty
Różnice pomiędzy programowaniem strukturalnym i obiektowym. Definicja
obiektu. Obiektowość jako podstawa naturalnego postrzegania świata.
Przykłady odwzorowania rzeczywistości w kategoriach obiektów. Opracowanie
obiektowego opisu przykładowego programu. Definiowanie klas. Składniki
klasy. Definiowanie obiektów. Odwoływanie się do składowych obiektu.
Hermetyzacja danych. Konstruktory i destruktory. Zagnieżdżona definicja
klasy. Przeładowanie operatorów. Przeładowanie nazw funkcji. Definiowanie
konwersji obiektów. Zaprzyjaźnione funkcje i klasy.
Ćwiczenia
Wskazywanie różnic pomiędzy podejściem strukturalnym i obiektowym do
rozwiązania danego problemu.
Opisywanie otaczającej nas rzeczywistości w kategorii obiektów.
Analizowanie obiektowe przykładowych systemów.
Definiowanie klas przykładowych obiektów.
Deklarowanie składników klas będących funkcjami oraz obiektami.
Określanie dostępu do składników klasy.
Tworzenie obiektów danych klas.
Posługiwanie się funkcjami składowymi.
Stosowanie konstruktorów i destruktorów w klasach.
Korzystanie z przeładowania operatorów oraz nazw funkcji.
Stosowanie funkcji i klas zaprzyjaźnionych w programach.
Przekształcanie wcześniej opracowanych programów w programy obiektowe.
7. Dziedziczenie i polimorfizm
Opis pojęcia „dziedziczenie". Dziedziczenie elementarne. Dziedziczenie
złożone. Funkcje wirtualne, polimorfizm. Klasy abstrakcyjne.
Ćwiczenia
Korzystanie w programach z różnego rodzaju dziedziczenia.
Przypisywanie i inicjalizacja obiektów w warunkach dziedziczenia.
Wykorzystywanie funkcji wirtualnych w programach.
Tworzenie biblioteki klas użytkownika.
Definiowanie klas do operacji na listach i drzewach.
8. Operacje wejścia/wyjściaStrumienie, operacje na strumieniach.
Podstawowe operatory. Sterowanie formatem. Manipulatory.
Ćwiczenia
Opracowywanie przykładowego programu działającego na plikach.
Wybieranie miejsca czytania lub pisania w pliku.
Projektowanie i budowanie systemu do gromadzenia i przetwarzania danych.
9. Podstawy projektowania aplikacji dla środowiska graficznego
Tworzenie projektu oraz struktury aplikacji. Zasady projektowania okna
aplikacji, ikona programu, przyciski maksymalizuj, minimalizuj. Dodawanie
podstawowych obiektów kontrolnych do okna aplikacji. Ułożenie obiektów
kontrolnych. Dołączanie zmiennych do obiektów kontrolnych. Przypisywanie
obiektom kontrolnym zasad funkcjonowania, dodawanie do aplikacji kodu
źródłowego. Predefiniowane okna dialogowe. Projektowanie własnych okien
dialogowych. Projektowanie i dodawanie menu do aplikacji.
Ćwiczenia
Tworzenie nowego projektu oraz generowanie struktury aplikacji przy
wykorzystaniu kreatora.
Modyfikowanie interfejsu aplikacji: umieszczanie przycisków sterujących,
dołączanie kodu.
Posługiwanie się podstawowymi obiektami kontrolnymi.
Projektowanie prostej aplikacji obliczeniowej.
Używanie predefiniowanych okien dialogowych i informacyjnych.
Tworzenie niestandardowych okien dialogowych aplikacji.
Dodawanie nowych zasobów menu oraz ich projektowanie.
Projektowanie menu z systemem klawiszy skrótów.
Tworzenie menu wielopoziomowego, dodawanie separatorów.
Dołączanie menu do okna aplikacji.
Dodawanie funkcji obsługujących polecenia menu.
Tworzenie menu kontekstowego.
Tworzenie prostej aplikacji z menu.
10. Projektowanie aplikacji graficznej
Interfejs urządzenia graficznego. Generowanie podstawowej struktury
aplikacji. Dodawanie możliwości graficznych, rysowanie myszką. Tworzenie
listy dostępnych czcionek. Korzystanie z czcionek.
Ćwiczenia
Korzystanie z biblioteki funkcji umożliwiających wykreślanie linii i
kształtów.
Wypełnianie narysowanych figur.
Prezentowanie graficzne wyników działania programów obliczeniowych.
Tworzenie animacji.
Posługiwanie się funkcjami umożliwiającymi rysowanie tekstu.
Zarządzanie czcionkami: tworzenie, używanie, usuwanie.
11. Projektowanie aplikacji typu baza danych
Zasady tworzenia podstawowej struktury aplikacji. Przygotowanie własnej
klasy rekordu. Podstawowe operacje wykonywane na rekordach. Obsługa operacji
zapisu i odczytu danych z poziomu aplikacji.
Ćwiczenia
Zakładanie bazy danych.
Wyszukiwanie informacji, usuwanie i dopisywanie danych.
Wykorzystywanie plików do przechowywania danych.
12. Wprowadzenie do programowania w języku Java
Narzędzia. Beta-kod i maszyna wirtualna. Porównanie języków programowania
Java i C++. Struktura programu w języku Java. Typy podstawowe. Zmienne,
operatory i instrukcje.
Ćwiczenia
Stosowanie wybranych metod przybliżonego rozwiązywania równań.
Ocenianie wpływu błędnych danych na wynik działań arytmetycznych.
Wykorzystywanie całek oznaczonych do obliczeń.
13. Obiekty i klasy w Javie
Klasa jako typ danych. Metody klasy. Konstruktory. Specyfikatory dostępu.
Dziedziczenie. Tablice. Obsługa sytuacji wyjątkowych. Instrukcje: try ...
catch, throws. Hierarchia dziedziczenia klas wyjątków.
Ćwiczenia
Projektowanie klas przykładowych obiektów.
Wykonywanie operacji na macierzach i wektorach.
Zabezpieczanie programów przed wystąpieniem błędów.
Definiowanie klasy wyjątków.
14. Aplety
Zasady projektowania apletów. Struktura apletu. Tekst w apietach. Metody
odpowiedzialne za rysowanie w aplecie. Dźwięki i animacje. Obsługa zdarzeń.
Ćwiczenia
Osadzanie przykładowych apletów w stronach internetowych.
Tworzenie prostych banerów.
Wykorzystywanie przycisków do wywoływania akcji.
Programowanie obsługi zdarzeń myszy i klawiatury.
15. Aplikacje w Javie
Okno i menu aplikacji. Grafika. Komponenty: etykiety, pola wyboru,
przyciski, listy, listy opcji, listy przewijania, pola tekstowe. Operacje
wejścia/wyjścia w Javie.
Ćwiczenia
Tworzenie okna aplikacji oraz menu.
Przedstawianie wyników działania aplikacji na wykresach.
Tworzenie graficznych gier logicznych.
Przykłady wykorzystania komponentów w aplikacjach.
Operacje na plikach.
Uwagi o realizacji
Podstawowym celem realizacji programu przedmiotu Programowanie
strukturalne i obiektowe jest kształtowanie umiejętności posługiwania się
różnymi językami programowania. Języki Pascal, C++ oraz Java zostały wybrane
jako główne języki programowania, które umożliwiają zapoznanie się z
podstawowymi konstrukcjami programowania strukturalnego oraz obiektowego,
sposobami ich działania i wykorzystania. |