Przejdź do treści

Inżynieria oprogramowania

Profil absolwenta

Umiejętności obejmujące wszystkie fazy cyklu życia oprogramowania ze szczególnym uwzględnieniem:

  • pozyskiwania i zarządzania wymaganiami;
  • analizy dziedziny problemu oraz tworzenia modelu obiektowego;
  • projektowania systemów o średniej złożoności z wykorzystaniem podejścia obiektowego i wzorców projektowych;
  • użytkowej znajomości nowoczesnych platform programistycznych (np. J2EE, .NET);
  • znajomości i umiejętność posługiwania się odpowiednimi do fazy cyklu życia oprogramowania narzędziami CASE;
  • znajomości narzędzi do projektowania graficznych interfejsów użytkownika.

Umiejętności obejmujące zagadnienia zarządzania informacją dostępną w rozproszonym środowisku webowym, w szczególności:

  • znajomość statystycznych mechanizmów oraz narzędzi eksploracji wiedzy dla potrzeb zarządzania informacją;
  • znajomość narzędzi i metod przetwarzania informacji w postaci graficznej dla potrzeb nowoczesnych aplikacji webowych.

Tematyka prac dyplomowych

  • Systemy sztucznej inteligencji: programowanie gry w szachy, wspomaganie decyzji inwestycyjnych na giełdzie, wykrywanie plagiatów.
  • Algorytmy przetwarzania, kompresji i analizy obrazów w medycynie, przemyśle, statystyczne metody rozpoznawania obrazów
  • Wspomaganie procesu programowania i zarządzanie oprogramowaniem.
  • Przetwarzanie informacji tekstowej przy użyciu języków skryptowych
  • Programowanie systemowe w Windows
  • Wykorzystanie procesorów wielordzeniowych, testy procesorów AMD i Intel.
  • Programowanie grafiki, technologia NVidia CUDA
  • Aplikacje webowe w zastosowaniach komercyjnych, edukacyjnych, naukowych.
  • Nowoczesne technologie programowania aplikacji WWW: J2EE, .NET, systemy CMS.
  • Programowanie metod numerycznych w tomografii.
  • Bazy danych: Integracja systemów relacyjnych i obiektowych, współczesne tendencje i koncepcje baz danych, rozproszone bazy danych, hurtownie danych, systemy OLAP.
Treść (rozbudowana)
Przedmioty obowiązkowe na specjalności
 
 
 
 
Sem. V
Sem. VI
Sem. VII
l.p.
Nazwa przedmiotu
ECTS
e
w
ć
l
w
ć
l
w
ć
l
1
Inżynieria wymagań
2
 
15
 
15
 
 
 
 
 
 
2
Podstawy konteneryzacji i architektury mikroserwisów
2
 
 
 
 
15
 
15
 
 
 
3
Projektowanie obiektowe - wzorce projektowe
3
e
 
 
 
15
 
30
 
 
 
4
Zaawansowane programowanie obiektowe
4
 
15
 
30
 
 
 
 
 
 
5
Programowanie aplikacji webowych
3
e
 
 
 
 
 
 
15
 
15
6
Programowanie sieciowe
2
 
 
 
 
15
 
15
 
 
 
7
Projektowanie dynamicznych stron WWW
2
 
 
 
 
15
 
15
 
 
 
8
Zarządzanie projektami informatycznymi
4
e
 
 
 
30
 
15
 
 
 
9
Relacyjne i obiektowe bazy danych (I-14)
4
e
15
 
30
 
 
 
 
 
 
 
 
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
0
75
90
0
75
15
0
15

Na kierunku Informatyka studenci mają do wyboru 12 bloków obieralnych z różnych obszarów tematycznych. Każdy student wybiera dwa bloki obieralne.  Instytut Informatyki Stosowanej proponuje następujące bloki obieralne

Szczegółowe opisy przedmiotów można znaleźć na stronie: https://programy.p.lodz.pl/ectslabel-web/

0
Blok obieralny: Testowanie i zapewnienie jakości oprogramowania

opiekun bloku: dr inż. Radosław Adamus

Wybierając ten blok student zapozna się z zagadnieniami związanymi z metodami zapewniania jakości oprogramowania, których filarem jest testowanie. Oprogramowanie można testować na wiele sposobów, a każda z metod ma swoje wady i zalety.

W ramach bloku poruszane są takie zagadnienia, jak: testy jednostkowe, izolacja testu, testy integracyjne, testy funkcjonalne, testowanie aplikacji webowych, TDD, BDD, testy parametryczne, i wiele innych. Tematyka przydatna jest tak dla tych, którzy chcieliby pracować na stanowisku testera, jak i programistów.

Dodatkowo zapewniamy, że zajęcia prowadzone są z wykorzystaniem nowoczesnych środowisk programistycznych i narzędzi, które stosowane są w branży IT w codziennej pracy nad rozwojem oprogramowania.

Więcej na temat bloku na stronie Koła Młodych Informatyków

 
 
 
 
Sem. VI
Sem. VII
l.p.
Nazwa przedmiotu
ECTS
e
w
ć
l
W
ć
l
1
Metody testowania oprogramowania
5
 
15
 
45
 
 
 
2
Programowanie pod kątem wielokrotnego użycia
3
 
     
10
 
20
 
 
 8
 
15
0
45
10
0
20
0
Blok obieralny: Grafika i multimedia

opiekun bloku: dr Joanna Sekulska-Nalewajko

Blok „Grafika i Multimedia” zapewnia zdobycie umiejętności w zakresie tworzenia i obróbki informacji audiowizualnej oraz dalszego wykorzystywania jej w aplikacjach graficznych. W trakcie zajęć są poruszane tematy: tworzenia animacji komputerowej wspartej programowaniem w językach skryptowych; konwersji projektów animacji 2D do formatów filmowych lub obiektów HTML5 Canvas; budowania interfejsów graficznych; kreowania fotorealistycznych wizualizacji oraz animacji 3D; zasad profesjonalnego montażu filmów i ich udźwiękowiania.

Nabytą wiedzę można wykorzystać w tworzeniu gier i aplikacji graficznych na urządzenia przenośne; programowaniu aplikacji multimedialnych oraz przy post produkcji filmów. Osoby zainteresowane wyborem bloku powinny posiadać umiejętność programowania w stopniu podstawowym.

Mile widziane jest zainteresowanie grafiką komputerową oraz wrażliwość plastyczna. 

 
 
 
 
Sem. VI
Sem. VII
l.p.
Nazwa przedmiotu
ECTS
e
w
ć
l
W
ć
l
1
Programowanie aplikacji multimedialnych
2
 
10
 
15
 
 
 
2
Grafika trójwymiarowa (I-14)
2
 
5
 
15
 
 
 
3
Grafika animacyjna
1
 
 
 
15
 
 
 
4
Techniki tworzenia plików filmowych
3
 
 
 
 
15
 
15
 
 
8
 
15
0
45
15
0
15
0
Blok obieralny: programowanie gier

opiekun bloku: dr inż. Paweł Kapusta

W ramach bloku obieralnego przekazywana jest wiedza dotycząca tworzenia gier, z nastawieniem na gry 2D i urządzenia mobilne. Uczymy podstaw i praktyk, bez których zrobienie dobrych gier jest dużo bardziej skomplikowane.

Technologie z których korzystamy są dostosowane głównie do programowania na Windows 10, Xbox One oraz na systemy mobilne iOS i Android na przykładzie frameworków DirectX Toolkit, MonoGame, SDL i Phaser, ale zdobyta wiedza będzie miała zastosowanie niezależnie od systemu operacyjnego lub wykorzystywanych narzędzi.

W ramach bloku omawiane są wszystkie podstawowe zagadnienia, których umiejętność jest potrzebna do własnoręcznego pisania gier, takie jak: pętla gry, wyświetlanie i animowanie obiektów 2D,  logika i wykrywanie kolizji, projektowanie poziomów oraz efekty dźwiękowe i graficzne z wykorzystaniem shaderów.

W ramach bloku poruszane są również zagadnienia związane z dostosowaniem interfejsu użytkownika do potrzeb urządzeń mobilnych, mikrotransakcjami i przygotowaniem aplikacji do sprzedaży na platformach Apple App Store, Microsoft Store i Google Play.

Więcej informacji: http://iis-mobile.github.io/

 
 
 
 
Sem VI
Sem VII
l.p.
Nazwa przedmiotu
ECTS
e
w
ć
l
w
ć
l
p
1
Programowanie gier 2D
2
 
15
 
15
 
 
 
 
2
Progr. z wykorzystaniem CUDA i OpenCL
2
 
15
 
10
 
 
 
 
3
Progr. gier i aplikacji na urządzenia przenośne
3
 
 
 
 
10
 
 
20
 
 
8
 
30
0
25
10
0
0 20
0
Blok obieralny: Inteligentne systemy autonomiczne

Opiekun bloku: prof. dr hab. Krzysztof Ślot

Systemy obdarzone inteligencją to dziś standard techniki, a umiejętność ich tworzenia to przepustka do przyszłości dla inżyniera informatyka.

Oferujemy możliwość zdobycia wiedzy i umiejętności w zakresie opracowywania i implementacji algorytmów sztucznej inteligencji, działających w świecie rzeczywistych obiektów - inteligentnych maszyn świata Internetu Rzeczy (IoT).

Wiedza na temat tego jak budować autonomiczne pojazdy, jak wyposażać je w zmysły oraz jak sprawić by się uczyły i myślały, zostanie wprowadzona od poziomu podstawowego.

Osiągnięcie zakładanych celów będzie możliwe dzięki ścisłemu ukierunkowaniu prezentowanego materiału.

Zajęcia laboratoryjne będą miały formułę jednego projektu, realizowanego przez dwa semestry, stopniowo wzbogacanego o wprowadzane, nowe treści.

   
 
 
Sem VI
Sem VII
l.p. Nazwa przedmiotu
ECTS
e
w
ć
l
w
ć
l
1 Programowanie platform autonomicznych
2
 
15
 
45
 
 
 
2 Analiza obrazów w systemach autonomicznych
3
 
 
 
 
20
 
10
   
8
 
15
0
45
20
0
10
0