Treści kształcenia realizowane są w ramach następujących przedmiotów ramowych:

Podstawy programowania

Cel przedmiotu: Zapoznanie Słuchaczy z podstawowymi językami programowania, algorytmiką i operowaniem na podstawowych strukturach danych. Szczególny nacisk położony został na język Java jako jeden z najpopularniejszych i najbardziej uniwersalnych języków spotykanych na rynku oprogramowania.

Zakres materiału:  Wprowadzenie do programowania w popularnych językach np. Java,  C#.  Zapoznanie   z   podstawowymi   konstrukcjami,   implementacja,  kompilacja/translacja, uruchamianie/interpretacja.   Zagadnienia   modularyzacji   kodu.

Literatura:

  • Bruce Eckel, Thinking in Java, Helion 2006.
  • Kathy Sierra, Bert Bates, Head First Java, Edycja Polska, Helion 2004.

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: dr inż. Marek Gajęcki.

 

Techniki i narzędzia implementacji systemów

Cel przedmiotu: Zapoznanie słuchaczy z podstawowymi koncepcjami stojącymi za programowaniem w językach obiektowych oraz pozyskanie przez słuchaczy umiejętności programowania w językach obiektowych (Java, C#, C++).

Zakres materiału: Języki obiektowe (Java, C#, C++). Kompilacja i interpretacja, Systemy kontroli wersji (GIT), Testowanie oprogramowania i środowiska testujące, Programowanie systemów mobilnych.

Literatura:

  • Paul Duvall, Continous integration: improving software quality and reducing risk, Addison-Wesley 2007.
  • Michael Pilato, Ben Collins-Sussman, Brian Fitzpatrick, Version control with Subversion, Oreilly 2008.

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: dr hab. inż. Aleksander Byrski

 

Zagadnienia inżynierii oprogramowania

Cel przedmiotu: Zapoznanie słuchaczy z podstawowymi elementami i procesami inżynierii oprogramowania w szczególności procesem zarządzania wymaganiami oraz popularnymi modelami takimi jak metody lekkie (agile). Opanowanie materiału jest warunkiem koniecznym zdobycia umiejętności uczestniczenia w dowolnym etapie konstrukcji oprogramowania. Dodatkowym elementem przedmiotu jest omówienie kwestii prawnych związanych z branżą IT.

Zakres materiału:  Typowe cechy tzw. modeli klasycznych (kaskadowy, spiralny, przyrostowy). Produkt i proces produkcyjny oprogramowania. Podstawowe problemy inżynierii   oprogramowania.   Cykl   życia   systemu   informatycznego.   Metodologie projektowania   systemów   informatycznych.   Podstawy metodologii lekkich.  Scrum,  Programowanie ekstremalne.   Porównanie   metod   klasycznych   z   metodami lekkimi.   Techniki   estymacji   rozmiaru   projektu   i   planowania,  Gra planistyczna, zarządzanie   wymaganiami, techniki i narzędzia zespołów programistycznych, komunikacja w zespołach programistycznych, wybrane aspekty prawne w branży IT.

Literatura:

  • Andrzej Jaszkiewicz, Inżynieria Oprogramowania, Helion 1997.
  • Krzysztof Sacha, Inżynieria Oprogramowania, PWN 2010.
  • Craig Larman,  Agile and Iterative Development: A Manager's Guide. Addison-Wesley. 2004.
  • Kent Beck  Extreme Programming Explained Addison-Wesley. 1999.
  • Ken Schwaber, Sprawne zarządzanie projektami metodą Scrum, Promise 2016

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: dr inż. Jacek Dajda

 

Bazy danych

Cel przedmiotu: Zapoznanie Słuchaczy z podstawowymi problemami projektowania, implementacji i zarządzania aplikacjami bazodanowymi, tematyką niezbędną i bardzo popularną (np. we wszelkiego rodzaju aplikacjach o architekturze wielowarstwowej, bądź budowanych w oparciu o modele typu MVC).

Zakres materiału:  Podstawy  technologii   baz   danych.   Podstawy  modelu   relacyjnych   baz   danych   i języka algebry relacji. Modelowanie rzeczywistości – model pojęciowy i zasady jego konstrukcji. Zasady  poprawnej   konstrukcji   relacyjnego   modelu   logicznego   i   proces   normalizacji   schematu. Warunki integralności. Bezpieczeństwo. SQL. 

Literatura:

  • Abraham Silberschatz, Database System Concepts VI ed., McGraw-Hill 2010.
  • Paul Beynon-Davies, Systemy baz danych, WNT 2003.

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: dr hab. inż. Bartłomiej Śnieżyński.

 

Programowanie systemów rozproszonych

Cel przedmiotu: Zapoznanie Słuchaczy z budową i działaniem środowisk rozproszonych oraz możliwości tworzenia w nich aplikacji przy użyciu popularnych technologii.

Zakres materiału:  Podstawy   programowania   aplikacji   rozproszonych. Programowanie w modelu klient/serwer. TCP/IP Sockets. Corba. RMI. ICE.

Literatura:

  • M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. WNT 1996. 
  • Heather Osterloh, TCP/IP Szkoła Programowania, Helion 2006.

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: prof. dr hab. inż. Krzysztof Zieliński

 

Technologie obiektowe i komponentowe

Cel przedmiotu: Zapoznanie Słuchaczy z technikami analizy i projektowania obiektowego z uwzględnieniem metod weryfikacji oprogramowania przy użyciu testów jednostkowych i pokryciowych jak również z technikami konstrukcji reużywalnego oprogramowania w postaci niezależnie tworzonych komponentów, składanych przy użyciu różnego rodzaju technologii.

Zakres materiału:  Podstawowe   pojęcia   i   zasady   modelowania. Modelowanie pojęć dziedziny. Modelowanie wymagań. Podstawy UML - diagramy i ich elementy. Przykładowa   metodologia   analizy   obiektowej.   Wzorce   projektowe.   Implementacja prostych systemów na podstawie analizy obiektowej.  Testowanie jednostkowe. Mock objects.  Testowanie pokryciowe. Pojęcie   komponentu, środowiska komponentowego. Wydzielanie reużywalnych części systemów (komponentów). Testowanie systemów komponentowych. Wzorzec Dependency   injection/Inversion   of   Control.  

Literatura:

  • Grady Booch, UML Przewodnik użytkownika, WNT 2006.
  • Brett McLaughlin, Gary Pollice, Dave West, Head First Object Oriented Analysis and Design, Oreilly 2006.
  • Clemens Szyperski,  Oprogramowanie komponentowe, WNT 2001.
  • Andy Wang, Kai Qian, Component-Oriented Programming, Wiley Interscience, 2005.

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: dr hab. inż. Marek Kisiel-Dorohinicki

 

Programowanie aplikacji webowych

Cel przedmiotu: Zapoznanie Słuchaczy z aktualnymi technikami implementacji aplikacji webowych o architekturze wielowarstwowej ze szczególnym uwzględnieniem języków programowania WWW.

Zakres materiału: język HTML oraz CSS, język Javascript, tworzenie statycznych oraz dynamicznych (Single Page Applications) stron WWW,  tworzenie aplikacji wielowarstwowych, architektura oparta o mikroserwisy (REST)

Literatura:

  • Nicholas C. Zakas, ECMAScript 6. Przewodnik po nowym standardzie języka JavaScript, Helion, 2017
  • Jon Duckett, HTML i CSS. Zaprojektuj i zbuduj witrynę WWW, Helion, 2014

Forma i warunek zaliczenia: ocena wykonywanych zadań w trakcie laboratoriów i prac wykonywanych w domu.

Osoba odpowiedzialna: dr hab. inż. Jarosław Koźlak.

 

Pracownia projektowa

Cel przedmiotu: Umożliwienie Słuchaczom wzięcia udziału w kompletnym cyklu konstrukcji oprogramowania w grupie realizującej projekt z użyciem metod lekkich (agile).

Zakres materiału: informacje poruszane w trakcie całego studium.

Forma i warunek zaliczenia: ocena mini projektu realizowanego w trakcie laboratoriów lub w domu.
Specyfika przedmiotu wyrażona w konieczności ciągłego kontaktu z prowadzącym w trakcie realizacji przedsięwzięcia programistycznego trwającego dwa dni po sobie, 8 godzin lekcyjnych na dzień, wymaga prowadzenia zajęć równolegle przez dwóch prowadzących.

Literatura:

  • Ken Schwaber, Sprawne zarządzanie projektami metodą Scrum, Promise 2016

Osoba odpowiedzialna: dr inż. Jacek Dajda

Go to top