===== Program Studiów ===== ^ Lp ^ Przedmiot ^ wykłady ^ laboratoria ^ ECTS ^ | 1 | Programowanie w C/C++ | 16 | 22 | 5 | | 2 | Metodologie obiektowe | 4 | 6 | 2 | | 3 | Technologie komponentowe i sieciowe | 4 | 12 | 2 | | 4 | Konstruowanie baz danych | 10 | 12 | 3 | | 5 | Elementy inżynierii oprogramowania | 10 | 12 | 3 | | 6 | Modele wytwarzania oprogramowania | 10 | 12 | 3 | | 7 | Testowanie oprogramowania | 6 | 4 | 1 | | 8 | Zaawansowane technologie bazodanowe | 10 | 12 | 3 | | 9 | Technologie i aplikacje webowe | 12 | 14 | 3 | | 10 | Użytkowanie i administrowanie systemem Unix/Linux | 6 | 10 | 2 | | 11 | Zarządzanie projektem informatycznym | 10 | 10 | 2 | W tabeli dla każdego przedmiotu podano kolejno: liczbę godzin wykładowych, laboratoryjnych oraz przypisane punkty ECTS. ---- **Szczegółowe omówienie programu** * Duży nacisk położony jest na zdobycie umiejętności programowania w językach C/C++/C# na odpowiednio wysokim, zaawansowanym poziomie. Realizowane jest to m.in. poprzez dużą liczbę godzin dydaktycznych, pozwalających przećwiczyć wszystkie zasadnicze zagadnienia związane z programowaniem w tych językach. * Rozszerzeniem ostatniego wątku są także technologie obiektowe, które są poznawane zarówno z podbudową teoretyczną jak i silnie zorientowane na praktyczne, i dobrze przećwiczone, zastosowania. * Technologie komponentowe odgrywają coraz większą rolę przy tworzeniu oprogramowania, poznawane są od najprostszych rozwiązań (VB.NET, C#), z możliwością przejścia do zagadnień jeszcze bardziej zaawansowanych (SOAP, REST, MVC, OSGi, ADO.NET, ORM, LINQ), także serwisów sieciowych SOA. Główny nacisk położony jest na część praktyczną tworzenia komponentów. * Konstruowanie baz danych towarzyszy wielu przedsięwzięciom i dlatego niezbędne jest poznanie podstawowych zagadnień związanych ze strukturą, organizacją, przetwarzaniem i tworzeniem zapytań w bazach danych. Realizowane jest to zarówno poprzez zajęcia teoretyczne, jak i liczne dobrze zaprojektowane ćwiczenia praktyczne. * Inżynieria oprogramowania posiada swoje metody niezbędne i krytyczne przy profesjonalnym tworzeniu oprogramowania. Modelowanie systemu wymaga zrozumienia jego abstrakcyjnej struktury, logiki i cyklu życia. * Coraz większe znaczenie w projektowaniu systemów informatycznych odgrywają kierowane modelami zintegrowane systemy projektowania pozwalające ująć ten proces w sposób całościowy, we wszystkich aspektach statycznych i behawioralnych systemu, ale także na poszczególnych etapach jego tworzenia. Główne znaczenie mają tu języki i notacje typu UML, które są poznawane zarówno od strony teoretycznej, jak i poprzez samodzielne wykonanie praktycznych projektów. * Z każdym projektem informatycznym związane jest testowanie oprogramowania, które jest ważnym elementem zapewnienia jakości oprogramowania. Testowanie jest niezbędnym czynnikiem w w całym procesie produkcji oprogramowanie, stąd też rosnące zapotrzebowanie na pracę testerów na rynku IT. * Zaawansowane technologie baz danych są kontynuacją odpowiedniego wątku z kursu podstawowego, dotyczącego organizacji i przetwarzania w bazach danych. Realizowane jest to również poprzez zajęcia silnie zorientowane praktycznie (PostgreSQL, Hibernate/JPA). Zajęcia obejmują także język PHP. * Aplikacje webowe odgrywają coraz większą rolę we współczesnej informatyce. W zakres zainteresowania wchodzą tu zarówno różne języki skryptowe (JavaScript) oraz język Java (po stronie serwera i klienta). * Problematyka administrowania systemami wiąże się nieodzownie z systemami UNIX czy Linux. Przedstawiając odpowiednie zagadnienia duży nacisk położono na ćwiczenia praktyczne. * Zarządzanie projektem informatycznym, szczególnie w przypadku dużych projektów, odgrywa coraz większą rolę, obejmując szereg takich problemów jak przykładowo: infrastruktura projektu, zarządzanie ryzykiem, podział ról i zadań, delegowanie uprawnień, synchronizacja, problematyka jakości, dokumentowanie i inne.