Program studiów - Systemy informatyczne, aplikacje i bazy danych

Program studiów - Systemy informatyczne, aplikacje i bazy danych

1. Wprowadzenie do programowania (Java), forma zaliczenia: zaliczenie

  1. Programowanie i Java
  2. Typy danych. Operatory i wyrażenia
  3. Klasy i obiekty I
  4. Klasy i obiekty II
  5. Decyzje i wyjątki
  6. Iteracje
  7. Tablice. Wprowadzenie do kolekcji
  8. Przetwarzanie danych: napisy i liczby
  9. Przetwarzanie danych: liczby, daty, algorytmy
  10. Programowanie obiektowe I
  11. Programowanie obiektowe II
  12. Wprowadzenie do programowania współbieżnego

 

2. Programowanie aplikacji (Java), forma zaliczenia: zaliczenie

  1. Strumienie i NIO (new input-output)
  2. Kolekcje
  3. Programowanie GUI: komponenty wizualne i kontenery
  4. Delegacyjny model obsługi zdarzeń
  5. Rozbudowane możliwości Swingu
  6. Komponenty Swing i architektura Model-View-Controller
  7. Dynamiczna Java
  8. Zaawansowane techniki programowania - przykłady
  9. Internacjonalizacja aplikacji
  10. Narzędzia programowania współbieżnego
  11. Java i bazy danych (JDBC)
  12. Programowanie klient serwer z użyciem gniazd, kanałów i selektorów
  13. Aplikacje WEB

 

3. Systemy operacyjne, forma zaliczenia: egzamin

  1. Wstęp, historia i zadania systemów operacyjnych.
  2. Interpreter poleceń 1 – podstawy pracy z interpreterem, proste polecenia, prosta komunikacja.
  3. Interpreter poleceń 2 – instrukcje strukturalne, pisanie skryptów powłoki.
  4. Interpreter poleceń 3 – praktyczne wykorzystanie skryptów do pracy w systemie operacyjnym.
  5. Procesy, stany procesów i algorytmy ich szeregowania.
  6. Pamięć operacyjna. Strategie zarzadzania: przydział ciągły, stronicowanie segmentacja.
  7. Pamięć wirtualna – algorytmy wymiany, szacowanie wydajności systemu z pamięcią wirtualną, szamotanie.
  8. System plików - implementacja systemu plików, oraz metody przydziału miejsca na dysku.

 

4. Sieci komputerowe, forma zaliczenia: egzamin

  1. Wstęp do sieci komputerowych. Co to jest Internet? Co to jest protokół? Brzeg sieci, szkielet sieci, komutacja pakietów i komutacja kanałów. Internet rzeczy. Internet wszystkiego.
  2. Wstęp do sieci komputerowych. Cloud Computing. Sieci dostępowe, media fizyczne, opóźnienie i straty, architektury warstwowe, struktura Internetu, historia Internetu.
  3. Warstwa aplikacji. Usługi, model klient-serwer, protokół HTTP.
  4. Warstwa aplikacji. Protokół HTTP. DNS. Programowanie przy pomocy gniazd. Poczta elektroniczna. E-mail. Aplikacje P2P. Grid Computing. Utility Computing.
  5. Warstwa aplikacji (dokończenie). Warstwa transportu. Wstęp. Niezawodna komunikacja.
  6. Warstwa transportu. Niezawodna komunikacja, TCP: kontrola natłoku, mechanizmy ACK, obliczanie RTT oraz czasu oczekiwania. Zarządzanie połączeniem.
  7. Warstwa sieci. Wstęp, algorytmy rutingu. Usługi warstwy sieci (w tym multicast, anycast), wirtualne kanały i sieci datagramowe. Algorytmy stanu łącza (Dijkstra), wektora odległości (Bellman-Ford). Ruting hierarchiczny.
  8. Warstwa sieci. Adresowanie IP, DHCP, datagram IP, fragmentacja, ICMP, ruting wewnątrz systemu autonomicznego: RIP, OSPF, ruting między systemami autonomicznymi: BGP, architektura wewnętrzna rutera.
  9. Warstwa łącza. Wstęp. Detekcja i korekcja błędów. Multipleksacja. Podział kanału: TDM, FDM, CDM, Random Access (Aloha, CSMA).
  10. Warstwa łącza. Technologie sieci LAN. Multipleksacja (dokończenie). Adresowanie LAN, ARP, Ethernet, Token Ring. Łączenie sieci LAN. Huby, mosty, swicze, IEEE 802.11
  11. Warstwa łącza. ATM, IP-over-ATM, Frame Relay.
  12. Sieci radiowe. 802.11x. PPP, Bluetooth.
  13. Ochrona informacji. Wstęp: zagrożenia, ataki, mechanizmy ochronne. Kryptografia symetryczna i asymetryczna. Uwierzytelnienie, podpisy elektroniczne, skróty wiadomości, dystrybucja klucza symetrycznego. PKI, certyfikaty.
  14. Ochrona informacji. Bezpieczna poczta, SSL, IPSec, IEEE 802.11 WEP, WPA. Honey Pots. Rootkits.
  15. Zarządzanie sieciami. SNMP, ASN.1. Komunikacja audio/wideo w sieciach IP. Jakość usług (QoS) i jej realizacja w sieciach IP: DiffServ, IntServ. Komunikacja strumieniowa w sieciach IP: RTP, RTSP. Kontrola sesji SCP.

 

5. Projektowanie relacyjnych baz danych, forma zaliczenia: zaliczenie

  1. Podstawowe pojęcia dotyczące baz danych.
  2. Tabele, związki, zapytania, operacje na bazie danych.
  3. Metoda tworzenia schematu relacyjnej bazy danych za pomocą diagramów związków encji.
  4. Interfejs użytkownika w aplikacji baz danych – formularze.
  5. Interfejs użytkownika w aplikacji baz danych – raporty, strony WWW.
  6. Podstawy procesu projektowania i programowania aplikacji baz danych.
  7. VBA – język aplikacji bazodanowej.

 

6. Programowanie w relacyjnych bazach danych, forma zaliczenia: egzamin

  1. Podstawy SQL.
  2. Zaawansowany SQL. Deklaratywne więzy spójności.
  3. Programowanie aplikacji na serwerze bazy danych.
  4. Obiekty proceduralne bazy danych.
  5. Obiektowy typ danych.
  6. Hurtownie danych.
  7. Rozproszone bazy danych.

 

7. Projektowanie systemów informacyjnych, forma zaliczenia: egzamin

  1. Informacje wstępne – historia, podstawowe pojęcia: sterotypy, ograniczenia, klasyfikatory, relacje pomiędzy kategoriami modelowania
  2. Analiza funkcjonalna – model przypadków użycia
  3. Analiza strukturalna – model obiektowy (diagram klas i diagram obiektów), pojęcia: klasa a obiekt, atrybut, metoda, operacja, metoda, komunikat, polimorfizm metod
  4. Analiza strukturalna – model obiektowy, pojęcia: związek generalizacji-specjalizacji, klasa a ekstensja klasy, klasa abstrakcyjna, klasa konkretna, metoda abstrakcyjna, rodzaje generalizacji-specjalizacji klas, przesłanianie metod, przeciążanie metod
  5. Analiza strukturalna – model obiektowy, pojęcia: asocjacja binarna, agregacja a kompozycja, agregacja rekursywna, asocjacja kwalifikowana, asocjacja n-arna
  6. Analiza dynamiczna – diagramy aktywności
  7. >Diagramy pakietów i diagramy komponentów

 

8. Budowa i integracja systemów informacyjnych, forma zaliczenia: egzamin

  1. Przedmiot i zagadnienia inżynierii oprogramowania. Kryzys oprogramowania. Źródła złożoności projektu oprogramowania. Modelowanie pojęciowe. Pojęcie metodyki. Modele cyklu życia oprogramowania.
  2. Przebieg i ocena fazy strategicznej. Określenie zakresu przedsięwzięcia. Decyzje strategiczne. Ocena rozwiązań. Techniki oszacowania nakładów pracy i kosztów.
  3. Faza określenia wymagań. Trudność określenia wymagań. Jakość opisu wymagań. Wymagania funkcjonalne i niefunkcjonalne. Metody definiowania wymagań użytkowników. Dokument wymagań użytkownika.
  4. Faza analizy. Model analityczny. Czynności, tematy i techniki analizy. Proces tworzenia modelu obiektowego. Dokument wymagań na oprogramowanie. Plan zapewnienia jakości dla fazy analizy. Kluczowe czynniki sukcesu i rezultaty fazy analizy.
  5. Faza projektowania. Zadania wykonywane w fazie projektowania. Techniki obiektowe w projektowaniu. Projektowanie składowych systemu nie związanych z dziedziną problemu. Projektowanie interfejsu użytkownika. Projektowanie składowej zarządzania danymi. Optymalizacja projektu. Dostosowanie do ograniczeń i możliwości środowiska implementacji.
  6. Faza implementacji. Niezawodność oprogramowania. Unikanie i tolerancja błędów. Zasada ograniczonego dostępu. Mocna kontrola typów. Transakcje. Stopnie izolacji transakcji. Środowiska implementacyjne. Czynniki sukcesu i rezultaty fazy implementacji. Narzędzia CASE w fazie implementacji. Zasady i metody dokumentowania kodu. Konwencje nazewnicze.
  7. Instalacja i konserwacja oprogramowania. Analiza potrzeby wprowadzania modyfikacji. Koszty konserwacji oprogramowania. Kluczowe czynniki sukcesu fazy konserwacji. Narzędzia CASE. Ocena narzędzi CASE. Przyczyny trudności z narzędziami CASE.
  8. Faza testowania. Przeglądy oprogramowania. Skład zespołu oceniającego oprogramowanie. Audyt projektu informatycznego. Inspekcje. Rodzaje testów. Typowe fazy i metody testowania. Co podlega testowaniu? Określenie niezawodności oprogramowania. Testy funkcjonalne. Eksplozja kombinacji danych testowych. Testy strukturalne. Analizatory przykrycia kodu. Testy statyczne. Bezpieczeństwo oprogramowania. Czynniki sukcesu i rezultaty testowania.
  9. Zapewnienie jakości oprogramowania. Jakość w terminologii ISO 9000. Polityka i system jakości. Zasady zarządzania jakością. Normy dotyczące jakości. Niedojrzałość i dojrzałość procesów wytwórczych. Plan zapewnienia jakości oprogramowania.
  10. Miary oprogramowania. Modele i miary wydajności ludzi. Ocena złożoności w planowaniu projektu. Metoda szacowania kosztów COCOMO. Analiza Punktów Funkcyjnych. Wykorzystanie punktów funkcyjnych. Przykłady miar oprogramowania.

 

9. Zarządzanie projektem informatycznym, forma zaliczenia: egzamin

  1. Wprowadzenie do zarządzania projektami IT – podstawowe pojęcia zarządzania, projektu i zarządzania projektem, specyfika projektów IT, przyczyny sukcesów i porażek, znaczenie projektów IT w organizacji
  2. Metodyczne zarządzanie projektem – przegląd metodycznego prowadzenia projektów, przegląd i klasyfikacja metodyk projektowych
  3. Zarządzanie projektem w warunkach zmienności – przegląd najważniejszych metodyk zwinnych (XP, SCRUM, MSF)
  4. Ciężkie metodyki projektowe – przegląd najważniejszych metodyk projektowych z grupy metodyk ciężkich PRINCE 2 , PMBOK, obszary zarządzania projektem IT według PMI
  5. Definiowanie projektu – metody definiowania projektu, identyfikacja celów projektu i jego udziałowców, budowa karty projektu i dokumentu wizji projektu, Plan Zarządzania Projektem Informatycznym SPMP IEEE 1058.1
  6. Zarządzanie zakresem – metody budowy WBS, identyfikacja zadań i aktywności projektowych, estymacja wielkości zadań i identyfikacja zasobów, SEI CMM
  7. Zarządzanie czasem – metody planowania, diagramy sieciowe, diagramy Gantta, metody PERT oraz CPM, śledzenie i linie bazowe w projekcie
  8. Struktura organizacyjna i komunikacyjna – różne struktury organizacyjne w projekcie, dobór struktury organizacyjnej, dobór struktury na tle cyklu życiowego - norma IEEE 1074, protokoły komunikacyjne – metody tworzenia i przykłady zastosowań
  9. Zarządzanie ryzykiem w projekcie – pojęcie ryzyka i metody walki z ryzykiem, metody zarządzania I śledzenia ryzyka projektowego, taksonomie ryzyk, Plan Zarządzania Ryzykiem
  10. Śledzenie i kontrola w projekcie – metryki w projekcie, co i jak mierzyć, metody pomiarów, metoda EV, wskaźniki w projekcie, zastosowanie linii bazowej
  11. Zarządzanie jakością – pojęcie jakości w projekcie, metody zapewnienia jakości, TQM, Plan Zarządzania Jakością SQAP, metryki jakości

 

10. Hurtownie danych, forma zaliczenia: egzamin.

  1. Definicja hurtowni danych; OLTP vs OLAP i zapytania analityczne; Dziedziny zastosowań – wspomaganie decyzji, CRM, eksploracja danych, etc.; Perspektywy rynku hurtowni danych; Wyzwania praktyczne – analiza strumieni danych, coraz większe ilości danych; zróżnicowane korzystanie z baz danych (mixed workload).
  2. Architektura hurtowni danych; Model logiczny – rodzaje; OLAP i agregacje.
  3. Rodzaje, przetwarzanie i optymalizacja zapytań – różne aspekty; Model fizyczny – indeksy, redundancje, sortowanie, kolumnowe przechowywanie danych, etc.
  4. Ładowanie danych; integracja danych; Problemy z aktualizacją danych.
  5. Czynniki jakości hurtowni danych; Przyszłe perspektywy; Podsumowanie.

 

11. Tworzenie aplikacji .NET, forma zaliczenia: zaliczenie

  1. HTML i CSS w projektowaniu stron internetowych
  2. Tworzenie stron internetowych w Visual Studio
  3. Podstawowe kontrolki serwerowe
  4. Złożone kontrolki serwerowe
  5. Sprawdzanie poprawności wprowadzanych danych ( Validacja)
  6. Błędy w aplikacjach internetowych - obsługa, śledzenie, usuwanie
  7. Projektowanie witryn internetowych. Tworzenie stron wzorcowych. Kontrolki do nawigacji pomiędzy stronami
  8. Komunikacja z bazą danych
  9. Komunikacja z bazą danych - ADO.NET
  10. Bezpieczeństwo serwisów internetowych
  11. Zarządzanie stanem w aplikacjach ASP.NET
  12. Kontrolki użytkownika
  13. Technologia WebParts
  14. ASP.NET AJAX

 

Przykładowe materiały do kursu przez Internet - https://edux.pjwstk.edu.pl/mat/118/lec/index.html