Studia podyplomowe "Inżynieria oprogramowania"
Studia podyplomowe "Inżynieria oprogramowania"
Informacje podstawowe
Informacje podstawowe
- KategoriaInformatyka i telekomunikacja / Bazy danych
- Identyfikatory projektówMałopolski Pociąg do kariery
- Grupa docelowa usługi
Studia adresowane są do osób, króre planują rozszerzyć swoje kwalifikacje o umiejętność tworzenia oprogramowania i wiążą swoją przyszłość z pracą jako programista.
Usługa również adresowana dla Uczestników Projektu "Małopolski pociąg do kariery - sezon 1" i/lub dla Uczestników Projektu "Nowy start w Małopolsce z EURESem"
- Minimalna liczba uczestników18
- Maksymalna liczba uczestników30
- Data zakończenia rekrutacji10-10-2025
- Forma prowadzenia usługimieszana (stacjonarna połączona z usługą zdalną w czasie rzeczywistym)
- Liczba godzin usługi220
- Podstawa uzyskania wpisu do BURart. 163 ust. 1 ustawy z dnia 20 lipca 2018 r. Prawo o szkolnictwie wyższym i nauce (t.j. Dz. U. z 2023 r. poz. 742, z późn. zm.)
- Zakres uprawnieńStudia podyplomowe
Cel
Cel
Cel edukacyjny
Studia podyplomowe Inżynieria oprogramowania wraz z egzaminem potwierdzają przygotowanie do pracy w zespołach wytwarzających oprogramowanie od projektowania, poprzez programowanie, a na testowaniu i dokumentowaniu aplikacji skończywszy.Efekty uczenia się oraz kryteria weryfikacji ich osiągnięcia i Metody walidacji
Efekty uczenia się | Kryteria weryfikacji | Metoda walidacji |
---|---|---|
Efekty uczenia się Charakteryzuje istotne fakty, pojęcia, zasady i teorie na których bazuje programowanie, w tym elementy zarządzania informacją, jej gromadzenia oraz przetwarzania. | Kryteria weryfikacji Wyjaśnia pojęcia dotyczące złożoności obliczeniowej i definiowania algorytmów oraz określa złożoność algorytmu. | Metoda walidacji Test teoretyczny |
Kryteria weryfikacji Wyjaśnia czym są bazy danych i jak są wykorzystywane | Metoda walidacji Test teoretyczny | |
Kryteria weryfikacji Wymienia etapy i zasady projektowania i implementacji aplikacji w języku Java | Metoda walidacji Wywiad swobodny | |
Efekty uczenia się Dobiera oraz wykorzystuje standardy i normy pozwalające na skuteczne programistyczne rozwiązywanie zadań naukowych, technicznych, organizacyjnych oraz z obszaru zarządzania. | Kryteria weryfikacji Wymienia techniki i metody programowania obiektowego | Metoda walidacji Wywiad swobodny |
Kryteria weryfikacji Opisuje działanie algorytmu i budowę struktury danych i zapisuje go różnymi metodami | Metoda walidacji Test teoretyczny | |
Efekty uczenia się Rozróżnia zagadnienia w zakresie metod, technik i narzędzi stosowanych podczas programistycznego rozwiązywania zadań naukowych, technicznych oraz z obszaru zarządzania. | Kryteria weryfikacji Wymienia algorytm i strukturę danych do rozwiązania podstawowych i złożonych zadań informatycznych | Metoda walidacji Test teoretyczny |
Kryteria weryfikacji Wymienia tendencje w projektowaniu nowoczesnych baz danych | Metoda walidacji Test teoretyczny | |
Kryteria weryfikacji Wymienia najważniejsze techniki i narzędzia programowania zorientowanego obiektowo | Metoda walidacji Wywiad swobodny | |
Efekty uczenia się Charakteryzuje zagadnienia zawiązane rolą i organizacją poszczególnych etapów cyklu życia projektu informacyjnego, a także szacowania kosztów jego projektowania, budowy oraz eksploatacji. | Kryteria weryfikacji Wyjaśnia, jak zastosować elementy programowania obiektowego do tworzenia projektu informatycznego | Metoda walidacji Wywiad ustrukturyzowany |
Kryteria weryfikacji Wymienić cechy charakterystyczne oprogramowania korporacyjnego. Opisuje główne wytyczne architektury aplikacji korporacyjnych. | Metoda walidacji Test teoretyczny | |
Efekty uczenia się Stosuje zasady, sposoby oraz metody projektowania aplikacji informatycznych, a także pojmuje znaczenie kompromisów w fazie wyboru efektywnego rozwiązania projektowego. | Kryteria weryfikacji Wybiera algorytm i strukturę danych do rozwiązania podstawowych i złożonych zadań informatycznych | Metoda walidacji Test teoretyczny |
Kryteria weryfikacji Wyjaśnia zasady pracy w zespole wytwarzającym oprogramowanie zgodnie z podejściem Scrum. Opisuje role występujące w zespole scrumowym, zdarzenia Scrum-a i artefakty Scrum-a. | Metoda walidacji Wywiad ustrukturyzowany | |
Kryteria weryfikacji Wymienia zasady, sposoby oraz metody projektowania aplikacji informatycznych, w szczególności rozumie potrzebę obsługi sytuacji wyjątkowych. Wyjaśnia techniki obsługi wyjątków | Metoda walidacji Analiza dowodów i deklaracji | |
Efekty uczenia się Definiuje zagadnienia w zakresie algorytmiki oraz metod i technik programowania, w różnych obszarach zawodowej i społecznej aktywności człowieka. | Kryteria weryfikacji Opisuje algorytm i strukturę danych do rozwiązania podstawowych i złożonych zadań informatycznych | Metoda walidacji Test teoretyczny |
Kryteria weryfikacji Opisuje główne zasady OOP i zasady SOLID | Metoda walidacji Analiza dowodów i deklaracji | |
Efekty uczenia się Charakteryzuje metodykę wdrażania i eksploatacji systemów informacyjnych, pojmuje zależności między komponentami i ich wpływ na cykl życia produktu. | Kryteria weryfikacji Wyjaśnia metodykę wdrażania i eksploatacji systemów informacyjnych, sposoby obsługi strumieni oraz kolekcji standardowych. | Metoda walidacji Wywiad ustrukturyzowany |
Kryteria weryfikacji Wymieni jedną cechę charakterystyczną komunikacji asynchronicznej. Opisuje cel stosowania komunikacji asynchronicznej | Metoda walidacji Test teoretyczny | |
Efekty uczenia się Projektuje założenia systemu informacyjnego, bazującego na dostępnych narzędziach i technologiach. | Kryteria weryfikacji Szkicuje przykład modelu dziedziny i modelu przypadków użycia | Metoda walidacji Wywiad ustrukturyzowany |
Efekty uczenia się Definiuje specyfikację funkcjonalną systemu informacyjnego z uwzględnieniem dostępnych technologii, aspektów prawnych, w tym ochrony własności intelektualnej oraz innych względów pozatechnicznych, takich jak: uwarunkowania środowiskowe, społeczne i ekonomiczne. | Kryteria weryfikacji Projektuje na poziomie komponentów aplikację trójwarstwową | Metoda walidacji Obserwacja w warunkach symulowanych |
Kryteria weryfikacji Konfiguruje i uruchamia środowisko budowania aplikacji Java EE | Metoda walidacji Obserwacja w warunkach symulowanych | |
Kryteria weryfikacji Generuje aplikację z wykorzystaniem Spring Framework Boot. Implementuje i uruchamia kod logiki biznesowej z wykorzystaniem Spring Framework | Metoda walidacji Obserwacja w warunkach symulowanych | |
Efekty uczenia się Rozwiązuje zadania informatyczne, świadomie i skutecznie korzystać ze standardowych narzędzi oraz ogólnodostępnych zasobów programistycznych. | Kryteria weryfikacji Projektuje i implementuje aplikację w języku Java | Metoda walidacji Obserwacja w warunkach symulowanych |
Kryteria weryfikacji Szkicuje przykładowe struktury aplikacji wyróżniając warstwy i komponenty | Metoda walidacji Wywiad ustrukturyzowany | |
Kryteria weryfikacji Formułuje proste i złożone zapytania do bazy danych | Metoda walidacji Test teoretyczny | |
Kryteria weryfikacji Stosuje składnie języka PL/SQL, tworzy procedury i funkcje, zarządza pakietami oraz wyzwalaczami. | Metoda walidacji Test teoretyczny | |
Efekty uczenia się Ocenia i porównuje aspekty sprzętowe i programowe systemów informacyjnych ze względu na zadane kryteria użytkowe i ekonomiczne (możliwości funkcjonalne, szybkość działania, koszty zakupu oraz eksploatacji itp.). | Kryteria weryfikacji Wykorzystuje cechy języka programowania, w szczególności standardowe struktury danych do rozwiązania postawionego zagadnienia. | Metoda walidacji Test teoretyczny |
Efekty uczenia się Planuje procedurę testowania systemu informacyjnego oraz określić modyfikacje mające na celu jego dostosowanie do konkretnych potrzeb użytkowników. | Kryteria weryfikacji Wykorzystuje proste struktury danych do napisania prostego programu, wymienia cechy wybranych struktur danych. | Metoda walidacji Test teoretyczny |
Efekty uczenia się Opracowuje dokumentację użytkową opisującą pracę z przygotowanym rozwiązaniem informatycznym. | Kryteria weryfikacji Wymienia sposoby publikacji i wywoływania usług REST za pomocą narzędzia | Metoda walidacji Obserwacja w warunkach rzeczywistych |
Efekty uczenia się Planuje procedurę testowania systemu informatycznego oraz określa modyfikacje mające na celu dostosowanie do potrzeb użytkowników | Kryteria weryfikacji Opisuje główne wzorce strategiczne podejścia Domain-Driven Design, model warstwowy architektury wg DDD, wzorce taktyczne DDD i podaje przykłady ich zastosowania | Metoda walidacji Analiza dowodów i deklaracji |
Kryteria weryfikacji Wykorzystuje cechy języka programowania, w szczególności standardowe struktury danych do rozwiązania postawionego zagadnienia. | Metoda walidacji Wywiad ustrukturyzowany | |
Efekty uczenia się Planuje pracę w zespole budując partnerskie relacje | Kryteria weryfikacji Podaje przykłady problemów komunikacyjnych i pokazuje, jak rozwiązuje się je w Scrum-ie | Metoda walidacji Wywiad swobodny |
Kryteria weryfikacji Określa wszystkie role w zespole deweloperskim | Metoda walidacji Wywiad swobodny | |
Efekty uczenia się Uświadamia socjalne znaczenie swojego zawodu, wykazuje wysoką motywację do prowadzenia działalności zawodowej. | Kryteria weryfikacji Prezentuje wyniki swoich prac i badań | Metoda walidacji Wywiad swobodny |
Kwalifikacje i kompetencje
Kwalifikacje
Kompetencje
Usługa prowadzi do nabycia kompetencji.Warunki uznania kompetencji
Program
Program
Program studiów zawiera następujace zagadnienia:
Algorytmy i struktury danych
- Podstawowe zasady analizy algorytmów:
- poprawność
- złożoność obliczeniowa algorytmu (pesymistyczna, oczekiwana)
- koszt zamortyzowany: metoda potencjału
- Podstawowe techniki i struktury:
- metoda dziel i zwyciężaj
- metoda zachłanna
- programowanie dynamiczne
- transformacyjna konstrukcja algorytmu
- elementarne struktury danych: stosy, kolejki, listy
- Sortowanie:
- sortowanie przez porównania (InsertionSort, QuickSort, MergeSort)
- proste kolejki priorytetowe: kopce binarne
- HeapSort
- sortowanie pozycyjne
- złożoność problemu sortowania
- Selekcja:
- algorytm Hoare'a
- algorytm magicznych piątek
- Wyszukiwanie i proste słowniki:
- wyszukiwanie liniowe i binarne
- prosty słownik: drzewa poszukiwań binarnych
- haszowanie
- Efektywne implementacje słownika:
- drzewa AVL
- drzewa typu splay
- B-drzewa
- Złożone struktury danych:
- wzmocnione kolejki priorytetowe: kolejki dwumianowe, kopce Fibonacciego
- efektywne sumowanie zbiorów rozłącznych
- Algorytmy grafowe:
- DFS i jego zastosowania
- problemy ścieżkowe -- Algorytm Dijkstry
- minimalne drzewo rozpinające
- Wyszukiwanie wzorca w tekstach:
- prefikso-sufiksy
- algorytm Knutha-Morisa-Pratta
- Tekstowe struktury danych:
- tablice sufiksowe
- drzewa sufiksowe
- NP-zupełność:
- klasa NP.
- problemy NP-trudne i NP-zupełne.
- prefikso-sufiksy
Języki i metody programowania - cz.1:
- Wprowadzenie do koncepcji JVM i środowiska Java
- Podstawowe pojęcia programowania obiektowego
- Język programowania Java – składnia, zmienne, operatory, tablice, instrukcje sterujące
- Klasy, obiekty, metody, konstruktory
Techniki wytwarzania złożonego oprogramowania:
- Zadania inżynierii oprogramowania
- Dyscypliny związane z tworzeniem oprogramowania
- Podstawowe modele wytwarzania oprogramowania
- Manifest zwinnego tworzenia oprogramowania
- Od zbierania wymagań do wdrożenia - proces wytwórczy
- Metodyka pracy w zespole SCRUM-owym – role i ich odpowiedzialność, podstawowe zasady współpracy
- Cykl produkcyjny w podejściu SCRUM-owym, zdarzenia i artefakty
- Wprowadzenie do programowania zorientowanego obiektowo
- Notacja UML
- Zasady GRASP
- Zasady SOLID
- Wzorce projektowe
- Wprowadzenie do podejścia Domain-Driven Design
- Wzorce strategiczne i taktyczne DDD
Bazy danych
- Wstęp
- Pojęcie relacyjnej bazy danych
- Model danych
- Język SQL – wstęp
- Wyświetlanie danych z użyciem języka SQL
- Budowa zapytania SELECT w języku SQL
- Aliasy kolumn
- Wyrażenia arytmetyczne,
- Praca z wartościami NULL,
- Łączenie łańcuchów znakowych,
- Wyświetlanie struktury tabeli.
- Ograniczenia i sortowanie danych
- Użycie klauzuli WHERE
- Operatory porównań
- Operatory BETWEEN, IN, LIKE i znaki zastępcze,
- Warunek NULL
- Operatory logiczne AND, OR i NOT
- Sortowanie i klauzula ORDER BY
- Użycie funkcji jednowierszowych do personalizacja wyjścia
- Typy funkcji SQL
- Funkcje znakowe
- Funkcje numeryczne
- Operacje na datach
- Używanie funkcji konwertujących i wyrażenia warunkowe
- Funkcje TO_CHAR, TO_DATE i TO_NUMBER,
- Funkcje NVL, NVL2, NULLIF, COALESCE,
- Funkcje CASE i DECODE
- Agregacja danych z wykorzystaniem funkcji grupujących
- Pojęcie funkcji grupującej
- Wykorzystanie funkcji AVG, SUM, MIN, MAX i COUNT,
- Wykorzystanie słowa kluczowe DISTINCT,
- Wykorzystanie klauzul HAVING i ORDER BY.
- Wyświetlanie danych z wielu tabel
- Rodzaje połączeń tabel
- Konstrukcja SELECT w zapytaniu do wielu tabel i klauzule: ON, USING.
- Wykorzystanie słów INNER, LESFT, RIGHT, FULL, OUTER do tworzenia różnych rodzajów połączeń tabel
- Tworzenie zapytań złożonych z wykorzystaniem podzapytań
- Rodzaje podzapytań
- Wykorzystanie słów kluczowych Having, ANY, ALL EXIST w podzapytaniach
- Tworzenie zapytań złożonych
- Rodzaje zapytań złożonych
- Operatory zapytań złożonych UNION, UNION ALL, INTERSECT, MINUS
- Zmiana danych w bazie danych
- Wyrażenia INSERT, UPDATE, DELETE I TRUNCATE,
- Pojęcie transakcji, słowa kluczowe COMMIT lub ROLLBACK.
- Użycie wyrażeń DDL do tworzenia i zarządzania tabelami:
- Tworzenie tabel z wykorzystanie wyrażenia CREATE TABLE,
- Tworzenie więzów pomiędzy tabelami z wykorzystaniem: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY.
- Tworzenie pozostałych obiektów schematu bazy danych
- Widoki,
- Sekwencje,
- Indeksy,
- Synonimy.
- Uprawnienia do obiektów bazy danych
- Tworzenie i kontrola uprawnień użytkowników,
- Wykorzystanie roli do kontroli praw dostępu.
- Zarządzanie obiektami w schemacie bazy danych
- Modyfikacja tabel, więzów, indeksów.
- Zarządzanie obiektami ze widokami słownika danych
- Operowanie na dużych zestawach danych
- Zarządzanie danymi w różnych strefach czasowych
- Zawansowane tworzenie zapytań z wykorzystaniem podzapytań.
- Wyrażenie regularne w Oracle.
Języki i metody programowania - cz. 2
- Dziedziczenie, klasy abstrakcyjne, interfejsy, polimorfizm
- Klasy generyczne i kolekcje
- Wyjątki
- Operacje wejścia/wyjścia
Aplikacje korporacyjne
- Główne cechy oprogramowania korporacyjnego
- Pojęcie architektury aplikacji i stylu architektonicznego, najważniejsze style architektoniczne
- Budowanie aplikacji z wykorzystaniem podziału warstwowego i komponentowego
- Technologia Java EE – najważniejsze zagadnienia
- Budowanie aplikacji z wykorzystaniem Spring Framework
- Utrwalanie danych z wykorzystaniem Hibernate
- Współczesne technologie graficznego interfejsu użytkownika
- Architektura SOA
- Technologie usług sieciowych, protokół SOAP, styl REST
- Komunikacja za pomocą kolejek
- Wprowadzenie do złożonych technik przetwarzania – model aktorowy
- Budowanie aplikacji korporacyjnej w środowisku Java EE z wykorzystaniem podejścia Domain-Driven Design
Studia trwają 2 semestry, umożliwiają uzyskanie 30 punktów ECTS. Zajęcia realizowane są w formie mieszanej, 96h zajęć prowadzonych jest w formie stacjonarnej. Zajęcia odbywają są średnio co 2 tygodnie w soboty i niedziele, średnio 6 - 8 godzin dziennie (godzina dydaktyczna - 45 minut).
Absolwent studiów podyplomowych uzyskuje świadectwo ukończenie studiów podyplomowych.
Harmonogram
Harmonogram
Przedmiot / temat zajęć | Prowadzący | Data realizacji zajęć | Godzina rozpoczęcia | Godzina zakończenia | Liczba godzin | Forma stacjonarna |
---|---|---|---|---|---|---|
Przedmiot / temat zajęć 1 z 1 Walidacja - egzamin końcowy | Prowadzący - | Data realizacji zajęć 30-06-2026 | Godzina rozpoczęcia 09:00 | Godzina zakończenia 09:45 | Liczba godzin 00:45 | Forma stacjonarna Nie |
Cena
Cena
Cennik
Rodzaj ceny | Cena |
---|---|
Rodzaj ceny Koszt przypadający na 1 uczestnika brutto | Cena 7 200,00 PLN |
Rodzaj ceny Koszt przypadający na 1 uczestnika netto | Cena 7 200,00 PLN |
Rodzaj ceny Koszt osobogodziny brutto | Cena 32,73 PLN |
Rodzaj ceny Koszt osobogodziny netto | Cena 32,73 PLN |
Prowadzący
Prowadzący
dr inż. Barbara Fryc
Jej zainteresowania naukowe skupiają się wokół problematyki programowania komputerów (w szczególności w językach C++ i Java), wnioskowania, systemów ekspertowych, zbiorów przybliżonych i zbiorów rozmytych. Pracuje w Katedrze Zastosowań Matematyki, Podstaw Informatyki i Technologii Edukacyjnych na stanowisku adiunkta. Prowadzi zajęcia dydaktyczne z języków programowania, programowania obiektowego, algorytmów i struktur danych. Od 2011 roku prowadzi również zajęcia z informatyki w Akademickim Liceum Ogólnokształcącym w Rzeszowie.
Damian Lombara
Entuzjasta wolnego oprogramowania i paradygmatu funkcyjnego. Od początku drogi zawodowej związany z branżą bankową i rozwojem systemów transakcyjnych, księgi głównej oraz projektowaniem dedykowanych aplikacji do obsługi kredytów. W procesie tworzenia oprogramowania stosuje podejście inżynierskie. Kładzie nacisk na zrozumienie i modelowanie dziedziny biznesowej. Wykorzystuje sprawdzone wzorce i metodyki programowania. Trener języka Java.
Informacje dodatkowe
Informacje dodatkowe
Informacje o materiałach dla uczestników usługi
Zapewniamy uczestnikom studiów dostęp do materiałów przekazywanych przez wykładowców poszczególnych przedmiotów drogą elektroniczną oraz na platformie Moodle. Słuchacze otrzymują: prezentacje przygotowane przez wykładowców, skrypty, inne materiały opisowe przygotowane przez wykładowców, zestawy ćwiczeń.
Warunki uczestnictwa
Osoby z wykształceniem wyższym (I lub II stopnia). Rejestracja https://podyplomowe.wsiz.pl/rekrutacja/
Rejestracja na studia podyplomowe odbywa się w formie elektronicznej. Aby zarezerwować miejsce na studiach podyplomowych konieczne jest złożenie kompletu wymaganych dokumentów rekrutacyjnych. Zgłoszenie na studia tylko przez Bazę Usług Rozwojowych nie gwarantuje miejsca w grupie.
Informacje dodatkowe
Zajęcia odbywają się w soboty-niedziele co 2 tygodnie po około 6-8h lekcyjnych każdego dnia w formie stacjonarnej i zdalnej. Zajęcia zdalne realizowane są z wykorzystaniem platformy Cisco Webex. Czesne za studia wpisane w karcie usługi nie obejmuje opłaty rekrutacyjnej w wysokości 50 zł. Opłatę rekrutacyjną należy wnieść w chwili rejestracji na studia przez system rekrutacyjny uczelni.
Szczegółowy harmonogram zajęć dydaktycznych zostanie wprowadzony do karty usługi co najmniej 2 tygodnie przed terminem rozpoczęcia usługi.
Usługa jest zwolniona z VAT na podstawie art. 43 ust. 1 pkt 26b ustawa o podatku VAT.
Usługa skierowana do Uczestników Projektu MP.
Warunki techniczne
Warunki techniczne
Zajęcia zdalne prowadzone są z użyciem platformy Cisco Webex. Słuchacz loguje się do platformy Cisco Webex ze swojego konta w Wirtualnej Uczelni. Słuchacz, aby skorzystać z zajęć online musi posiadać stanowisko pracy spełniające poniższe minimalne wymagania:
Komputer/laptop/ z zainstalowanym systemem:
Windows
• Windows 10 lub nowszym
Mac OS
• 10.15 lub nowszym
Urządzenia mobilne:
iOS
• 16 i nowsze
iPadOS
• 16 i nowsze
Android
• 10 i nowsze
Minimalna przepustowość połączenia internetowego:
· Download 4 Mb/s
· Upload 4 MB/s
Niezbędne oprogramowanie umożliwiające uczestnikom dostęp do prezentowanych treści i materiałów
- Przeglądarka internetowa (według wyboru słuchacza)
Adres
Adres
Udogodnienia w miejscu realizacji usługi
- Klimatyzacja
- Wi-fi
- Laboratorium komputerowe