SOISK - SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Tomasz Puchała

Programy przedmiotów informatycznych

Programy przedmiotów informatycznych:
 
Program kursu –Administracja serwerami WWW
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
Cele kształcenia:
            Celem nauczania jest zapoznanie studentów z mechanizmami instalacji, konfiguracji i zarządzania serwerami WWW a także uczulenie ich na problemy dotyczące bezpieczeństwa sieci związane usługami www. Znajomość tych zagadnień będzie przydatna w przyszłej pracy zawodowej oraz poszerzy horyzonty związane z wiedzą na temat serwerów sieciowych.
Treści nauczania:
Ćwiczenia:
Serwery WWW na przykładzie programu Apache w systemie Linux.
1.      Instalacja
-          kompilacja ze źródeł
-          instalacja za pomocą menadżerów pakietów (*.rpm)
-          lokalizacja plików programu
-          sprawdzanie poprawności instalacji
2.      Konfiguracja
-          budowa plików konfiguracyjnych
-          tryby pracy serwera (standalone, inetd)
-          ustalanie parametrów pracy ‘daemona’ WWW
-          ustalanie parametrów sieciowych serwera
-          konta WWW użytkowników
-          konfiguracja parametrów kont użytkowników i katalogów systemowych
-          serwery wirtualne
3Usługi dodatkowe
-          CGI
-          Java – serwlety
-          PHP
-          bazy danych
4.      Bezpieczeństwo
-          zasady i sposób umieszczania treści na serwerach WWW
-          ograniczanie dostępu na poziomie serwera – pliki .htaccess
-          zasady tworzenia i umieszczania w systemie aplikacji: CGI, PHP, Java
-          bezpieczne połączenia – SSL (Secure Socket Layer)
-          lokalizacja i budowa logów systemowych
-          narzędzia do analizy logów
-          kopie zapasowe (backup)
-          inne narzędzia wspomagające diagnozowanie problemów dotyczących serwera
Uwagi o realizacji programu:
W czasie ćwiczeń należy zwrócić szczególną uwagę na nabycie przez studentów praktycznych umiejętności z zakresu obsługi serwerów WWW i rozwiązywania mogących się pojawiać problemów.
Literatura:
1         ”Apache – administracja serwera” Mark Arnold , Clint Miller , Jeff D. Almeida , Read Me , 2002
2         ”Apache - przewodnik encyklopedyczny” Ben Laurie , Peter Laurie , Helion , 2000
3         ”Serwery sieciowe Linuksa” Craig Hunt, MIKOM, 2000
4         “Java Server Pages. Leksykon kieszonkowy” Hans Bergsten , Helion , 2002
5         ”Hakerzy. Aplikacje webowe” Joel Scambray , Mike Shema , Translator , 2002
6         ”CGI” Rafe Coburn , Helion , 1998
7         ”Ćwiczenia z ... – Język PHP” Marek Bisz , Mikom , 2001
1.       http://httpd.apache.org – Apache Server ProjectJames Gosling, Bill Joy, Guy Steele “The Java Language Specyfication”
1         Bruce Eckel „Thinking in Java” Second Edition
2         Elliotte Rusty Harold „JAVA Programowanie sieciowe” Wydawnictwo RM, Warszawa 2001
3         Barry Boone „Java dla programistów c i c++” WNT, Warszawa 1998
 

Program kursu – Administracja i integracja systemów operacyjnych
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
            Przedmiot ma na celu zapoznanie studentów z zagadnieniaami pracy administratora systemu operacyjnego oraz zagadnień związanych ze współpracą różnych systemów operacyjnych.
Treści nauczania:
Wykłady:
1.       Zadania administratora systemu.
2.       Zaplanowanie instalacji, konfiguracja “własnego”serwera linuksowego. Narzędzia administartora systemu. Bezpieczeństwo. Zarządzanie zasobami systemowymi. Uprawnienia użytkowników. Automatyzacja zadań, skrypty. Drukarki i podsystem drukowania. Konfiguracja i kompilacja jądra. Kompilacja modułów. Konfiguracja Unix-a w sieci.
3.       Konfiguracja wybranych usług serwerowych, serwery sshd, sftp, ftp. Konfiguracja poczty. Linux jako proxy. Maskarada. NFS, NIS. Zabezpieczanie Linuxa w sieci, tcp-wrapper, ipchains, iptables, tripwire. Wybrane minidystrybucje Linuxa, LRP.
4.       Współpraca Linuxa z innymi systemami. Samba.
5.       Instalacja i konfiguracja wybranego serwera WINDOWS (NT lub 2000). Narzędzia administratora. Zarządzanie siecią, omówienie używanych protokółów. Konfiguracja wybranych usług.
6.       Zarządzanie zasobami. Uprawnienia użytkowników. Bezpieczeństwo. Serwer Proxy. Serwer Exange. Współpraca Windows z Unixem i NetWare.
7.       Przygotowanie administratora na wypadek wystąpienia sytuacji ktytycznej, zabezpieczeniedanych i wzorcowej konfiguracji systemu. Metody szybkiego odtwarzania systemów po awarii.
Ćwiczenia:
1.       Wybór systemu. Wady i zalety.
2.       Instalacja i konfiguracja wybranego serwera Linuxowego.
3.       Instalacja i konfiguracja wybranych usług sieciowych.
4.       Skrypty systemowe, shell, perl.
5.       Wyszukiwanie informacji o “dziurach” w bezpieczeństwie, łatanie systemu, kompilacja “własnego” kernela.
6.       Zapory ogniowe. Własne skrypty iptables lub ipchains.
7.       Współpraca linuxa z innym systemem operacyjnym.
Uwagi o realizacji programu ćwiczeń:
Ponieważ prace systemowe są bardzo pracochłonne i często wywołują zupełnie nieoczekiwane “sytuacje” ćwiczenia powinny być zorganizowane w postaci pięciu 6-cio godzinnych pracowni.
Literatura:
1.       O'Reilly “Unix- Adminstracja Systemu”,Wydawnictwo RM , 1997
2.       R.Scrimger “Biblia TCP/IP” , Helion, 2002
3.       O'Reilly “Linux Kernel”,Wydawnictwo RM , 2001
4.       J.Lee “Hakerzy w Linuksie” , Wydawnictwo Translator, 2002
5.       D.Heywood “Windows NT 4 Server”,Helion ,1999
6.       T.Brown “Windows 2000 Serwer”, Helion, 2001
7.       Anonim “Internet Agresja i Ochrona ,Wydawnictwo Robomatic, 1998
8.       L.J.Arthur“Programowanie w shellu” , Wydawnictwo Mikom, 2003
 
Program kursu – Algorytmy i struktury danych
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
            Celem przedmiotu jest zapoznanie studentów z prostymi i złożonymi strukturami danych i ich reprezentacji oraz z zasadami konstruowania, zapisu i analizy algorytmów. Studenci powinni nabyć umiejętność zapisu tych algorytmów w języku programowania.
Treści nauczania:

Wykłady:
1.       Podstawowe struktury danych
-          Pojęcie typu danych
-          Typy proste (standardowe i definiowane)
-          Tablice, rekordy, zbiory i ich reprezentacja
-          Plik sekwencyjny
2.       Algorytmy
-          Pojęcie i podstawowe cechy algorytmu
-          Konstrukcja algorytmu, formy zapisu
-          Poprawność, złożoność i optymalizacja algorytmów
-          Algorytmy wyszukiwania i sortowania
-          Porównanie metod sortowania tablic i plików
-          Algorytmy rekurencyjne
3.       Dynamiczne struktury danych 
-          Rekurencyjne typy danych, dynamiczny przydział pamięci, wskaźniki
-          Stos, kolejka, lista liniowa jedno- i dwukierunkowa
-          Struktury drzewiaste (podstawowe pojęcia, definicje i operacje na drzewach binarnych)
4.       Struktury i algorytmy grafowe
- Podstawowe pojęcia i definicje
Ćwiczenia:
1.       Klasyfikacja danych, podstawowe pojęcia, definicje
2.       Tablice, rekordy – zagnieżdżanie struktur
3.       Struktury o dostępie swobodnym i sekwencyjnym; różnice w dostępie i sposobach przetwarzania
4.       Konstrukcja, zapis i analiza prostych algorytmów wyszukiwania i porządkowania
5.       Różne metody sortowania tablic i plików; analiza, ocena poprawności i złożoności; metody optymalizacji algorytmów
6.       Przykładowe algorytmy rekurencyjne; kiedy nie stosować rekurencji; algorytmy z powrotami
7.       Statyczne a dynamiczne struktury danych; rodzaje struktur dynamicznych; różnice i podobieństwa między stosem, kolejką i listą
8.       Podstawowe algorytmy przetwarzania listy jedno- i dwukierunkowej
9.       Podstawowe operacje na drzewach binarnych
10.   Analiza przeszukiwania drzewa z wstawianiem
11.   Algorytmy podstawowych operacji na strukturach grafowych.
Uwagi o realizacji programu:
Zaproponowana kolejność treści wynika z tego, że algorytm, jako metoda przetwarzania danych, powinien być poprzedzony zapoznaniem studentów z podstawowymi strukturami danych, natomiast algorytmy tworzenia i przetwarzania złożonych struktur danych wymagają rozumienia i umiejętności konstruowania i zapisu algorytmów.
Zadania wynikające z treści programowych realizowane będą w oparciu o język programowania, którego znajomość wyniesiona przez studentów z przedmiotu Wstęp do programowania, powinna zostać gruntownie poszerzona na zajęciach z tego przedmiotu.
 
Literatura:
1.       N.Wirh: Algorytmy + struktury danych = programy, WN-T, Warszawa,1980
2.       R.R.arnold, H.C.Hill, A.V.Nichols: Wprowadzenie do przetwarzania danych
3.       W.M.Turski: Struktury danych
 
 
Program kursu – Bazy danych
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
            Zapoznanie studentów z problematyką baz danych. Wykształcenie relacyjnego podejścia do problematyki gromadzenia i segregowania informacji. Nabycie umiejętności tworzenia relacyjnych baz danych w popularnych środowiskach ( Windows, Linux) oraz tworzenia zapytań SQL.

Treści nauczania:
 
Wykłady:
1. Podstawowe pojęcia z zakresu baz danych
-          tabela, pola, rekord, zapytanie
-          Zapoznanie się z działaniem bazy na przykładzie MS Access
-          Model relacyjny
-          Zgodność z rzeczywistością
-          Diagramy związków encji
-          Atrybuty encji (pola)
-          Postacie normalne
-          Klucz
-          Związki encji (relacje)
-          związek jeden-do-jeden
-          związek jeden-do-wielu
-          Przykład prawidłowego schematu relacyjnego
-          Przykład nieprawidłowego schematu relacyjnego
2.       Podstawy języka SQL
-          Typy danych
-          Tworzenie i przeglądanie tabeli
-          Modyfikowanie i usuwanie danych
-          Zapytania
-          Operatory algebraiczne na zapytaniach
Ćwiczenia:
1MS Access
-          Tabele
-          Relacje
-          Kwerendy
-          Formularze
-          Raporty
 
2Bazy danych w sieci
-          Oprogramowanie serwera na przykładzie MySQL
-          Dostęp do bazy z terminala tekstowego
-          Zarządzanie bazą
-          Uprawnienia administratora
-          Uprawnienia użytkownika
-          Tworzenie zapytań
-          Dostęp do bazy przez HTTP
-          Metoda POST
-          Metoda GET
-          Język PHP na stronach WWW
Literatura:
1.       Lech Banachowski „Bazy danych – tworzenie aplikacji”
2.       Martin Gruber „SQL”
3.       Craig Hilton, Jeff Willis „PHP3 – internetowe aplikacje bazodanowe”
4.       Dokumentacja MS Access
5.       Oraz w internecie:
6.       http://www.php.pl
http://www.wsp.krakow.pl/papers/dod_cgi/
 
Program kursu – E-biznes, tworzenie serwisów internetowych
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
-          Zaznajomienie studentów z ogólną problematyką wykorzystania przekazu elektronicznego w sferze biznesowej
-          Praktyczne zapoznanie z problematyką tworzenia serwisów internetowych dla celów biznesowych
-          Zapoznanie z problematyką bezpieczeństwa w transakcjach internetowych
Treści nauczania:
 
Wykłady:
Podstawy wykorzystania przekazu elektronicznego w zastosowaniach biznesowych.
E-biznes – elektroniczne publikacje, sposoby zarabiania na reklamie elektronicznej, zarabianie na treści.
E-marketing – badania marketingowe w Internecie, CRM – zarządzanie kontaktami z klientami.
E-commerce – sklepy internetowe, programy partnerskie, płatności w transakcjach internetowych..
Intranet i Extranet - wykorzystanie zasobów niepublicznych w prowadzeniu biznesu
Wprowadzenie do problematyki bezpieczeństwa w transakcjach Internetowych – certyfikaty cyfrowe, bezpieczne protokoły SSL i TSL.
Ćwiczenia:
Projektowanie serwisu WWW z uwzględnieniem wymagań biznesowych.
Wykorzystanie elementów dynamicznych: skryptów cgi, PHP, JavaScript i JSP w serwisach internetowych.
Tworzenie i analiza metryk dla potrzeb serwisu internetowego – IP komputera klienta, czas wizyty, zawartość pobranej strony, strony odsyłające, itp.
Literatura:
1.       Mark Norris, Steve West “e-biznes”, Wydawnictwo Komunikacji i Łączności 2001
2.       Simson Garfinkel, Gene Spafford „WWW Bezpieczeństwo i handel”, Helion 1999
 
Program kursu – Fizyka współczesna
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
Celem nauczania jest przypomnienie podstawowych praw fizyki oraz zapoznanie studentów z głównymi zagadnieniaami jakimi zajmuje się fizyka współczesna.
Treści nauczania:
Wykłady:
1.       Przedmiot zainteresowań fizyki. Wielkości fizyczne. Oddziaływania fundamentalne. Układy jednostek. Układ odniesienia. Podstawowe pojęcia fizyczne: prędkość i przyspieszenie.
2.       Prawa Newtona . Zasady zachowania (pędu, momentu pędu, energii).
3.       Pole elektryczne - wielkości charakteryzujące pole.
4.       Elementy fizyki ciała stałego. Pasmowa struktura ciał stałych. Przewodnictwo elektronowe metali. Półprzewodniki i elektroniczne elementy półprzewodnikowe. Nadprzewodnictwo. Magnetyczne i dielektryczne własności ciał stałych.
5.       Równania Maxwella.
6.       Fale elektromagnetyczne. Zjawiska falowe: dyfrakcja i interferencja.
7.       Fizyka u progu XX wieku. Odkrycie elektronu i jądra atomowego. Modele atomu Thompsona i Rutherforda.
8.       Powstanie mechaniki kwantowej. Ciało doskonale czarne, efekt fotoelektryczny, efekt Comptona, widma liniowe, model Bohra , dwoista natura promieniowania, falowe własności materii.
9.       Podstawy mechaniki kwantowej. Równanie Schroedingera. Atom wodoru. Zasada nieoznaczoności Heisenberga
10.   Elementy fizyki atomowej. Zasada Pauliego, procesy promieniste. Lasery.
11.   Elementy fizyki jądrowej i cząstek elementarnych. Jądro atomowe, promieniotwórczość naturalna, reakcja syntezy termojądrowej i reakcja rozszczepienia, cząstki i antycząstki. Model standardowy.
Ćwiczenia:
            Rozwiązywanie i omawianie podstawowych zadań z fizyki zgodnie z treściami programowymi przedstawionymi powyżej
Literatura:
1. A.K.Wróblewski, J.A.Zakrzewski „Wstęp do fizyki” T.1 PWN Warszawa 1984 r
2. R.Resnick, D.Halliday „Fizyka” T1 i T2 Wydawnictwo Naukowe PWN Warszawa 1998 r
3. R.Eisberg, R.Resnick „Fizyka kwantowa atomów, cząsteczek, ciał stałych, jąder i cząstek elementarnych” PWN Warszawa 1983 r
4. Quang Ho-Kim, Narendra Kumar, Chi-SingLam “Zaproszenie do fizyki współczesnej” Stowarzyszenie Symetria i Własności Strukturalne Poznań 1994 r
 
Program kursu – Inżynieria oprogramowania 1
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
Zaznajomienie studentów z podejściem inżynierii oprogramowania do wytwarzania, zarządzania i rozwijania
oprogramowania, student ma wynieść teoretyczną i praktyczną wiedzę odnośnie podstawowych pojęć i metod
inżynierii oprogramowania.
 
Treści nauczania:
Kryzys oprogramowania, powstanie inżynierii oprogramowania, jej definicja i cele, cechy dobrego oprogramowania, proces tworzenia oprogramowania i jego modele, modele (paradygmaty) tworzenia oprogramowania (modele cyklu życia oprogramowania),model COCOMO II, poszczególne fazy powstawania oprogramowania, miary oprogramowania, metody analizy(modelowania):
analiza strukturalna – diagramy ERD i DFD,
analiza obiektowa (język UML) – diagramy klas, przypadków użycia, interakcji, przejść stanów.
Implementacja w/w diagramów np. w języku C++. Metody projektowania oprogramowania.
 
Uwagi o realizacji programu:
Studenci powinni ugruntowywać swoją wiedzę teoretyczną, wyniesioną z wykładów, poprzez praktyczne zajęcia na ćwiczeniach, podczas których będą mieli za zadanie m.in. zamodelować np. poprzez podejście obiektowe, co najmniej jeden określony system komputerowy, przy użyciu jednego z narzędzi CASE.
 
Literatura podstawowa:
1.Grady Booch, James Rumbaugh, Ivar Jacobson, „UML przewodnik użytkownika”, McGraw-Hill 2005 
2.Andrzej Jaszkiewicz, „Inżynieria oprogramowania”, HELION 1997 
3. Roger S. Pressman, "Praktyczne podejście do inżynierii oprogramowania" oraz materiały dodatkowe Wydawnictwa Naukowo-Techniczne 2004
4. Jesse Liberty, „C++. Księga eksperta”, HELION 1999
5. Edward Yourdon, Carl Argila, „Analiza obiektowa i projektowanie. Przykłady zastosowań”, WNT 2000
 
Literatura uzupełniająca:
1. Roger S. Pressman, "Praktyczne podejście do inżynierii oprogramowania”, WydawnictwaNaukowo-Techniczne,Warszawa2002     ( wyd. angielskie wraz z materiałami dodatkowymi)
2. Ian Sommerville, „Inżynieria oprogramowania”, Wydawnictwa Naukowo-Techniczne 2003
3. Victor Shtern, „Core C++”. Inżynieria programowania”, HELION 2004
 
Program kursu – Inżynieria oprogramowania 2
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
Zaznajomienie studentów z podejściem inżynierii oprogramowania do wytwarzania, zarządzania, testowania
i rozwijania oprogramowania, student ma wynieść teoretyczną i praktyczną wiedzę odnośnie podstawowych pojęć i metod inżynierii oprogramowania.
 
Treści nauczania:
Podstawowe wiadomości o wzorcach projektowych i ich stosowaniu.
Walidacja i testowanie oprogramowania – podstawowe metody.
Ewolucja oprogramowania.
Zarządzanie konfiguracją oprogramowania.
Zarządzanie przedsięwzięciami programistycznymi.
 
 
Uwagi o realizacji programu:
Studenci powinni ugruntowywać swoją wiedzę teoretyczną, wyniesioną z wykładów, poprzez praktyczne zajęcia na ćwiczeniach, podczas których będą mieli za zadanie m.in. zastosować co najmniej jeden rodzaj wzorca
projektowego, sporządzić harmonogram prac nad wybranym systemem komputerowym, czy wykonać chociażby podstawowe czynności z zakresu testowania danego systemu.
Materiał realizowany na zajęciach dydaktycznych na tym kursie dla specjalności nauczycielskiej zawiera część
zagadnień realizowanych podczas kusru „Inżynieria oprogramowania1” oraz część zagadnień wymienionych
powyżej.
 
Literatura podstawowa:
1.Grady Booch, James Rumbaugh, Ivar Jacobson, „UML przewodnik użytkownika” , McGraw-Hill 2005 
2.Andrzej Jaszkiewicz, „Inżynieria oprogramowania”, HELION 1997 
3. Roger S. Pressman, "Praktyczne podejście do inżynierii oprogramowania" oraz materiały dodatkowe Wydawnictwa Naukowo-Techniczne 2004
4. Jesse Liberty, „C++. Księga eksperta”, HELION 1999
5. Edward Yourdon, Carl Argila, „Analiza obiektowa i projektowanie. Przykłady zastosowań”, WNT 2000
 
Literatura uzupełniająca:
1. Roger S. Pressman, "Praktyczne podejście do inżynierii oprogramowania”, WydawnictwaNaukowo-Techniczne,Warszawa2002     ( wyd. angielskie wraz z materiałami dodatkowymi)
2. Ian Sommerville, „Inżynieria oprogramowania”, Wydawnictwa Naukowo-Techniczne 2003
3. Victor Shtern, „Core C++”. Inżynieria programowania”, HELION 2004
 
Program kursu – Java – programowanie sieciowe
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
Podstawowym celem nauczania jest zapoznanie studentów ze specyfiką języka Java, oraz wykształcenie umiejętności programowania obiektowego. Dodatkowo przedmiot ten ma pozwolić na zaznajomienie studentów z problematyką programowania wielowątkowego oraz z tworzeniem oprogramowania działającego w środowisku rozproszonym.
Treści nauczania:
Wykłady:
1.       Specyfika języka Java
­          porównanie z innymi językami obiektowymi na przykładzie języka Psacal i c++
­          moel środowiska JAVA (JRE)
­          maszyna wirtualna (JVM)
2.       Typy programów w JAVIE
­          samodzielne aplikacje
­          aplety
­          serwlety
3.       Wielowątkowość
­          zagadnienia związane z wielowątkowością: synchronizacja, zakleszczenie
­          wielowątkowość z wywłaszczeniem i bez wywłaszczenia
­          priorytety wątków.
4.       Komunikacja sieciowa programów
­          model klient-serwer
­          RMI
­          środowisko programowania rozproszonego CORBA.
Ćwiczenia:
1.       Tworzenie programów w zintegrowanym środowisku programistycznym (na przykład w środowisku Sun ONE Studio).
2.       Programowanie obiektowe w Javie
­          klasy
­          interfejsy
­          abstrakcyjne klasy bazowe
­          dziedziczenie
­          agregacja
3.       Podstawowe typy kontenerowe w Javie
­          tablice
­          kolekcje
­          listy
­          zbiory
­          mapy
4.       Obsługa błędów – wyjątki
­          standardowe wyjątki w Javie
­          tworzenie i obsługa własnych wyjątków
5.       Aplety.
­          komunikacja pomiędzy apletem i serwerem
­          metody sieciowe klasy ‘java.applet.Applet’
6.       Gniazda, komunikacja przy użyciu gniazd, tworzenie gniazd typu klient i serwer
7.       Wątki
­          klasa ‘Thread’
­          interfejs ‘Runnable’
­          synchronizacja wątków – słowo kluczowe ‘synchronized’
­          ustawianie priorytetów wątków.
8.       Zdalne wywoływanie metod – RMI.
­          tworzenie zdalnych obiektów
­          uzyskiwanie referencji do zdalnego obiektu
­          wywoływanie metod zdalnego obiektu.
(Opcjonalnie)
9.       CORBA. IDL – język opisu interfejsu
­          tworzenie oraz rejestrowanie obiektów
­          komunikacja pomiędzy rozproszonymi obiektami
Literatura:
4         James Gosling, Bill Joy, Guy Steele “The Java Language Specyfication”
5         Bruce Eckel „Thinking in Java” Second Edition
6         Elliotte Rusty Harold „JAVA Programowanie sieciowe” Wydawnictwo RM, Warszawa 2001
7         Barry Boone „Java dla programistów c i c++” WNT, Warszawa 1998
 
Program kursu – Języki hipertekstowe i tworzenie stron WWW
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
Cele kształcenia:
            W ramach przedmiotu studenci poznają podstawy języka HTML Uczą się budowy stron internetowych, z uwzględnieniem estetyki stron i zasad etykiety sieciowej. Poznają nowoczesne techniki i narzędzia do tworzenia i projektowania witryn www.
Treści nauczania:
Wykłady:
-         Rodzina języków SGML – definiowanie znaczników, parsing, translacja
-         Narzędzia do tworzenia i wyświetlania stron WWW, elementy etykiety sieciowej,
-         Zasady projektowania stron – wymogi czytelności, estetyki, wartości merytorycznej,
-         HTML jako przykład języka opartego o znaczniki – zasady składni, rola atrybutów
-         Struktura strony w języku HTML.
-         Znaczniki formatowania tekstu, wstawianie obiektów graficznych i multimedialnych.
-         Wykorzystanie hiperłączy, listy i wykazy.
-         Tworzenie tabel, tabela jako element formatowania układu strony.
-         Wykorzystanie kaskadowych arkuszy stylów.
-         Zastosowanie ramek i formularzy.
-         Narzędzia do tworzenia stron WWW – edytory, programy graficzne.
-         Sposoby publikowania stron i umieszczania ich na serwerze,
-         Problemy praw autorskich wykorzystywanych plików (np. graficznych),
-         Użyteczne dodatki – liczniki wizyt, księgi gości – wykorzystanie skryptów CGI i Java script oraz appletów Java,
-         Standardy języka, uzyskiwanie certyfikatu W3C.

Ćwiczenia:
            Struktura strony w języku HTML, budowa prostej strony, znaczniki i atrybuty formatujące, dodawanie odsyłaczy do innych plików w obrębie tego samego katalogu oraz do innych stron już opublikowanych, wstawianie grafiki, zasady łączenia grafiki i tekstu, tworzenie list i spisów treści, wykorzystanie tabel i ramek, ankieta jako przykład wykorzystania formularza, formatowanie strony za pomocą kaskadowych arkuszy stylów (CSS), redagowanie informacji o stronie – znacznik <META>, problem kodowania polskich znaków, publikowanie strony.
Uwagi o realizacji programu:
            W czasie wykładów zakłada się prezentację szerokiej gamy zagadnień dotyczących problematyki tworzenia stron WWW, podczas gdy ćwiczenia mają służyć zdobyciu praktycznych umiejętności związanych z tworzeniem i publikowaniem stron internetowych. Na zakończenie zajęć studenci przygotowują własną stronę internetową, która stanowi podstawę zaliczenia przedmiotu. Najciekawsze prace mogą zostać opublikowane na stronach KIiMK.
Literatura:
·          E.Castro, Po prostu HTML 4. Wyd. Helion Gliwice, 2003
·          Ch.Musciano, B.Kennedy, HTML – Podrecznik uzytkownika, Wyd. RM, Warszawa 1999
·          J.Burns, HTML Goodies, Wyd. Mikom, Warszawa 1999
·          J.Rouyer, Dynamiczny HTML Magia, Wyd. Translator, Warszawa 1999
·          S.North, XML dla każdego, Wyd. Helion Gliwice 2000,
M.Nowakowski, PHP & MySQL dla webmastera, Wyd. Translator, Warszawa 2001
 
Program kursu – Języki skryptowe
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
Przedstawienie przeglądu języków skryptowych. Przedstawienie zastosowań i możliwości. Bardziej szczegółowe omówienie wybranych języków. Przygotowanie studentów do samodzielne pisanie przez studentów skryptów w wybranych językach. 
 
Treści nauczania:
Wykłady:
Zastosowanie języków skryptowych, przegląd języków skryptowych, skrypty w bash-u, przykłady różnic między powłokami Unix-a, zaawansowane narzędzia używane to programowania w powłoce takie jak awk , sed , zastosowania skryptów "shellowych", język Perl , skrypty w Perlu, wyrażenia regularne , zastosowanie Perl-a do CGI, omówienie i przykłady skryptów w PHP i python-ie
 
Ćwiczenia:
skrypty w shell-u , wykorzystanie awk i sed , skrypty w Perl-u , wykorzystanie do
CGI, przykłady skryptów w wybranym innym języku (np. PHP, python - można też przedstawić inne). Warunkiem zaliczenia jest samodzielne wykonanie skryptów w 2-ch językach.
 
Uwagi o realizacji programu:  Program zakłada ,że studenci w trakcie studiów spotkali się już z zastosowaniami języków skryptowych zwłaszcza z pisaniem w powłoce Unixa, PHP czy PERL-em. Bardzo różny może być też poziom zaawansowania grupy. Umożliwia się więc dużą elestyczność prowadzącego zajęcia w podziale czasu na ćwiczenia z poszczególnych języków, zakładając jednocześnie ,że dwa z języków będzie potraktowane jako "wiodące" i wykona się w nich skrypty zaliczeniowe. 
 
Literatura:
R. Schwartz "Perl - wprowadzenie"
C.Pierce " Poznaj Perl w 24 godziny"
Arthur, Burns: "UNIX Programowanie w shellu"
http://www.republika.pl/dief/main.html - programowanie w shell-u: BASH
http://www.republika.pl/wieluk/ - kurs Perla Wiercioch Łukasz
M.Zandstra "Poznaj PHP4 w 24 godziny"
 

Program kursu – Metody numeryczne
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
Zapoznanie studentów z wybranymi algorytmami numerycznymi. Celem ćwiczeń jest rozwiązywanie zadań numerycznych, zapis algorytmów w językach wysokiego poziomu
lub arkuszu kalkulacyjnym.
Treści nauczania:
Wykłady, ćwiczenia:
1.       Zadanie i algorytm numeryczny
-                                                                       Arytmetyka i reprezentacja   liczb zmiennopozycyjnych
-                                                                       Poprawność i stabilność algorytmu
-                                                                       Propagacja   błędów
2.    Interpolacja, extrapolacja i aproksymacja
-                                                                       Metody Lagrange'a i Newtona
-                                                                       Metoda funkcji sklejanych
-                                                                       Aproksymacja średniokwadratowa
3.    Rozwiązywanie równań nieliniowych
-                                                                       Metoda połowienia, siecznych, Newtona
-                                                                       Obliczanie zer wielomianów
-                                                                       Układy równań nieliniowych - metoda Netowna-Raphsona
4.    Algebra liniowa
-                                                                       Metoda eliminacji Gausa-Jordana
-                                                                       Rozkład LU
-                                                                       Wyznacznik i macierz odwrotna
5.    Całkowanie i różniczkowanie numeryczne
-                                                                       Różniczkowanie numeryczne
-                                                                       Całkowanie numeryczne metodą trapezów, kwadratur Gaussa
-                                                                       Obliczanie całek wielowymiarowych metodą Monte-Carlo
6.    Równania różniczkowe
-                                                                       Metody różnicowe jednokrokowe: Eulera, Rungego-Kutty
-                                                                       Metody różnicowe wielokrokowe liniowe: Adamsa-Bashfortha,
-                                                                       Metody extrapolujaco-interpolujace (predictor-corrector)
-                                                                       Stabilność, błędy, dokładność
7.    Zagadnieniae własne
-                                                                       Metoda potęgowa
-                                                                       Metoda Jacobiego
Literatura:
1.                 Z. Fortuna, B. Macukow, J. Wąsowski, Metody numeryczne, Seria Podręczniki akademickie: Elektronika, Informatyka, Telekomunikacja, WNT, Warszawa 1993.
2.                 J. i M. Jankowscy, Przegląd metod i algorytmów numerycznych, WNT, Warszawa 1991.
3.                 Numerical Recipies Software "Numerical Recipies in C: the Art of Scientific Computing".
4.                 Ake Bjorck, Germund Dahlquist "Metody numeryczne", WP 1987
5.                 Linki:
-                                http://www.nr.com/ : strona Numerical Recipies, książka "Numerical Recipies in C" w formacie ps i pdf on-line.
-                                http://www.netlib.org/: składnica oprogramowania numerycznego(głownie Fortran, C), artykuły, dokumentacja, benchmarki itd.
-                                ftp://sunsite.icm.edu.pl/pub/gnu/gsl/ : GNU Scientific Library
 

Program kursu – Multimedia i ich zastosowania
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
Cele kształcenia:
            Celem przedmiotu jest przygotowanie studentów do samodzielnego projektowania i tworzenia edukacyjnych programów multimedialnych.
Treści nauczania:
Treści nauczania:
Wykłady:
1.       Podstawowe formaty plików dźwiękowych
2.       Obróbka i odtwarzanie plików dźwiękowych
3.       Metody kompresji dźwięku
4.       Proste sekwencje video; narzędzia do tworzenia i odtwarzania tego typu plików
5.       Transmisja w systemie RealVideo, videokonferencja (zasady przygotowania i prowadzenia)
6.       Ochrona prawna (prawa autorskie) w odniesieniu do plików dźwiękowych i filmowych
7.       Multimedia w szkolnym procesie dydaktycznym
Ćwiczenia:
1.         Tworzenie, przetwarzanie, przechowywanie plików dźwiękowych
2.         Pliki typu video – tworzenie, modyfikacja, przechowywanie, przesyłanie
3.         Prezentacja multimedialna jako szkolna pomoc dydaktyczna
4.         Opracowywanie (projektowanie i realizacja) prezentacji multimedialnej (np. w programie MS Power Point); także za pomocą profesjonalnych narzędzi typu Flash
 
Uwagi o realizacji programu:
Podstawą zaliczenia powinien być samodzielnie zaprojektowany i opracowany edukacyjny program multimedialny (np. prezentacja w MS PowerPoint);
Literatura:
1.       Sokół R., MP3 i DivX – ćwiczenia praktyczne, Wyd. Helion, Gliwice 2002
2.       Ozer J., Tworzenie filmów w Windows XP, wyd. Helion, Gliwice 2005
3.       Altman R.B., Po prostu PowerPoint 2002/XP PL, Wyd. Helion, Gliwice 2002
4.       Danowski B., Komputerowy montaż wideo. Ćwiczenia praktyczne, Wyd. Helion, Gliwice 2003
5.       Nasiłowski D., Jakościowe aspekty kompresji obrazu i dźwięku, Wyd. Mikom, Warszawa 2004
 
Program kursu – Oprogramowanie użytkowe i podstawowe usługi internetowe
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
            Celem nauczania tego przedmiotu jest zapoznanie studentów z zaawansowanymi możliwościami najpopularniejszych programów pozwalających na edycję i przetwarzanie tekstów oraz z arkuszem kalkulacyjnym. Studenci poznają przykłady wykorzystania programów użytkowych na lekcjach np. języka polskiego, matematyki, geografii, ekonomii oraz podstawowe usługi internetowe.
Treści nauczania:
Wykład:
-          rodzaje programów (shareware, freeware itp.), licencje, ustawa o ochronie praw autorskich
-          wykorzystywanie oprogramowania użytkowego w nauczaniu przedmiotów szkolnych
-          Internet - podstawowe pojęcia (światowa pajęczyna, adres URL, strona, portal, witryna, przeglądarka)
-          e-learning, zasoby edukacyjne sieci Internet (portale edukacyjne dla uczniów i nauczycieli, witryny szkół, publikacje nauczycieli w sieci)
-          wykorzystanie Internetu w biznesie – e-commerce, e-biznes
 

Ćwiczenia:
1.      Edytor tekstu (Word)
Zakłada się znajomość poniższych zagadnień:
-          tworzenie i formatowanie prostych dokumentów tekstowych (formatowanie czcionki i akapitu, definiowanie i wykorzystanie tabulatorów, podział tekstu na kolumny, obramowanie i cieniowanie tekstu, listy wypunktowane i numerowane)
-          osadzanie i łączenie obiektów (np. rysunków) - oraz ich formatowanie
-          tworzenie i formatowanie tabel
Program zajęć obejmuje:
     -    tworzenie formularzy elektronicznych
-          formatowanie złożonych dokumentów (definiowanie stylów, automatyczne tworzenie spisów treści, przypisy, hiperłącza, różne numery na tej samej stronie)
-          tworzenie szablonów dokumentów ze zredagowanymi nagłówkami i stopkami
-          korespondencja seryjna
-          tworzenie makr
-          przydatne narzędzia edytorskie (poprawianie błędów za pomocą autokorekty, dzielenie wyrazów, używanie twardej spacji i miękkiego entera, sugerowanie poprawek i wstawianie komentarzy, itp)
-          ustawienia opcji programu Word; automatyczne dodawanie i usuwanie poleceń z menu, definiowanie skrótów klawiaturowych
-          wstawianie i formatowanie pól
-          liczące tabele – wstawianie formuł
-          dodatkowe funkcje programu Word (ToolsCalculate i in.)
-          bazy danych w Wordzie – sortowanie, filtrowanie, formularze
2.      Arkusz kalkulacyjny Excel
Zakłada się znajomość poniższych zagadnień:
-          podstawowe pojęcia - komórka, arkusz, skoroszyt, adresowanie komórek
-          wypełnianie i formatowanie komórek
-          dostosowywanie wyglądu arkusza do własnych potrzeb
-          tworzenie tabeli danych – obramowania
-          wpisywanie formuł, adresowanie względne
Program zajęć obejmuje:
-          przykłady stosowania adresowania bezwzględnego i mieszanego (np. tabliczka mnożenia)
-          wykorzystanie funkcji wbudowanych (statystyczne, matematyczne, jeżeli, licz.jeżeli, wyszukaj.pionowo, funkcje daty i czasu i in.); zastosowania funkcji Solver
-          tworzenie i modyfikacja wykresów, wykres funkcji kwadratowej, funkcji trygonometrycznych na podstawie danych tabelarycznych, możliwość zmiany współczynników funkcji
-          zastosowania nietypowych wykresów (wykresy o dwóch osiach i mieszanym typie, wykres – mapa, wykres bąbelkowy, tworzenie własnych typów wykresów)
-          arkusz kalkulacyjny jako baza danych (sortowanie, filtrowanie danych, tworzenie formularza bazy danych); tabele przestawne
-          obliczenia odwołujące się do wielu arkuszy i do wielu skoroszytów, jednoczesne wypełnianie wielu arkuszy, niestandardowy obszar roboczy
-          formularze elektroniczne, tworzenie makropoleceń w Excelu.
 
3.      Podstawowe usługi internetowe
Zakłada się znajomość poniższych zagadnień:
-          poczta elektroniczna (program pocztowy, nadawanie i odczytywanie listów, odpowiedzi, przekazywanie listów następnym adresatom, książka adresowa, zakładanie konta e-mail)
-          wyszukiwanie informacji (formułowanie zapytań, wyszukiwanie według zadanego adresu)
-          listy dyskusyjne, chat, talk
Program zajęć obejmuje:
-          telnet – przykłady zastosowania
-          konfigurowanie programu pocztowego i przeglądarki
-          transfer plików, FTP (kopiowanie, download)
-          usuwanie dialerów, firewall
Uwagi o realizacji programu:
Podział godzinowy na realizację poszczególnych modułów zależy od znajomości przez studentów wymienionych zagadnień (którą to znajomość należy zbadać)
 
Literatura:
1.       B. Kutzler, Introduction to DERIVE FOR WINDOWS, Linz, 1996.
2.       M. Kopertowska, Zaawansowane możliwości edytora Word 2000, Mikom, Warszawa 2000.
3.       M. Kopertowska, Zaawansowane możliwości arkusza Excel 2000, Mikom, Warszawa 2000.
4.       J. Dąbrowski, Derive wersja 2.53 niezwykły nauczyciel matematyki, Help, Warszawa 1993.
5.       Czasopisma: Komputer Świat, CHIP i in.
 
 
Program kursu – Organizacja i architektura komputerów
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
            Przedstawienie podstawowych wiadomości na temat organizacji i architektury komputerów z punktu widzenia rozwiązań logicznych.
Treści nauczania:
Wykłady:
1.       Pojęcia organizacji komputera (Computer Organization) i architektury komputera (Computer Atchitecture).
2.       Systemy liczbowe i kody uzupełnieniowe. Elementy algebry Boole’a. Minimalizacja funkcji logicznych: metoda przekształceń formalnych, metoda tablic Karnaugha, metoda Quine’a-McCluskeya.
3.       Analiza i projektowanie układów kombinacyjnych: bramki logiczne (AND, OR, NOT, NAND, NOR, XOR), układy arytmetyczne (półsumator, sumator), kodery, dekodery, multipleksery, demultipleksery, pamięci ROM, programowalne układy logiczne PLD (Programmable Logic Device).
4.       Analiza i projektowanie synchronicznych układów sekwencyjnych (przerzutniki typu SR, D
 i JK), rejestry, liczniki.
5.       Jednostka centralna CPU (Central Processing Unit), procesor i jego model programowy.
6.       Lista rozkazów.
7.       Projektowanie prostej przykładowej jednostki arytmetyczno logicznej ALU (Arithmetic-Logic Unit). Jendnostka sterująca (Control Unit): sterowanie sprzętowe (układowe) (Hardwired Control) i sterowanie mikroprogramowane (Microprogrammed Control).
8.       Typy i formaty danych.
9.       Projektowanie (organizacja i architektura) prostego przykładowego komputera ze sterowaniem sprzętowym (układowym) – model von Neumanna.
10.   Projektowanie (organizacja i architektura) prostego przykładowego komputera ze sterowaniem mikroprogramowanym.
11.   Przetwarzanie potokowe (Pipelined Datapath). Komputer CISC (Complex Instruction Set Computers) i RISC (Reduced Instruction Set Computers).
12.   Język symboliczny (Assembly Language) i asembler (Assembler).
13.   Arytmetyka stałoprzecinkowa. Arytmetyka zmiennoprzecinkowa.
14.   Hierarchia pamięci, stronicowanie pamięci.
15.   Urządzenia wejścia-wyjścia.
16.   Przerwania.
17.   Systemy wieloprocesorowe.
Ćwiczenia:
            Wyrabianie umiejętności praktycznych z zakresu tematyki objętej wykładem.
Literatura:
1.       W. Stallings, Organizacja i architektura komputerów, WNT, 1996.
2.       B.S. Chalk, Organizacja i architektura komputerów, WNT, 1998.
3.       M. Morris Mano, C. Kime, Logic and computer design fundamentals, Prentice-Hall, 2001.
4.       M. Morris Mano, Digital design, Prentcie Hall, 2002.
 
Program kursu – Podstawy elektroniki
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
Zasadniczym celem nauczania przedmiotu jest przekazanie studentom wiedzy teoretycznej oraz praktycznej dotyczącej budowy podstawowych przyrządów i układów elektronicznych. Przekazana wiedza powinna umożliwić słuchaczom przestudiowanie i zrozumienie zasady działania takich układów elektronicznych, z którymi mogą się oni zetknąć w praktyce zawodowej. Dotyczy to zwłaszcza szeroko rozumianych układów wejścia-wyjścia wykorzystywanych we współczesnych technologiach komputerowych. Wiedza oraz nabyte umiejętności praktyczne powinny dopomóc studentom w samodzielnym projektowaniu i uruchamianiu wybranych układów.
Treści nauczania:
Wykłady:
1.       Elementy elektroniczne, podstawowe przyrządy półprzewodnikowe, dioda, tranzystor bipolarny, unipolarny.
2.       Fizyczne podstawy działania przyrządów półprzewodnikowych.
3.       Podstawowe układy elektroniczne: wzmacniacze, wzmacniacze operacyjne, stabilizatory napięcia i prądu, generatory, filtry, modulatory i demodulatory.
4.       Analogowe układy scalone i ich parametry.
5.       Podstawy miernictwa elektrycznego, przetworniki pomiarowe, wzorce.
6.       Podstawowe rodzaje przetworników A/C i C/A.
7.       Sensory, halotrony,
8.       Elementy optoelektroniczne, układy CCD.
9.       Wybrane układy impulsowe.
10.   Cyfrowe układy scalone małej skali integracji, bramki logiczne, przerzutniki, parametry układów wykonanych w technologiach TTL, MOS, CMOS.
Ćwiczenia:
            Zajęcia odbywają się w odpowiednio wyposażonym laboratorium w grupach 2-osobowych. Przykładowy zastaw ćwiczeń można streścić następująco:
1.       Elementy elektroniczne dioda, tranzystor bipolarny, unipolarny, pomiary wybranych charakterystyk.
2.       Wzmacniacze operacyjne, wzmacniacz idealny i rzeczywisty, podstawowe układy pracy, filtry, pomiary charakterystyk przejściowych.
3.       Zasilacze, stabilizatory napięcia i prądu, pomiary wybranych parametrów (impedancja wewnętrzna, zależności temperaturowe).
4.       Miernictwo elektryczne, pomiary podstawowych wielkości.
5.       Przetworniki A/C i C/A, pomiary charakterystyk przejściowych
6.       Halotrony, czujniki przesunięcia pomiary błędów przetwarzania.
7.       Elementy optoelektroniczne, elementy CCD. podstawowe układy pracy, pomiary wybranych parametrów.
8.       Cyfrowe układy scalone małej skali integracji wykonane w różnych technologiach, pomiary charakterystyk, obciążalność, czasy propagacji, zależności temperaturowe.
9.       Wzmacniacze operacyjne, sprzężenie zwrotne, stabilność układów.
10.   Podstawowe układy wykorzystujące wzmacniacze operacyjne
11.   Synteza wzmacniaczy o zadanych parametrach, integratory, filtry, proste układy regulacji.
Uwagi o realizacji programu:
Każdorazowo przed zajęciami laboratoryjnymi jest sprawdzany stopień przygotowania się studentów do odpowiedniego ćwiczenia.
 
Literatura:
1.       1 J.Baranowski, Z. Nosal, Układy elektroniczne, cz. 1. Warszawa: WNT 1994.
2.       Filipkowski, Układy elektroniczne analogowe i cyfrowe, WNT, W-wa 1995
3.       J. Hennel, Podstawy elektroniki półprzewodnikowej, WNT, W-wa 1995
4.       W. Majewski, Układy logiczne, WNT, W-wa 1995
5.       M.Rusek, J.Pasierbiński, Układy elektroniczne w pytaniach i odpowiedziach, WNT, Warszawa 1997
6.       M. Nadachowski, Z. Kulka, Analogowe układy scalone, WKŁ, 1979
7.       J. Pienkoś, J. Turczyński, Układy TTL w systemach cyfrowych, WKŁ, W-wa 1980
 
Program kursu – Podstawy elektrotechniki
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
Zasadniczym celem nauczania przedmiotu jest przekazanie studentom wiedzy oraz wybranych umiejętności praktycznych dotyczących teorii obwodów elektrycznych i jej zastosowań. Nabyte wiadomości powinny dać podstawę studentom do analizy wybranych obwodów elektrycznych. Należy położyć nacisk na taki opis obwodów elektrycznych, by z jego pomocą była możliwa analiza i synteza układów elektronicznych współpracujących z współczesnymi systemami komputerowych (zasilacze, układy wejściowe, wzmacniacze, proste układy automatyki).

Treści nauczania:
Wykłady:
1.       Podstawowe pojęcia teorii obwodów.
2.       Elementy R,L,C.
3.       Źródła napięciowe i prądowe.
4.       Prawa Ohma, Kirchhofa, twierdzenie Thevenina, Nortona, twierdzenie o superpozycji.
5.       Grafowe metody analizy obwodów: metoda węzłowa i oczkowa.
6.       Obwody prądu sinusoidalnie zmienego, analiza z użyciem płaszczyzny zespolonej.
7.       Metody operatorowe, przekształcenie Laplace’a i Fouriera.
8.       Przebiegi przejściowe i stany ustalone.
9.       Analiza sygnału w dziedzinie czasu i częstotliwości, charakterystyki częstotliwościowe.
10.   Wybrane metody analizy układów z elementami nieliniowymi.
11.   Przykładowe pakiety do komputerowej analizy obwodów elektrycznych.
Ćwiczenia:
            Zajęcia odbywają się w odpowiednio wyposażonym laboratorium. Zestaw ćwiczeń powinien zawierać:
1.       Rezonans w obwodach RLC, pomiar charakterystyk.
2.       Stany nieustalone w obwodach z elementami RLC, odpowiedzi skokowe i impulsowe, pomiary.
3.       Pakiety do komputerowej analizy obwodów elektrycznych - indywidualna praca nad własnym projektem.
4.       Prawa Ohma, Kirchhofa, twierdzenie Thevenina, Nortona. - rozwiązywanie zadań.
5.       Metody węzłowa i oczkowa w obwodach prądu stałego i sinusoidalnego - zadania.
6.       Metody operatorowe (przekształcenie Laplace’a) w analizie stanów przejściowych - zadania.
Uwagi o realizacji programu:
Zajęcia laboratoryjne mogą odbywać się w grupach 2-osobowych. Przed zajęciami jest sprawdzany stopień przygotowania się studentów do odpowiedniego ćwiczenia. Praca z oprogramowaniem do komputerowej analizy obwodów - w pracowni mikrokomputerowej, jeden student przy stanowisku.
Literatura:
1 Bolkowski S.: Elektrotechnika teoretyczna, t. 1 i 2. Warszawa: WNT 1998.
2 Krakowski M.: Elektrotechnika teoretyczna. T. 1-2. Warszawa: PWN 1995.
3 Chua L.O., Lin P.M.: Komputerowa analiza układów elektronicznych. Warszawa: WNT 1981.
 
Program kursu – Podstawy informatyki
(dla studiów stacjonarnych pierwszego stopnia)
 
Cele kształcenia:
            Teoria informatyki jest obecnie in statu nascendi. Mimo braku jednorodnej teorii w rozumieniu dyscyplin ścisłych takich jak matematyka czy fizyka można się jednak pokusić o przedstawienie elementów teorii informatyki w jej poszczególnych aspektach. Temu ma służyć prezentowany przedmiot.
Treści nauczania:
Wykłady:
1.      Podstawy asemantycznej teorii informacji: ilościowy aspekt informacji, miara niepewności, podstawowe twierdzenie teorii informacji, jednostki pomiaru ilości informacji, niepewność maksymalna, redundancja i jej rola.
2.       Teoria kodowania: łącze informacyjne, formalna definicja kodowania, podstawowe własności kodów, definicja sprawności kodu, sprawność a zwięzłość, krytyczna ocena metod kodowania Shannona, Fano i Huffmana. Metody zabezpieczania kodów, reguła parzystości, odległość Hamminga i jej znaczenie, kod paskowy. Systemy kodowania binarnego, oktalnego i heksydecymalnego liczb..
3.       Języki i gramatyki formalne: gramatyki generacyjne i redukcyjne, definicja formalna i opisowa gramatyki generacyjnej, rodzaje gramatyk generacyjnych, a klasyfikacja języków formalnych. Hierarchia Chomsky’ego.
4.       Automaty a akcepatacja i translacja języków formalnych: rodzaje automatów i ich możliwości akceptacji przykładowych języków formalnych. Automaty z wyjściem, a translacja. Parser i lexer jako elementy kompilatora.
5.       Modele maszyn cyfrowych:
-          maszyna Turinga: osprzęt i oprogramowanie, możliwości maszyny Turinga, uniwersalność maszyny Turinga, minimalna uniwersalna maszyna Turinga, przykłady zastosowań,
-          przykłądowa maszyna cyfrowa von Neumanna (PMC): struktura i schemat blokowy, struktura słowa maszynowego i jej konsekwencje. Arytmetyka binarna. Siec działań PMC. Przykładowy program w języku maszyny PMC.
6.       Elementy algorytmiki:
-          zadanie algorytmiczne, struktura algorytmów,
-          poprawność częściowa i całkowita algorytmów, metody dowodzenia (metoda Floyda i metoda zbieżnika) oraz przykłady zastosowań, współczesne tendencje w badaniu poprawności algorytmów, poprawność algorytmów a dowodzenie twierdzeń matematycznych (na przykładzie tw. o czterech barwach i tw. Keplera o upakowaniiu kul).
-          Złożoność czasowa i pamięciowa algorytmów, typy złożoności czasowej, optymalizacja algorytmów, problemy zamknięte i luka algorytmiczna, ograniczenia górne i dolne na złożoność czasową algorytmów, złożoność czasowa a złożoność pamięciowa.
-          problemy obliczalności i rozstzrygalności algorytmów, przykłady algorytmów, problemy P, NP. i NP.-zupełne, teza Churcha-Turinga-Markowa i jej konsekwencje.
Ćwiczenia:
            Wyrabianie umiejętności praktycznych z zakresu tematyki objętej wykładem.
Literatura:
1.       C.E. Shannon „Raboty po tieorii informacyji i kibiernmetiki:, Moskwa 1963.
2.       N. Abramson „Teoria informacji i kodowania” PWN, Warszawa 1969.
3.       S. Kowalski i A.W. Mostowski „Teoria automatów i lingwistyka matematyczna” PWN, warszawa 1979.
4.       J.E. Hopcroft i J.D. Ullman „Wprowadzenie do teorii automatów, języków i obliczeń” PWN, Warszawa 1994.
D. Harel „Rzecz o istocie informatyki – algorytmika” WN-T, Warszawa 1992.
 
 
Program kursu – Podstawy modelowania i symulacji
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
            Nauczenie podstaw modelowania i symulacji komputerowej systemów ciągłych i dyskretnych.
Treści nauczania:
Wykłady:
1.       Schemat organizacji badań symulacyjnych.
2.       Modele systemów ciągłych (równania różniczkowo-całkowe, równania stanu, transmitancja), rozwiązywanie równań (układów równań) różniczkowo-całkowych.
3.       Symulacja systemów ciągłych (przykładowe modele układów mechanicznych, elektrycznych, ekonomicznych, sterowania)
4.       Symulacja systemów dyskretnych (przykładowe modele systemów obsługi).
Ćwiczenia:
            Wyrabianie umiejętności praktycznych z zakresu tematyki objętej wykładem.
Literatura:
1.            J. Banks, J. Carson, B. Nelson, D. Nicol, Discrete-event system simulation, Prentice-Hall, 2001 J.
2.            Kuraś, J. Lembas, M. Skomorowski, Wstęp do symulacji komputerowej systemów ciągłych, skrypt wydany przez Wydawnictwo Uniwersytetu Jagiellońskiego, 1995
 
Program kursu – Pracownia dyplomowa - projekt
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
Pracownia dyplomowa służy zapoznaniu się z osiągnięciami nauki w zakresie obejmującym tematykę pracy licencjackiej, jak również prowadzeniu przez studenta własnej pracy badawczej pod opieką promotora. W trakcie zajęć student przygotowuje swoją pracę licencjacką.
 

Treści nauczania:
Ćwiczenia:
1.       Analiza tematu jako problemu.
2.        Literatura przedmiotu i jej zakres.
3.       Szukanie literatury przedmiotu.
4.       Ustalenie problemu i adekwatnej metody badań.
5.       Przeprowadzenie badań.
6.       Opracowywanie i interpretacja wyników badań.
7.       Prezentacja wyników pracy naukowej.
8.       Zasady i formy pisarstwa naukowego.
9.       Układ rzeczowy pracy naukowej.
10.   Stosowanie właściwej terminologii naukowej.
11.   Układ graficzny pracy naukowej.
12.   Elementy estetyki pracy naukowej.
 
Literatura:
1.       Apanowicz J. : Metodologia nauk. - Toruń : Dom Organizatora TNOiK, 2003. - 189 s.
2.       Orczyk J. : Zarys metodyki pracy naukowej. Warszawa : PWN, 1988. - 87 s.
3.       Zenderowski R. : Praca magisterska : jak pisać i obronić? wskazówki metodologiczne - Warszawa : CeDeWu, [2004]. - 110, XIX s.
4.       Krajewski M. : Vademecum autora i wydawcy prac naukowych. - Włocławek : Wyższa Szkoła Humanistyczno-Ekonomiczna, 2001. - 282 s.
 
Program kursu – Programowanie obiektowe
(dla studiów stacjonarnych pierwszego stopnia)
 
Cele kształcenia:
            Zapoznanie z obiektowo orientowalną techniką programowania. Umiejętność tworzenia programów w języku C++. Język C++ wspiera projektowanie i programowanie OO oraz nadaje się do tworzenia dowolnego typu oprogramowania. Jest wykorzystywany do tworzenia aplikacji dla zagadnień związanych m.in. z edukacją, informatyką, techniką, diagnostyką, zabawą (gry komputerowe).
Treści nauczania:
Wykłady:
1.       Wybrane zagadnieniaa z zakresu metod programowania,
2.       Paradygmaty programowania (programowanie liniowe, proceduralne, modularne, obiektowe, uogólnione),
3.       Języki wspierające programowanie obiektowe: Delphi, JAVA, Smalltalk,
4.       Język C ++
-         typy i operatory,
-         funkcje,
-         preprocesor,
-         abstrakcyjne struktury danych,
-         klasy: interfejs, składowe i metody,
-         obsługa wyjątków,
-         przeciążenie operatora,
-         konwersje,
-         wzorce,
-         dziedziczenie,
-         polimorfizm,
5.       Fazy projektowania systemu informatycznego, metodologia projektowania obiektowego;
Ćwiczenia:
Programowanie w języku C++ w środowisku Windows, Unix (tryb tekstowy), grafika;
-          typy, deklaracje i definicje
-          typy fundamentalne, pochodne, wyliczeniowe, nazywanie zmiennych, stałe, problem zasięgu, komentarze,
-          strumienie we/wy
-          wyrażenia i instrukcje
-          operatory arytmetyczne, logiczne, bitowe, pozostałe operatory, l-wyrażenia, priorytety i łączność operatorów,
-          funkcje
-          zwracanie rezultatu przez funkcję, przesyłanie argumentów do funkcji, funkcje inline, przeładowanie nazwy funkcji, funkcje biblioteczne,
-          tablice
-          przekazywanie tablicy do funkcji, tablice znakowe, wielowymiarowe,
-          wskaźniki
-          w tablicy, w argumentach funkcji, do komórek pamięci, rezerwacja obszarów pamięci (new, delete), stałe wskaźniki, tablice wskaźników, wskaźnik do funkcji,
-          obsługa błędów
-          złożone typy danych
-          pliki źródłowe i programy
-          kompilacja, łączenie plików, pliki nagłówkowe, organizacja,
-          klasy
-          składowe klasy, kontrola dostępu, metody, this, obiekty klasy, konstruktor, destruktor,
-          konwersje
-          przeładowanie operatorów
-          klasy pochodne
-          klasy pochodne, hierarchie klas, klasy abstrakcyjne,
-          wzorce
-          obsługa wyjątków
-          obsługa błędów, grupowanie, wyłapywanie wyjątków,
-          dziedziczenie
-          polimorfizm
Uwagi o realizacji programu:
            Ćwiczenia odbywają się w pracowni komputerowej. Słuchacze pogłębiają wiedzę poznaną na wykładach wykorzystując ją praktycznie do analizy a potem tworzenia programów o coraz większym stopniu złożenia.
Pierwszy semestr daje ogólną wiedzę i umiejętności do projektowania i pisania prostych aplikacji. W drugim semestrze studenci wykorzystują zaawansowane techniki programowania.
Na zakończenie każdego semestru oddają projekt, który stanowi podstawę zaliczenia.
 
Literatura:
1.       B. Stroustrup, "Język C++", Warszawa : Wydaw. Naukowo-Techniczne, 2002,
2.       J. Grębosz, " Symfonia C++", Kraków : Oficyna Kallimach, 1999,
3.       P. Coad, E. Yourdon „Analiza Obiektowa”, READ ME , Warszawa, 1994,
4.       E. Yourdon, C. Argila „Analiza obiektowa i projektowanie: przykłady zastosowań” Wydawnictwa Naukowo-Techniczne, Warszawa, 2000,
5.       P. Coad, E. Yourdon „Projektowanie obiektowe”, READ ME , Warszawa, 1994,
6.       P. J. Plauger, " Biblioteka standardowa C++", Warszawa : Wydaw. Nauk.-Techniczne, 1997,
7.       J. Adams, S. Leestma, L. Nyhoff, " C++ : an introduction to computing", Englewood Cliffs : Prentice Hall, 1995,
8.       J. Alger, " C++ for real programmers", Boston : AP Professional, 1998,
9.       Drozdek, " Data structures and algorithms in C++", Boston : PWS Publishing Company, 1996,
10. Graham M. Seed, " An introduction to object-oriented programming in C++ : with applications in computer graphics", London : Springer, 1996.
 
 

Program kursu – Programowanie równoległe i rozproszone
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Treści nauczania:
¾      Programowanie sekwencyjne a współbieżne, przykłady współbieżności.
¾      Problemy programowania współbieżnego: wzajemne wykluczanie, semafory, monitor, komunikacja międzyprocesowa (IPC), zdalne wywoływanie procedur(RPC).
¾      Modele komunikacji, spójność danych, awarie, synchronizacja i problem określenia czasu.
¾      Obliczeniowe systemy równoległe i ich oprogramowanie: MPI, PVM, OpenMP.
¾      Rozległe systemy rozproszone(BOINC)
¾      Symulacja wzajemnego wykluczania realizowana w Concurrent Pascal Bena Ari,
¾      Tworzenie procesów potomnych(UNIX),
¾      Komunikacja międzyprocesowa przy pomocy sygnałów, łączy nazwanych i nienazwanych,
¾      Kolejki.
¾      Realizacja prostego układu klient-serwer przy pomocy kolejek oraz socket(UDP).
¾      Proste zadanie obliczeniowe z użyciem MPI.
 
Literatura:
 
1.       M. Ben-Ari, "Podstawy programowania współbieżnego", WNT 1989.
2.       M. Ben-Ari, "Podstawyprogramowania współbieżnego i rozproszonego", WNT, 1996.
3.       Z. Weiss, T. Gruźlewski, "Programowanie współbieżne i rozproszone w przykładach i zadaniach", WNT, 1993.
4.       A.S.Tanenbaum, M van Steeen, Systemy rozproszone. WNT, 2006
 
Program kursu – Projektowanie aplikacji internetowych
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Wykład
 
-          Założenia i ramy technologii J2EE
-          Podstawy administracji serwera aplikacyjnego Boss, serwera bazy danych PostgreSQL, wdrożenie aplikacji internetowej
-          Narzędzia wspomagające programowanie (Eclipse, Ant)
-          Cykl życia servletu, Obsługa formularzy, nagłówka żądań, sesji
-          Java server pages, zastosowanie JavaBean w dokumentach JSP
-          Wykorzystania gotowych bibliotek spoza standardowego API J2EE i JAVA
-          Wykorzystanie JDBC do połączenia z bazą
-          Tworzenie warstwy biznesowej aplikacji w technologii EJB 3.0 (session EJB, entity EJB, message driven EJB)
-          Aplikacje / applety JAVA korzystające z usług udostępnianych przez aplikację internetową
 
Ćwiczenia
 
-          Praktyczna realizacja zagadnień poruszanych na wykładzie.
 

Literatura
 
Podstawowa:
 
¾      „Java Servlet i Java Server Pages” Marty Hall, Larry Brown, Helion, 2006
¾      “Enterprise JavaBeans 3.0” Bill Burke, Richard Monson – Haefel, 2007
 
 
Uzupełniająca:
 
¾      „Boss 4.0 Podręcznik administratora” Marc Fleury, Scott Stark, Norman Richards, Helion, 2006
¾      „Bazy danych i PostgreSQL” Richard Stones, Neil Matthew, Helion, 2002
¾      http://www.roseindia.net/jboss/buildingwebapplicationwithant.shtml
 
Program kursu – Sieci komputerowe
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
Cele kształcenia:
            Przedmiot ma na celu wprowadzenie studentów w problematykę organizacji sieci komputerowych, administrowania serwerami sieciowymi, ze szczególnym uwzględnieniem rozwiązań zastosowanych w systemach Windows NT (lub 2000 czy XP) i Linux.
Treści nauczania:
Wykłady:
1.    Pojęcie sieci komputerowej. Organizacja sieci globalnych – Internet: historia, budowa i rozwój.
2.    Klasyfikacja sieci komputerowych – sieci lokalne i rozległe. Topologie sieci komputerowych.
3.    Łącza komunikacyjne, rodzaje okablowania: kable koncentryczne i skrętki, łącza telefoniczne komutowane i dzierżawione, światłowody, fale radiowe. Sieć Ethernet i ATM, standardy i technologie.
4.    Zasady adresowania w Internecie, adresy IP i nazwy domenowe, Ipv4 i Ipv6. Protokoły: ICMP, UDP, TCP, działanie routingu.
5.    Oprzyrządowanie sieciowe: repeater, bridge, switch, router.
6.    Ogólna charakterystyka systemów sieciowych (wprowadzenie do zagadnień serwerów sieciowych), sieciowe systemy operacyjne.
7.    Serwery usług sieciowych – omówienie podstawowych usług sieciowych – mail, news, ftp, telnet, ssh, WWW, proxy.
8.    Współpraca różnych systemów operacyjnych, udostępnianie zasobów i usług innym komputerom. Sieci wirtualne.
9.    Zarządzanie sieciami i bezpieczeństwo pracy w sieci.
10.Zastosowania sieci komputerowych.
11.Perspektywy rozwoju sieci lokalnych i Internetu.
Ćwiczenia:
1. Poznanie zasad funkcjonowania podstawowych elementów Internetu.
2. Klasyfikacja sieci komputerowych – sieci lokalne i rozległe. Przykłady topologii sieci komputerowych.
3. Zapoznanie z różnicami w działaniu łączy komunikacyjnych, rodzajami okablowań. Działanie sieci Ethernet i ATM.
4. Zasady adresowania w Internecie, adresy IP i nazwy domenowe, Ipv4 i Ipv6. Protokoły: ICMP, UDP, TCP, przykłady działania routingu.
5. Oprzyrządowanie sieciowe: repeater, bridge, switch, router. Konfigurowanie i testowanie elementów sieci.
6. Intranet uczelniany, okablowanie strukturalne.
7. Ogólna charakterystyka systemów sieciowych (wprowadzenie do zagadnień serwerów sieciowych), instalowanie sieciowych systemów operacyjnych.
8. Instalacja serwerów usług sieciowych – omówienie podstawowych usług sieciowych – mail, news, ftp, telnet, ssh, WWW, proxy.
9. Współpraca różnych systemów operacyjnych, udostępnianie zasobów i usług innym komputerom. Organizacja sieci wirtualnych.
10. Zarządzanie sieciami i bezpieczeństwo pracy w sieci.
11. Przykładowe zastosowania sieci komputerowych. Systemy transmisji głosu i danych: VoData, VoIP, VoFR, VoATM.

Uwagi o realizacji programu:
Do pełnej realizacji programu należy przygotować odpowiednią ilość sieciowego i komputerowego, wskazany byłoby posiadanie przez Uczelnię oprogramowania do symulacyjnej konfiguracji sieci komputerowych.
 
Literatura:
1.       Soprtack M. “Sieci komputerowe - księga eksperta", Helion, Gliwice 1999r.
2.       Shafer Kevin “ Wielka księga sieci", Wydawnictwo PLJ Warszawa 1999r.
3.       Tom Sheldon, “Wielka Encyklopedia sieci komputerowych", Wydawnictwo Robomatic, Wrocław 1996r.
4.       Nunemacher Greg “Przewodnik po sieciach lokalnych" Mikom, Warszawa 1996r.
5.       Zieliński Bartłomiej “Bezprzewodowe sieci komputerowe", Helion, Gliwice 2000r.
6.       Gibbs M. “Sieci komputerowe - biblia użytkownika", Oficyna Wydawnicza README 1994r.
7.       Nowicki K. Woźniak J. “Sieci LAN, MAN, WAN - protokoły komunikacyjne", Wydawnictwo Postępu Technicznego, Kraków 1998r.
8.       S. Bolkowski, “Podstawy elektrotechniki", Warszawa 1982.
9.       Czasopismo NetWorld wydanie specjalne: “Sieci światłowodowe", IDG Poland S. A. Warszawa 2001 r.
10.   Praca zbiorowa “Vademecum teleinformatyka", IDG Poland S.A. Warszawa 1999r.
11.   Praca Zbiorowa “Vademecum teleinformatyka II" IDG Poland S.A. Warszawa 2002r.
12.   Schat S. “Zrozumieć sieci lokalne", INTERSOFTLAND, Warszawa 1994r.
13.   Tanenbaun A. “Sieci komputerowe", WNT Warszawa 1998r.
14.   Buchanan Wiliam “Sieci komputerowe", Wydawnictwo Komunikacji i Łączności, Warszawa 1999r.
15.   Lary L. Peterson, Bruce S. Dovie "Sieci komputerowe - podejście systemowe", Mikom, Warszawa 1999r.
16.   www.networld.pl
 
Program kursu – Systemy operacyjne
(dla studiów stacjonarnych pierwszego stopnia)
 
Cele kształcenia:
            Przedmiot ma na celu zapoznanie studentów z problematyką systemów operacyjnych oraz zapewnić przegląd występujących na rynku systemów wraz z ich wadami i zaletami.
Treści nauczania:
Wykłady:
1.Struktura oprogramowania komputera.
2. Klasyfikacja systemów operacyjnych.
3. Zadania systemu operacyjnego: zarządzanie   zasobami   komputera, zarządzanie procesami-pojęcie procesu, szeregowanie; obsługa systemu plików, interpretacja komend użytkownika.
4. Budowa systemu operacyjnego: warstwa komunikacji ze sprzętem , jądro systemu, procesor poleceń (powłoka - shell).
5. Zarządzanie pamięcią, pamięć wirtualna.
6. Podsystem wejścia/wyjścia.
7. Zagadnieniaa związane z  nadzorowaniem pracy procesów: ochrona pamięci,
podział czasu,   uprawnienia użytkowników, dzielony dostęp do plików, kolejkowanie wydruków, konflikty zasobowe, koordynacja dostępu procesów do klawiatury i ekranu - ekrany wirtualne, systemy okien. Procesy systemowe , "demony".
8. System operacyjny Linux: przegląd dystrybucji Linux-a, “mapa” systemu, shell, polecenia, programowanie w shell-u, system plików, instalacja i konfiguracja Linuxa, Xwindows, narzędzia. Przegląd innych systemów Unixowych.
9. Systemy operacujne produkcji Microsoft: systemy serwerowe i dla stacji roboczej.
“mapa” systemu,   instalacja i konfiguracja, rejestr, systemy plików, narzędzia, DOS/linia poleceń jako narzędzie   administratora / użytkownika Windows.
10. Rozproszone systemy operacyjne.
Ćwiczenia:
1.Podstawowe zagadnieniaa pracy w wybranym systemie Microsoft-u
2.Praca z tekstowymi poleceniami. Programy wsadowe.
3.Przykadowe problemy zwiąne z konfiguracją.
4.System Unixopodobny.
5.Powłoka Linux-a.
6.Pisanie skryptów w shell-u Unixa.
7.X-server i managery okien.

Uwagi o realizacji programu ćwiczeń:
Realizacja programu ćwiczeń może być traktowana w przypadku tego przedmiotu w sposób bardzo elastyczny, dopasowany do możliwości grupy. Bardziej zaawansowanym studentom można zaproponować pisanie własnych fragmentów otwartych systemów operacyjnych lub ćwiczebne modyfikacje istniejących.
 
Literatura:
1.       A.Silberschatz “ Podstawy systemów operacyjnych” Wydawnictwo Naukowo-Techniczne, 2002
2.       M.Stalings “Organizacja i architektura systemu komputerowego” , Wydawnictwo Naukowo-Techniczne, 2000
3.       P.Silvester “System Operacyjny UNIX” , Wydawnictwo Naukowo-Techniczne, 1991
4.       M.Bach “Budowa systemu operacyjnego UNIX”, Wydawnictwo Naukowo-Techniczne ,1995
5.       D. Solomon “MS Windows 2000 od środka”,Helion, 2003
6.       R.Scrimger “Biblia TCP/IP” , Helion, 2002
7.       O'Reilly “Linux Kernel”,Wydawnictwo RM , 2001
8.       J.Rafa “DOS dla dociekliwych”
9.       D.Heywood “Windows NT 4 Server”,Helion ,1999
10.   T.Brown “Windows 2000 Serwer”, Helion, 2001
11.   L.J.Arthur“Programowanie w shellu” , Wydawnictwo Mikom, 2003
 
 
Program kursu – Sztuczna inteligencja 1
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Wykład
 
-          Podstawowe pojęcia sztucznej inteligencji
-          Automatyczne dowodzenie twierdzeń, Prolog.
-          Rozumienie języka naturalnego.
-          Metody reprezentacji i pozyskiwania wiedzy, data mining.
-          Metody przetwarzania i rozpoznawanie obrazów (pattern recognition)
-          Sieciach neuronowe, modele sieci, algorytmy uczenia, przykłady zastosowań
-          Algorytmy ewolucyjne
-          Sztuczne życie
 
Ćwiczenia
 
-          Praktyczna realizacja zagadnień poruszanych na wykładzie.
 
 
Literatura
 
Podstawowa:
 
„Sieci neuronowe, algorytmy genetyczne i systemy rozmyte” Danuta Rutkowska, Leszek Piliński, Leszek Rutkowski, Wydawnictwo Naukowo – Techniczne PWN, Warszawa 1997
„Sieci neuronowe w ujęciu algorytmicznym” Stanisław Osowski, Wydawnictwo Naukowo – Techniczne, Warszawa 1996
„Praktyka analizy obrazu”, Leszek Wojnar, Krzysztof J. Kurzydłowski, Janusz Szala, Kraków 2002
„Sieci neuronowe” Ryszard Tadeusiewicz, Akademicka Oficyna Wydaw. RM, 1993.
(http://winntbg.bg.agh.edu.pl/skrypty/0001/main.html)
 
Uzupełniająca:
 
http://homepages.inf.ed.ac.uk/rbf/HIPR2/hipr_top.htm
 

Program kursu – Sztuczna inteligencja 2
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Wykład
 
-          Podstawowe pojęcia inżynierii wiedzy.
-          Wnioskowanie dedukcyjne, indukcyjne, probabilistyczne, rozmyte, oparte o współczynniki pewności.
-          Systemy decyzyjne oraz wspomagające podejmowanie decyzji.
-          Zastosowania systemów ekspertowych, automatyczna diagnostyka medyczna, zarządzanie przedsiębiorstwem, edukacja.
-          Wybrane algorytmy przeszukiwania heurystycznego
 
Ćwiczenia
 
-          Praktyczna realizacja zagadnień poruszanych na wykładzie.
 
Literatura
„Regułowo – modelowe systemy ekspertowe” Antoni Niederliński, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice 2006
 „Sieci neuronowe, algorytmy genetyczne i systemy rozmyte” Danuta Rutkowska, Leszek Piliński, Leszek Rutkowski, Wydawnictwo Naukowo – Techniczne PWN, Warszawa 1997
„Sieci neuronowe” Ryszard Tadeusiewicz, Akademicka Oficyna Wydaw. RM, 1993.
(http://winntbg.bg.agh.edu.pl/skrypty/0001/main.html)
 
Program kursu – Techniki programowania
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
            Zapoznanie studentów z pojęciami związanymi z programowaniem w języku C. Studenci powinni nabyć umiejętność konstruowania algorytmów i programowania ich w tym języku.
Treści nauczania:
5.       Wybrane zagadnieniaa z zakresu metod programowania,
6.       Język C
-          funkcje,
-          preprocesor,
-          typy, deklaracje i definicje
-          typy fundamentalne, pochodne, wyliczeniowe, nazywanie zmiennych, stałe, problem zasięgu, komentarze,
-          wyrażenia i instrukcje
-          operatory arytmetyczne, logiczne, bitowe, pozostałe operatory, l-wyrażenia, priorytety i łączność operatorów,
-          funkcje
-          zwracanie rezultatu przez funkcję, tablice
-          przekazywanie tablicy do funkcji, tablice znakowe, wielowymiarowe,
-          wskaźniki
-          w tablicy, w argumentach funkcji, do komórek pamięci, rezerwacja obszarów pamięci, stałe wskaźniki, tablice wskaźników, wskaźnik do funkcji,
-          obsługa błędów
-          złożone typy danych
-          pliki źródłowe i programy
-          kompilacja, łączenie plików, pliki nagłówkowe, organizacja,
-           
Literatura:
B. W. Kernighan, D. M. Ritchie – Język C, Wydawnictwo Naukowo Techniczne, Warszawa 1988,
B. W. Kernighan, D. M. Ritchie – Język Ansi C, Wydawnictwo Naukowo Techniczne, Warszawa 2004,
 
 
Program kursu – Wstęp do programowania
(dla studiów stacjonarnych pierwszego stopnia)
 
 
Cele kształcenia:
            Zapoznanie studentów z pojęciami związanymi z programowaniem. Studenci powinni nabyć umiejętność konstruowania prostych algorytmów i programowania ich w języku Pascal. Zajęcia stanowią wstęp do dalszych studiów nad projektowaniem i tworzeniem aplikacji w językach niskiego i wysokiego poziomu.
Treści nauczania:
Wykłady:
1.       Informatyka i jej zakres problemowy,programowanie.
2.       Pojęcia: język programowania, język maszynowy, kompilacja.
3.       Projektowanie, analiza i poprawność prostych programów.
4.       Praktyczne uwagi o dobrym programowaniu.
5.       Języki programowania niskiego i wysokiego poziomu.
6.       Notacja, kompilatory, składnia i semantyka.
7.       Wprowadzenie do Pascala. Instrukcje sterujące, proste i strukturalne typy danych (typy skalarne, tablice, rekordy i pliki), ich implementacja, operacje na strukturach danych, funkcje i procedury, rekurencja, struktura programu;
8.       Przedstawienie idei programowania strukturalnego i obiektowego w środowisku Delphi.
Ćwiczenia:
1.       Analiza prostych programów i śledzenie ich wykonania.
2.       Programowanie strukturalne. Przegląd konstrukcji języka Pascal:
·         formuły i wyrażenia logiczne,
·         typy danych,
·         instrukcje proste i złożone,
·         instrukcje warunkowe i iteracyjne,
·         instrukcje wejścia i wyjścia,
·         procedury i funkcje,
·         rekurencja,
·         pliki,
·         grafika w TP,
·         typ wskaźnikowy.
Uwagi o realizacji programu:
            Projektowanie i analiza stopniowo coraz trudniejszych algorytmów daje podstawę do nauki programowania. Projekt aplikacji w asemblerze, następnej w Pascalu, dowód poprawności, dokumentacja powinny być wymaganym minimum na zaliczenie tego przedmiotu.
Literatura:
1. Niklaus Wirth „Algorytmy + struktury danych = programy” Wydawnictwa Naukowo-Techniczne, Warszawa (2000),
2. Suad Alagić, Michael A. Arbib  „Projektowanie programów poprawnych i dobrze zbudowanych” Wydawnictwa Naukowo-Techniczne, Warszawa (1982),
3. Brian W. Kernighan, P.J. Plauger „Narzędzia programistyczne w Pascalu” Wydawnictwa Naukowo-Techniczne, Warszawa (1989),
4. M. Iglewski, J. Madey, S. Matwin „Pascal” Wydawnictwa Naukowo-Techniczne, Warszawa (1986),
5. A. Daniluk „ABC Delphi 6” Helion, Gliwice (2002),
6. M. McKelvy „Delphi 2 Korepetytor” Wydawnictwo PLJ, Warszawa (1997);
7. A. Marciniak, Turbo Pascal 7.0 - cz. I i II - z elementami programowania. Wydawnictwo Nakom
8. W. Porębski, Pascal - Wprowadzenie do programowania, Wydawnictwo HELP
 
 

Program kursu – Zabezpieczanie systemów komputerowych
(dla studiów stacjonarnych i niestacjonarnych pierwszego stopnia)
 
Cele kształcenia:
            Przedmiot ma na celu wprowadzenie studentów w problematykę zabezpieczania systemów komputerowych, ze szczególnym uwzględnieniem: rozbudowy systemów komputerowych zwiększające bezpieczeństwo bezawaryjnej pracy, przeciwdziałania programom destrukcyjnym, szyfrowania informacji.
Treści nauczania:
Wykłady:
1.    Metody projektowania systemów komputerowych zwiększające bezpieczeństwo bezawaryjnej pracy. Mirroring dysków, serwerów, urządzenia podtrzymujące zasilanie.
2.    Programy destruktywne: wirusy, konie trojańskie, robaki, klasyfikacja, działanie, przegląd dostępnych metod obrony. Bomby pocztowe. Ataki DOS. Włamania.
3.    Zarządzanie sieciami w zakresie bezpieczeństwa pracy. Firewalling, NAP/IP-Masquerade.
4.    Szyfrowanie danych i połączeń sieciowych - oprogramowanie, algorytmy. Sprzętowe zabezpieczenia komputerów.
Ćwiczenia:
1.    Projektowania systemów komputerowych zwiększające bezpieczeństwo bezawaryjnej pracy. Mirroring dysków, serwerów, urządzenia podtrzymujące zasilanie.
2.    Programy destruktywne: wirusy, konie trojańskie, robaki, klasyfikacja, działanie, przegląd dostępnych metod obrony. Bomby pocztowe. Ataki DOS. Włamania.
3.    Zarządzanie sieciami w zakresie bezpieczeństwa pracy. Firewalling, NAP/IP-Masquerade.
4.    Szyfrowanie danych i połączeń sieciowych - oprogramowanie, algorytmy. Sprzętowe zabezpieczenia komputerów.
 
Literatura:
1.    "Internet Agresja i ochrona" wyd. Robomatic SC , autor anonimowy
2.    "Linux - bezpieczeństwo serwerów" M.D.Bauer
3.    "Apache - Agresja i Ochrona" wyd. Robomatic SC , autor anonimowy
4.    "Hakerzy w Linuxie" - James Lee , wyd. Translator SC.
 
 
Program kursu - Dydaktyka informatyki 1  
(sem 4 )45 godzin
 
 
CELE NAUCZANIA:
-         zapoznanie z zagadnieniami dydaktyki ogólnej
-         zapoznanie z podstawami programowymi informatyki
-         zapoznanie z budową programu nauczania
-         zapoznanie z zatwierdzonymi programami nauczania informatyki dla szkół podstawowych
-         omówienie zagadnienia „programowanie w edukacji szkolnej”
-         omówienie aspektów pracy nauczyciela informatyki oraz wychowawcy klasowego
 
 
1.      Wykład – 15 godzin
 
-         zagadnienia dydaktyki ogólnej
-         omówienie podstaw programowych informatyki dla szkoły podstawowej, gimnazjum i szkól ponadgimnazjalnych
-         omówienie przykładowego programu nauczania informatyki dla szkoły podstawowej z uwzględnieniem budowy programu
-         przedstawienie zagadnień związanych z nauczaniem programowania oraz wyborem pierwszego języka programowania – elementy języka LOGO
-         omówienie zajęć praktycznych w szkole
 
 
2.      Ćwiczenia audytoryjne – 20 godzin
 
-         omówienie przez słuchaczy programów nauczania
-         praktyczne ćwiczenia w programowaniu w języku LOGO
 
 
3.      Ćwiczenia praktyczne w szkole – 10 godzin
 
-         zapoznanie z pracą szkoły
-         hospitacja lekcji informatyki prowadzonych przez nauczyciela w szkole podstawowej
-         czynny udział w omawianiu hospitowanych lekcji
-         obserwacja pracy wybranych uczniów i przedstawienie wniosków
 
Literatura
1.       Elementy informatyki – poradnik metodyczny dla nauczyciela, pod red. M.M.Sysły, Wyd. Naukowe PWN, Warszawa, 1997;
2.       Metodyka nauczania informatyki w szkole, pod red. Stanisława Juszczyka, Wyd. Adam Marszałek, Toruń 2001
3.       Podstawy Logo - LOGO dla Windows – KOMENIUSZ, Adam Marcak, Internet
 
 
Program kursu - Dydaktyka informatyki 2  
(sem 5 ) 60 godzin
 
 
CELE NAUCZANIA – zdobycie przez słuchaczy umiejętności:
-         opracowania scenariuszy lekcji informatyki z odpowiednio dobranymi metodami nauczania
-         przygotowania pytań i testów kontrolnych dla uczniów
-         przygotowania testów ewaluacyjnych z przeprowadzonych zagadnień
-         dokonania oceny podręcznika z informatyki
-         przeprowadzenie wybranej lekcji informatyki w szkole
-         znajomość zagadnień związanych z dydaktyką szczegółową
 
 
2.      Wykład – 30 godzin
 
-         zagadnienia dydaktyki szczegółowej
-         budowa scenariusza lekcji informatyki
-          pytania i testy kontrolne dla uczniów
-          testy ewaluacyjne z przeprowadzonych zagadnień
-         kryteria oceny podręcznika z informatyki
 
4.      Ćwiczenia laboratoryjne – 20 godzin
 
-         omówienie przykładowego programu nauczania informatyki w gimnazjum
-         omówienie przez słuchaczy przygotowanych konspektów lekcji oraz przeprowadzenie symulacji lekcji
 
 
5.      Ćwiczenia praktyczne w szkole – 10 godzin
 
-         hospitacja lekcji informatyki prowadzonych przez nauczyciela w dimnazjum
-         czynny udział w omawianiu hospitowanych lekcji
-         obserwacja pracy wybranych uczniów i przedstawienie wniosków
 
Literatura
4.       http://www.men.waw.pl/
5.       Pomiar wyników kształcenia, Bolesław Niemierko, WSiP, Warszawa, 1999
6.       Komputer w edukacji – podstawowe problemy technologii informacyjnej, Bolesław Siemienicki, Wyd. Adam Marszałek, Toruń, 1998
7.       Program „Nowa Szkoła”. Materiały dla trenerów, CODN.
 
 
Praktyka zawodowa z zakresu informatyki
 i zajęć opiekuńczo-wychowawczych
w gimnazjum   (sem 5 )
34 godz.( 24 informatyka, w tym 10 prowadzonych,
               10 opiek – wych., w tym 5 prowadzonych)
(kolejnych 11 tygodni semestru, 1 dni robocze w tygodniu)
 
CELE NAUCZANIA
-         Zastosowanie wiadomości z dydaktyki informatyki w praktyce szkolnej – w gimnazjum
-         Zapoznanie się z pracą wychowawcy
 
 
TRESCI NAUCZANIA
-         Hospitowanie i omawianie lekcji informatyki prowadzonych przez nauczyciela
-         Przygotowanie konspektów lekcji i prowadzenie wg nich lekcji informatyki
-         Hospitowanie i omawianie lekcji prowadzonych przez kolegów
-         Ewaluacja osiągnięć uczniów, kontrola i ocena w procesie nauczania-uczenia się informatyki
-         Uczestnictwo w lekcjach wychowawczych oraz zajęciach pozalekcyjnych
 
Praktyka zawodowa z zakresu informatyki
 i zajęć opiekuńczo-wychowawczych
w szkole podstawowej   (sem 5 )
30 godzin
w tym 10 godz. prowadzonych
(pierwsze 4 tygodnie semestru, 2 dni robocze w tygodniu)
 
CELE NAUCZANIA
-         Zastosowanie wiadomości z dydaktyki informatyki w praktyce szkolnej
-         Zapoznanie się z pracą wychowawcy
 
 
TRESCI NAUCZANIA
-         Hospitowanie i omawianie lekcji informatyki prowadzonych przez nauczyciela
-         Przygotowanie konspektów lekcji i prowadzenie wg nich lekcji informatyki
-         Hospitowanie i omawianie lekcji prowadzonych przez kolegów
-         Ewaluacja osiągnięć uczniów, kontrola i ocena w procesie nauczania-uczenia się informatyki

Praktyka zawodowa z zakresu informatyki
i zajęć opiekuńczo-wychowawczych
w szkole podstawowej lub w gimnazjum   (sem 6 )
36 godz.( 26 informatyka, w tym 15 prowadzonych,
               10 opiek –wych., w tym 5 prowadzonych)
(pierwsze 6 tygodnie semestru, 2 dni robocze w tygodniu)
 
CELE NAUCZANIA
-         Zastosowanie wiadomości z dydaktyki informatyki w praktyce szkolnej –
w gimnazjum
-         Zapoznanie się z pracą wychowawcy
 
 
TRESCI NAUCZANIA
 
-         Hospitowanie i omawianie lekcji informatyki prowadzonych przez nauczyciela
-         Umiejętność zastosowania poznanej teorii metodycznej w nauczaniu informatyki w szkole podstawowej lub gimnazjum,
-         Poznanie praktycznych aspektów nauczania informatyki,
-         Przygotowanie konspektów lekcji i prowadzenie wg nich lekcji informatyki
-         Hospitowanie i omawianie lekcji prowadzonych przez kolegów
-         Ewaluacja osiągnięć uczniów, kontrola i ocena w procesie nauczania-uczenia się informatyki
-         Uczestnictwo w lekcjach wychowawczych oraz zajęciach pozalekcyjnych
-         Poznanie pracy wychowawcy
-         Analiza warunków pracy nauczycieli, w tym pracy pedagogicznej i wychowawczej