Warszawska Wyższa Szkoła Informatyki

Moduły – Otwarty Uniwersytet WWSI

1. Moduł: Systemy operacyjne [01]


Przedmiot realizowany na 1 semestrze studiów inżynierskich na kierunku informatyka
Kontynuacja: TAK: 2 semestr – Systemy operacyjne [02]

Semestr 1 2024/2025 (wykład: 5 godz., laboratoria: 14 godz.)

Zakres merytoryczny:

  1. Podstawowe pojęcia dotyczące systemów operacyjnych.
  2. Budowa i zasady działania systemów operacyjnych, ich składowych i najważniejszych mechanizmów w nich implementowanych.
  3. Współczesne systemy operacyjne.
  4. Podstawy zarządzania usługami w środowisku Windows Server.
  5. Podstawy użytkowania i administrowania systemami „open source” z wykorzystaniem systemu GNU/Linux (zagadnienie realizowane na semestrze 2)

Zajęcia praktyczne – sem. 1 2024/25:
Zapoznanie studentów z podstawowymi czynnościami administracyjnymi systemu, nauka praktycznej konfiguracji systemu. Zaznajomienie słuchacza ze środowiskiem serwerowym Windows Server. Charakterystyka podstawowych pojęć i funkcji, jakie może ono pełnić w zintegrowanym środowisku sieciowym.

Prowadzący:
mgr inż. Mariusz Piwowarski (wykład i laboratoria)

2. Moduł: Technologie sieciowe [01]


Przedmiot realizowany na 3 semestrze studiów inżynierskich na kierunku informatyka
Kontynuacja: TAK: 4 semestr – Technologie sieciowe [02]

Semestr 1 2024/2024 (wykład: 5 godz., laboratoria: 14 godz.)

Zakres merytoryczny:

  1. Zasady działania i projektowania sieci LAN (funkcje realizowane przez urządzenia sieciowe, zasady przełączania pakietów w warstwie łącza danych i warstwie sieciowej modelu odniesienia ISO/OSI, podstawy realizacji routingu statycznego i dynamicznego).
  2. Zasady konfigurowania routingu statycznego i protokołów routingu dynamicznego.
  3. Podstawy zabezpieczania urządzeń sieciowych i filtrowania ruchu sieciowego.

Zajęcia praktyczne – sem. 1 2024/25:

  • Projektowanie sieci LAN: Hierarchiczny model sieci LAN. Funkcje urządzeń przełączających w sieci LAN. Adresacja w sieciach IP, adresowanie w podsieciach, zasady wyznaczania adresu grupowego.
  • Przełączanie w sieciach LAN: Pojęcie przełączania w warstwie 2 i 3. Pojęcie przełączania symetrycznego i asymetrycznego. Metody przełączania store-and-forward, cut-through. Charakterystyka wybranych urządzeń przełączających warstwy dostępu, dystrybucji i szkieletowej.
  • Konfigurowanie i zarządzanie urządzeniami przełączającymi: Zarządzanie tablicą adresów MAC. Zabezpieczanie przełącznika i pojedynczych portów przed nieuprawnionym dostępem. Procedury odzyskiwania haseł i zarządzanie plikami konfiguracyjnymi. Ochrona przed typowymi atakami na urządzenia warstwy 2.
  • Wprowadzenie do routingu statycznego i dynamicznego dla sieci LAN: Technika VLSM. Agregacja tras z wykorzystaniem VLSM. Trasy domyślne – rozgłaszanie. Problemy z routingiem klasowym i bezklasowym.

Prowadzący:
dr hab. inż. Dariusz Chaładyniak (wykład i laboratoria)
mgr inż. Józef Wacnik (laboratoria)

3. Moduł: Języki programowania – warsztaty [01]

Przedmiot realizowany na 1 semestrze studiów inżynierskich na kierunku informatyka
Kontynuacja: NIE

Semestr 1 2024/2025 (laboratoria: 24 godz.)

Zakres merytoryczny:
Przedmiot ma na celu wprowadzenie słuchaczy w świat programowania w języku Python, począwszy od podstawowych konstrukcji języka, aż po zaawansowane techniki związane z uczeniem maszynowym i sieciami neuronowymi. Zajęcia łączą teorię z praktyką, umożliwiając uczestnikom zdobycie umiejętności tworzenia aplikacji oraz projektowania modeli sztucznej inteligencji przy użyciu bibliotek takich jak NumPy, Pandas oraz PyTorch. Przedmiot skierowany jest zarówno do osób początkujących, jak i tych, które chcą rozszerzyć swoją wiedzę o bardziej zaawansowane zagadnienia.
Przedmiot obejmuje połączenie wykładów teoretycznych z warsztatami praktycznymi, aby uczestnicy mogli aktywnie rozwijać swoje umiejętności w rzeczywistych projektach programistycznych.

Lista zagadnień:

  1. Wprowadzenie do programowania w Pythonie
  2. Funkcje i moduły
  3. Programowanie obiektowe w Pythonie
  4. Operacje na plikach i zarządzanie danymi
  5. Podstawy pracy z bibliotekami NumPy i Pandas
  6. Wizualizacja danych z Matplotlib i Seaborn
  7. Wprowadzenie do uczenia maszynowego
  8. Podstawy sieci neuronowych
  9. Praktyczne projekty: Budowa modelu sieci neuronowej

Prowadzący:
mgr inż. Andrzej Ptasznik

4. Moduł: Metody i techniki przetwarzania i wizualizacji danych [01]


Przedmiot realizowany na 5 semestrze studiów inżynierskich na kierunku informatyka na specjalności INŻYNIERIA ZASOBÓW INFORMACYJNYCH (Data Science)
Kontynuacja: NIE

Semestr 1 2024/2024 (wykład: 9 godz., laboratoria: 7 godz.)

Zakres merytoryczny:
Przedmiot ma na celu zapoznanie słuchaczy z kluczowymi narzędziami i technikami analizy oraz prezentacji danych przy użyciu języka Python i Power BI Desktop. Kurs obejmuje szeroki zakres zagadnień, od podstaw przetwarzania danych, poprzez zaawansowane analizy, aż po tworzenie interaktywnych raportów i dashboardów. Uczestnicy nauczą się, jak przetwarzać duże zbiory danych, przeprowadzać analizy, a także jak wizualizować wyniki w sposób czytelny i efektywny, co umożliwi podejmowanie decyzji na podstawie danych.
Przedmiot łączy w sobie teoretyczne wprowadzenie do metod przetwarzania danych z praktycznymi warsztatami, w których słuchacze zdobywają umiejętności w pracy z narzędziami Python i Power BI Desktop. W efekcie uczestnicy będą potrafili skutecznie przekształcać dane w wartościowe i czytelne raporty.

Lista zagadnień:

  1. Wprowadzenie do przetwarzania danych
  2. Przetwarzanie danych w Pythonie
  3. Analiza danych z wykorzystaniem Python
  4. Wprowadzenie do Power BI Desktop
  5. Tworzenie interaktywnych raportów w Power BI
  6. Zaawansowane wizualizacje danych w Power BI
  7. Łączenie wyników z Pythona z Power BI
  8. Case study i projekt końcowy

Prowadzący:
mgr inż. Andrzej Ptasznik (wykład i laboratoria)

5. Moduł: Algorytmy i struktury danych [01]


Przedmiot realizowany na 3 semestrze studiów inżynierskich na kierunku informatyka
Kontynuacja: NIE

Semestr 1 2024/2025 (wykład: 5 godz., laboratoria: 14 godz.)

Zakres merytoryczny:
Przedmiot ma na celu zapoznanie słuchaczy

  • z pojęcia podstawowymi: • poprawność algorytmu, • złożoność obliczeniowa (pesymistyczna, oczekiwana),
  • z podstawowymi technikami: • metoda dziel i zwyciężaj, • metoda zachłanna,
  • z przykładami różnych technik: • przeszukiwanie binarne, • algorytm szybkiego potęgowania,
    • porównanie złożoności czasowej na przykładzie trzech sposobów generacji ciągu Fibonacciego,
  • z operacjami na tablicach jedno– i dwuwymiarowych: • norma wektora, • iloczyn skalarny dwóch wektorów, • transpozycja macierzy kwadratowej, • mnożenie macierzy przez wektor oraz wektora przez macierz, • mnożenie macierzy przez macierz.
  • z algorytmami do badania własności relacji skończonych
  • z elementami struktury danych: • symulacja stosu, kolejki, listy przy pomocy jednowymiarowej tablicy
  • z wybranymi algorytmami sortowania: • przez wstawianie, • przez wybieranie, • bąbelkowe, • szybkie,
    • przez scalanie, • przez kopcowanie.
  • ze złożonością czasową algorytmów sortowania (porównanie), problemem stabilności sortowania
  • podstawowymi algorytmami operującymi na grafach: reprezentacja grafów, podstawowe algorytmy przeszukiwania grafu – w głąb i wszerz
  • z odległością edycyjną – algorytm Levenshteina
  • z wybranymi algorytmy kombinatoryczne: • generacja wszystkich podzbiorów zbioru n-elementowego, • permutacje zbioru n-elementowego, • generacja wszystkich kombinacji k-elementowych ze zbioru n-elementowego.

Zajęcia praktyczne – sem. 1 2024/25:

  1. Pojęcia podstawowe: poprawność algorytmu, złożoność obliczeniowa algorytmu. Porównanie efektywności algorytmów o złożoności wielomianowej i wykładniczej na przykładzie wyznaczania liczb Fibonacciego za pomocą procedury iteracyjnej i rekurencyjnej.
  2. Algorytmy sortowania: sortowania proste, sortowanie przez scalanie i sortowanie szybkie – porównanie efektywności w zależności od rozmiaru i rodzaju sortowanych danych.
  3. Metody dokładne i przybliżone – porównanie efektywności oraz ocena dokładności różnych algorytmów na przykładzie rozwiązywania zagadnienia komiwojażera i zagadnienia plecakowego.
  4. Dynamiczne struktury danych: stos, kolejka, lista.
  5. Algorytmy operujące na grafach: algorytmy przeszukiwania grafu w głąb i wszerz.

Prowadzący:
dr hab. inż. Zenon Gniazdowski (wykład)
dr Leszek Rudak (laboratoria)

6. Moduł: Języki i paradygmaty programowania [01]


Przedmiot realizowany na 3 semestrze studiów inżynierskich na kierunku informatyka
Kontynuacja: TAK: 4 i 5 semestr

Semestr 1 2024/2025 (wykład: 5 godz., laboratoria: 14 godz.)

Zakres merytoryczny:
Podstawy budowy języka programowania oraz klasyfikacji języków ze względu na: paradygmat programowania., generację języka, kontrolę typów, metodę wykonania programu.
Stosowanie zasad paradygmatu strukturalnego w tworzeniu nie tylko małych programów, ale także w skali programów średniej wielkości.
Poznanie koncepcji i podstaw paradygmatu obiektowego.

Zajęcia praktyczne – sem. 1 2024/25

  1. Realizacja przykładowego programu w języku c# w podejściu strukturalnym
  2. Podstawy programowania obiektowego
  3. Hermetyzacja
  4. Dziedziczenie i abstrakcja
  5. Polimorfizm
  6. Agregacja, Kompozycja, Asocjacja i Zależność
  7. Pojęcie klasy asocjacyjnej

Prowadzący:
mgr inż. Andrzej Ptasznik (wykłady)
mgr inż. Andrzej Kuska (laboratoria)

7. Moduł: Zastosowanie języków R i Python w analizie danych [01]


Przedmiot realizowany na 5 semestrze studiów inżynierskich na kierunku informatyka na specjalności INŻYNIERIA ZASOBÓW INFORMACYJNYCH (Data Science)
Kontynuacja: NIE

Semestr 1 2024/2025 (wykład: 5 godz., laboratoria: 14 godz.)

Zakres merytoryczny:

  1. Podstawowe typy danych w języku Python
  2. Wykorzystanie funkcji języka Python do przetwarzania danych
  3. Funkcje wizualizacji danych pakietu matplotlib
  4. Wykorzystanie funkcji języka R do przetwarzania danych
  5. Wizualizacja danych w pakiecie ggplot2
  6. Sposoby prezentowania wyników analizy w językach R i Python

Zajęcia praktyczne – sem. 1 2024/25

  1. Zapoznanie ze środowiskiem Anaconda Navigator
  2. Wykorzystanie notatników Jupyter do pracy z językiem R i Python
  3. Podstawowe typy danych w językach R i Python i ich obsługa – przykładowe skrypty
  4. Konstrukcje sterujące języka R i Python– przykładowe skrypty.
  5. Podstawy grafiki w języku R.
    • pakiet ggplot2
    • gramatyka grafiki pakietu ggplot2
    • parametryzacja wykresów
  6. Podstawy grafiki w języku Python
    • Pakiet matplotlib
    • Parametryzacja wykresów
    • Typy wykresów
    • Wizualizacje interaktywne
  7. Studium przypadku i wnioskowanie statystyczne
    • Przygotowanie zbiorów danych
    • Wstępna obróbka danych i ich walidacja
    • Obliczenie parametrów statystyki opisowej
    • Wizualizacja danych
    • Wnioskowanie statystyczne

Prowadzący:
mgr inż. Andrzej Ptasznik (wykłady i laboratoria)

8. Moduł: Wykrywanie i analiza zagrożeń w sieci internet [01]


Przedmiot realizowany na 5 semestrze studiów inżynierskich na kierunku informatyka na specjalności INŻYNIERIA BEZPIECZEŃSTWA SYSTEMÓW INFORMATYCZNYCH
Kontynuacja: NIE

Semestr 1 2024/2025 (wykład: 9 godz., laboratoria: 7 godz.)

Zakres merytoryczny:

  1. Zagadnienia związane z wykrywaniem zagrożeń w sieci Internet.
  2. Analizowanie zagrożeń w cyberprzestrzeni.
  3. Konfigurowanie urządzeń sieciowych w aspekcie ich zabezpieczeń przed zagrożeniami w sieci Internet.

Zajęcia praktyczne – sem. 1 2024/25

  1. Wprowadzenie do wykrywania i analizy zagrożeń w sieci Internet. Konfiguracja środowiska (pakiet Xampp zawierający serwer stron internetowych Apache, interpreter PHP, serwer baz danych MySQL).
  2. Rodzaje ataków na strony internetowe cz. 1. Atak „głębokie ukrycie”. Atak brute-force i słownikowy. Atak account lockout. Atak web parameter tampering. Atak forced Browsing. Atak path traversal. Atak parameter delimiter.
  3. Rodzaje ataków na strony internetowe cz. 2. Atak PHP injection. Atak SQL injection. Atak cross site scripting. Atak cross site tracing. Atak cross site request forgery. Atak session hijacking. Atak session fixation. Atak phishing
  4. Ataki na sieci bezprzewodowe. Ataki niezależne od standardu szyfrowania. Ataki na WEP. Ataki na WPA. Ataki na WPA2. Ataki z wykorzystaniem technologii CUDA.
  5. Konfiguracja firewalla nowej generacji. Pliki konfiguracyjne i pliki logów. Konta administracyjne zapory PaloAlto. Podłączenie zapory do sieci produkcyjnej.
  6. Konfigurowanie reguł bezpieczeństwa i reguł NAT. Reguły blokowania pakietów w atakach sieciowych ukierunkowanych na protokoły. Reguły wykrywania i blokowania zagrożeń z nieznanych źródeł.
  7. Blokowanie zagrożeń z użyciem funkcji identyfikacji aplikacji. Zarządzanie regułami bezpieczeństwa bazującymi na App-ID. Blokowanie zagrożeń z wykorzystaniem funkcji identyfikacji użytkowników.
  8. Wykrywanie i blokowanie nieznanych zagrożeń z wykorzystaniem środowiska WildFire. Wykrywanie i blokowanie zagrożeń przenoszonych w ruchu szyfrowanym. Zabezpieczenie sieci przed użyciem skradzionych poświadczeń. Analiza logów zapory sieciowej.

Prowadzący:

dr hab. inż. Dariusz Chaładyniak (wykład)
mgr inż. Tomasz Żentara (laboratoria)

9. Moduł: Technologie internetowe [01]


Przedmiot realizowany na 7 semestrze studiów inżynierskich na kierunku informatyka na specjalności INŻYNIERIA BEZPIECZEŃSTWA SYSTEMÓW INFORMATYCZNYCH
Kontynuacja: NIE

Semestr 1 2024/2025 (wykład: 9 godz., laboratoria: 7 godz.)

Zakres merytoryczny:

  1. Protokoły sieciowe
  2. Podstawowe usługi sieciowe
  3. Zapewnianie skalowalności i niezawodności rozwiązań
  4. Projektowanie i tworzenie aplikacji wielowarstwowych
  5. Bezpieczeństwo usług internetowych

Zajęcia praktyczne – sem. 1 2024/25

  1. Warstwy sieciowe OSI
  2. Popularne technologie warstwy fizycznej i łącza danych
  3. Protokoły warstwy sieciowej IPv4 i IPv6 oraz protokoły historyczne
  4. Usługa DHCP
  5. Tabela routingu
  6. Usługa NAT i VPN dla IPv4
  7. Protokoły UDP, TCP, ICMP
  8. Domyślne porty popularnych usług internetowych
  9. Usługa DNS
  10. Usługi komunikacyjne: SMTP, SIP, XMPP, RTP, H.264, H.265
  11. Usługi Active Directory
  12. Usługi chmurowe
  13. Microsoft Azure Entra ID
  14. Aplikacje wielowarstwowe
  15. Warstwa składowania danych
  16. Popularne formaty plików
  17. Popularne relacyjne silniki bazodanowe
  18. Popularne silniki NOSQL
  19. Mechanizmy zapewnienia odporności na awarie i skalowalności baz danych
  20. Warstwy aplikacyjna i prezentacji
  21. Mechanizmy zapewnienia odporności na awarie i skalowalności
  22. Mechanizmy autoryzacji i autentykacji

Prowadzący:

mgr inż. Józef Wacnik (wykład)
mgr inż. Józef Wacnik/ mgr inż. Marcin Pytlik (laboratoria)