STUDIA PODYPLOMOWE / Informatyka

Inżynieria oprogramowania – we współpracy z ASSECO POLAND

ZAPISZ SIĘ NA STUDIA

CZAS TRWANIA STUDIÓW

220 godz.

2 semestry

CZESNE

3 600 PLN za semestr

raty miesięczne

FORMA STUDIÓW

hybrydowa

około 80% zajęć online

PIERWSZE ZAJĘCIA

październik 2024

Zdobądź wykształcenie w jednej z najważniejszych dziedzin współczesnej informatyki, którą jest inżynieria oprogramowania

OPIEKUN MERYTORYCZNY KIERUNKU

Studia prowadzone pod patronatem

Asseco

Inżynieria oprogramowania to obecnie bardzo atrakcyjny kierunek studiów, ponieważ rynek pracy obfituje w oferty związane z dziedziną informatyki. Studia związane są z różnymi aspektami wytwarzania oprogramowania od projektowania, poprzez programowanie, a na testowaniu i dokumentowaniu aplikacji skończywszy.

W pierwszym semestrze studiów słuchacze uczestniczą w autoryzowanych szkoleniach z zakresu:

  • Programowania – obejmuje zagadnienia związane z tworzeniem aplikacji przy wykorzystaniu nowoczesnych obiektowych języków programowania (Java SE 8 Fundamentals)
  • Baz danych – obejmuje zagadnienia, poprawnego projektowania i programowania. W ramach kierunku studenci poznają język zapytań SQL oraz PL/SQL (Oracle Database: SQL Fundamentals I, Oracle Database: SQL Fundamentals II, Oracle Database: Program with PL/SQL)
    • Słuchacz nabywa wiedzę związaną z architekturą oprogramowania, wzorcami projektowymi i metodami zarządzania złożonością oprogramowania, ze szczególnym uwzględnieniem podejścia Domain-Driven Design. Poznaje także najważniejsze metody wytwarzania oprogramowania, w tym metody zwinne i SCRUM.

      Drugi semestr jest poświęcony budowaniu aplikacji klasy enterprise. Słuchacz zdobywa umiejętność praktycznego posługiwania się nowoczesnymi technologiami i narzędziami programistycznymi biorąc udział w budowaniu wielowarstwowej aplikacji webowej w technologii Java EE. Prace są prowadzone w zespołach wykonujących wszystkie podstawowe czynności towarzyszące wytwarzaniu profesjonalnego oprogramowania: analiza, projektowanie, programowanie, testowanie i wdrażanie aplikacji.

      Podczas oferowanych zajęć uczestnicy realizują autoryzowane szkolenia firmy Oracle, co pozwala im na zdobycie wiedzy teoretycznej i praktycznej z zakresu baz danych i przygotować do uzyskania certyfikatu z języków SQL, PL/SQL i JAVA. Dodatkowo słuchacze otrzymują vouchery na egzaminy certyfikujące, które pozwalają na przystąpienie do egzaminu w dowolnym centrum egzaminacyjnym VUE ze zniżką w wysokości 25%.


      Adresat studiów Inżynieria oprogramowania:

      Studia przygotowują słuchaczy do pracy w zespołach wytwarzających oprogramowanie. Słuchacz ma możliwość zapoznania się ze środowiskami programistycznymi, organizacją pracy w grupie projektowej oraz nowoczesnymi technikami wytwarzania oprogramowania. Treści kształcenia są oparte na doświadczeniu wynikającym z realizacji rzeczywistych, złożonych projektów informatycznych. Program jest skonstruowany tak, aby skorzystały z niego osoby posiadające przynajmniej podstawową wiedzę z zakresu programowania lub w przypadku jej braku mające predyspozycje do pracy w zawodzie programisty.


      Absolwenci otrzymują:

      • Świadectwo ukończenia studiów podyplomowych
      • Certyfikaty ukończenia autoryzowanych szkoleń: Java SE 7 Fundamentals, Oracle Database: SQL Fundamentals I i II, Oracle Database: Program with PL/SQL

Wybrane przedmioty

  • Algorytmy i struktury danych
  • Języki i metody programowania
  • Bazy danych
  • Aplikacje korporacyjne
  • Techniki wytwarzania złożonego oprogramowania

PRZEDMIOT

LICZBA GODZIN

ZAGADNIENIA

Algorytmy i stroktury danych

20

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.

Języki i metody programowania, cz.1

48

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
Dziedziczenie, klasy abstrakcyjne, interfejsy, polimorfizm
Klasy generyczne i kolekcje
Wyjątki
Operacje wejścia/wyjścia
Wielowątkowość
Dostęp do baz danych (JDBC)
Komunikacja sieciowa
Obsługa XML
Interfejs GUI (Swing)

Techniki wytwarzania złożonego oprogramowania

24

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

48

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
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

32

Technologie warstwy Web (Servlets/JSP)
Technologie warstwy logiki biznesowej (EJB)
Technologie warstwy danych (Persistence API)
Tworzenie aplikacji JEE Web – struktura aplikacji, uruchamianie i zarządzanie aplikacjami z poziomu serwera aplikacji
Implementacja servletów (Servlets API)
Tworzenie dynamicznych formularzy
Zarządzanie sesją i kontekstem aplikacji
Struts MVC
Tworzenie aplikacji z dostępem do bazy danych
Projektowanie warstwy logiki biznesowej
JSP/JSF

Aplikacje korporacyjne

48

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

RAZEM:

220

OPINIA OPIEKUNA KIERUNKU

Inżynieria oprogramowania – we współpracy z ASSECO POLAND

Software engineer to zawód wymagający nie tylko licznych kompetencji twardych, ale również umiejętności miękkich. Jest to związane z ważnym rozróżnieniem na programistę, a inżyniera oprogramowania. Zawody te różnią się od siebie, mimo pozornie podobnego zakresu działań. Praca w inżynierii oprogramowania wymaga szerszych kompetencji oraz kompleksowego podejścia do oprogramowania.

Do głównych zadań software enegineera należy opieka nad sprawnym funkcjonowaniem każdego etapu życia oprogramowania. Oznacza to, iż w jego kompetencjach leży projektowanie, tworzenie, wdrożenie, testowanie i utrzymanie produktu. Inżynier zajmuje się także współpracą z klientem oraz pozostałym sektorem IT, którego prawidłowa praca jest niezbędna do wytworzenia oprogramowania wysokiej jakości.

Osoba, która chce pracować w inżynierii oprogramowania powinna posiadać umiejętności pracy w językach programowania, a także wykazywać się znajomością metod projektowania, testów i bezpieczeństwa oprogramowania, protokołów sieciowych, a także technicznego języka angielskiego. Predyspozycje, jakie ułatwiają pracę software engineera to przede wszystkim zdolność do analitycznego myślenia, gotowość i chęć do stałej nauki, umiejętność pracy pod presją oraz dbałość o regularność wykonywania zadań.

Maciej Koryl - opiekun merytoryczny kierunku Inżynieria oprogramowania

dr Maciej Koryl

Od 1996 roku programista, projektant, architekt i szef zespołów deweloperskich w firmie Asseco Poland S.A. Współtwórca rozwiązań dla sektora bankowego, specjalizujący się w budowaniu systemów transakcyjnych i sprzedażowych.

DLACZEGO TEN KIERUNEK?

Opinie absolwentów
    • Bardzo dobra organizacja studiów, wykładowcy posiadają dużą wiedzę w swoich dziedzinach i są bardzo pomocni. Atmosfera podczas studiów również sympatyczna. Polecam studia w WSIiZ.
      Anna Rybak
    • Studia merytoryczne z bogatym materiałem. Polecam serdecznie.
      Radosław Miśko
    • Polecam studia z Inżynierii Oprogramowania na WSIiZ w Rzeszowie. Kierunek umożliwia poznanie bardzo wielu aspektów z dziedziny programowania, od projektowani i analizy wymagań do samodzielnego pisania programów. Wykwalifikowana kadra bardzo dobrze przekazuje wiedzę zarówno praktyczną jak i teoretyczną. Współpraca z ASSECO to duży plus.
      Stanisław Molitorys
    • Dobra organizacja zajęć, super wykładowcy. Polecam.
      Maciej Goral
    • W szkole panuje serdeczna atmosfera. Są tu wykorzystane nowoczesne technologie by przekazywać w sposób innowacyjny. Wiedza przekazywana jest w interesujący i przystępny sposób. Zdecydowanie polecam studia na tym kierunku.
      Magdalena Borcz
    • Studia pokazują i uczą wytwarzania oprogramowania produkcyjnego. Wykładowcy to praktycy wytwarzający, tworzący wielkie projekty. Zajęcia praktyczne realizowane są w grupach podobnie jak w firmach programistycznych. Poszczególne grupy tworzą pewna funkcjonalność następnie wszystko łączone jest w całość.
      Grzegorz Molczyk
    • Najcenniejszy na studiach był ich wymiar praktyczny. Zapoznaliśmy się z technologiami stosowanymi przez programistów z ASSECO POLAND S.A. Polecam.
      Seweryn Możdzeń
    • Bardzo polecam studia na kierunku Inżynieria Oprogramowania. Wysoki poziom merytoryczny jak i organizacyjny odpowiada na potrzeby rynku pracy w zakresie kształcenia w dziedzinie projektowania i programowania  aplikacji bazodanowych.
      Ireneusz Balawender
    • Realizacja studiów we współpracy z Asseco była zdecydowaną wartością dodaną. Studia przebiegały w miłej, luźnej atmosferze. Program studiów kompletny i z praktycznym odniesieniem.
      Marcin Ficek
    • Moim zdaniem nawiązanie współpracy z Asseco to strzał w dziesiątkę. Studia zyskują na praktyczności przekazywanych wiadomości i tym samym służą lepszemu zgłębieniu tematu. Tylko wiedza praktyczna pomaga odnaleźć się w tym kierunku na rynku pracy, a taką wiedzę otrzymaliśmy przez cały tok studiów.
      Tomasz Nowakowski
    • Dobrze rozplanowany plan zajęć i dostęp do wszelkich materiałów informacyjnych oraz materiałów z zajęć. Wykładowcy z dużą wiedzą, udzielający wszelkich odpowiedzi. Mila atmosfera w trakcie zajęć.
      Dorota Supel
    • Studia spełniły moje oczekiwania. Program studiów adekwatny do potrzeb rynku.
      Marcin Melsztyński

WYBIERZ KIERUNEK

Inżynieria oprogramowania – we współpracy z ASSECO POLAND

CZAS TRWANIA STUDIÓW

220 godz.

2 semestry

CZESNE

3 600 PLN za semestr

raty miesięczne

FORMA STUDIÓW

hybrydowa

około 80% zajęć online

PIERWSZE ZAJĘCIA

październik 2024