Absolwent dwusemestralnych studiów podyplomowych Programowanie i bazy danych uzyskuje szeroką wiedzę z zakresu informatyki z ukierunkowaniem na programowanie i zarządzanie systemami baz danych. Wysoki poziom nauczania zapewnia politechniczna kadra naukowa, aktywnie współpracująca z trójmiejską branżą IT. Każdy z uczestników otrzymuje na czas trwania nauki dostęp do szerokiego zestawu oprogramowania systemowego, projektowego, programistycznego firmy Microsoft (w ramach programu Azure For Education) oraz dostęp do wydziałowego serwera baz danych (MySQL / Oracle).
Studia cieszą się niesłabnącym od kilkunastu lat zainteresowaniem. Ich program jest stale uaktualniany, wraz z postępem wiedzy i rozwojem technologii w informatyce. Wszystkie zajęcia są zasadniczo prowadzone od podstaw, jednak gdy osiągnięta zostanie odpowiednia liczba studentów, powstają grupy laboratoryjne o różnym stopniu zaawansowania. Dzięki takiemu podejściu programować i zarządzać bazami danych nauczymy (niemal) każdego - z powodzeniem studiowali u nas nawet absolwenci studiów humanistycznych, a jednocześnie osoby już programujące nauczą się tworzyć jeszcze lepsze aplikacje, wykorzystujące rozbudowane bazy danych.
Data rozpoczęcia kolejnej edycji: 12 października 2024 r.
Czas trwania studiów: 2 semestry
Program ramowy
Semestr I |
Semestr II |
|||
---|---|---|---|---|
1. Algorytmy, struktury danych i techniki programowania |
15 godz. wykł. |
15 godz. lab. |
|
|
2. Programowanie w C++ |
10 godz. wykł. |
20 godz. lab. |
|
|
3. Programowanie w Javie |
10 godz. wykł. |
20 godz. lab. |
|
|
4. Podstawy baz danych |
|
|
10 godz. wykł. |
20 godz. lab. |
5. Wybrany system baz danych - MySQL |
|
|
15 godz. wykł. |
30 godz. lab. |
6. Seminarium dyplomowe |
|
|
15 godz. sem. |
|
Semestr I
1. Algorytmy, struktury danych i techniki programowania, 15 godz. wykładu + 15 godz. laboratorium
Poziomy abstrakcji. Koncepcje programów. Techniki rekurencyjne. Metoda "dziel i zwyciężaj". Analiza sprawności algorytmów. Algorytmy sortowania. Struktury danych: listy, tablice, stosy, sterty, kolejki, drzewa. Algorytmy przeszukiwania. Elementy algorytmiki grafów. Algorytmy numeryczne: iteracje, miejsca zerowe, interpolacje, różniczkowanie, całkowanie, układy równań liniowych. Haszowanie. Kodowanie i kompresja danych. Wstęp do sztucznej inteligencji. Różne techniki projektowania algorytmów i programowania.
Literatura:
T.H. Cormen, Ch.E. Leiserson, R.L. Rivest, C. Stein, Wprowadzenie do algorytmów. PWN, 2013
P. Wróblewski, Algorytmy, struktury danych i techniki programowania. Wydanie 5. Helion, 2015
J. Bentley, Perełki oprogramowania. Wydanie 2. Helion, 2012
2. Programowanie w C++, 10 godz. wykładu + 20 godz. laboratorium
Składnia języka C++ i porównanie z innymi językami programowania. Operacje arytmetyczne, operacje logiczne. Typy zmienne. Zmienne dynamiczne: tablice rekordy. Instalacje switch. Iteracje. Podprogramy: procedury, funkcje. Struktury rekurencyjne. Programowanie obiektowe: terminologia, przykłady (klasy), składowe statyczne klas, metody stałe klas, dziedziczenie własności.
Literatura:
J. Grębosz, Symfonia C++. Edition 2000, 2010
B. Stroustrup, Język C++. Kompendium wiedzy. Helion, 2014
B.W. Keriningham, D.M. Ritchie, Język ANSI C. Wydanie II. Helion, 2010
3. Programowanie w Javie, 10 godz. wykładu + 20 godz. laboratorium
Cechy charakterystyczne języka Java. Repetytorium projektowania obiektowego. Liczby i operatory związane z wartościami liczbowymi. Polecenia iteracyjne w Javie. Operacje wejścia-wyjścia. Definiowanie obiektów i klas. Dziedziczenie i polimorfizm. Interfejsy, a klasy abstrakcyjne. Kolekcje i typy uogólnione. Wyjątki - typy i ich obsługa.
Literatura:
K. Barteczko, Java. Programowanie praktyczne od podstaw. PWN, 2014
Semestr II
1. Podstawy baz danych, 10 godz. wykładu + 20 godz. laboratorium
Ewolucja systemów baz danych. Architektura. Relacyjny model. Zależności funkcyjne. Reguły dotyczące zależności funkcyjnych. Projektowanie relacyjnych schematów baz danych. Zależności wielowartościowe. Proste zapytania w języku SQL, zapytania dotyczące więcej niż jednej relacji. Pod zapytania. Powtórzenia. Grupowanie. Modyfikacje. Schematy relacji. Definiowanie perspektyw. Wartości NULL i złączenia zewnętrzne. Rekurencje w SQL. Klucze. Integralność systemu i klucze obce. Więzy i ich modyfikacje. Wyzwalacze.
Literatura:
J.P. Ullman, J. Widom, Podstawowy wykład z systemów baz danych. Wydanie III. Helion, 2011
2. Wybrany system baz danych - MySQL, 15 godz. wykładu + 30 godz. laboratorium
Podstawowe definicje i terminologia. Rodzaje systemów baz danych. Podstawowe bazy danych. Instalacja bazy MySQL. Administracja bazą danych. Projektowanie baz danych. Podstawowa praca z bazami. Operatory. Relacje między tablicami. Transakcje i blokowanie. Backup baz. Dostęp do baz z różnych języków programowania. Specyficzne znaki narodowe.
Literatura:
P. DuBois, MySQL. Vademecum profesjonalisty. Wydanie V. Helion, 2014
M. Stucky, MySQL. Budowanie interfejsów użytkownika. Vademecum profesjonalisty. Helion, 2003
R.J. Yarger, G. Reese, T. King, MySQL i mSQL. O'REILLY, 2001
M. Zandstra, PHP. Obiekty, wzorce, narzędzia. Wydanie IV. Helion, 2014
A. Descartes, T. Bunce, Perl DBI - programowanie. O'REILLY, 2000
3. Seminarium dyplomowe, 15 godz
W ramach przedmiotu studenci przygotowują i prezentują kompletną aplikację komputerową (wraz z dokumentacją) na wybrany temat, wykorzystującą poznane technologie.