Seminarium magisterskie

Temat pracy

Zanim zaczniemy rozmowę o temacie pracy…

Jak pisać pracę magisterską z zakresu informatyki

Struktura pracy magisterskiej…
Wymagania redakcyjne takie jak w przypadku pracy inżynierskiej…
Błędy kardynalne, których tolerować nie będę…

Począwszy od semestru letniego roku 2021 nie będę czytał prac nie spełniających przedstawionych zasad redagowania oraz zwierających przedstawione wyżej błędy. Będę tylko odsyłał informację: Nie spełnia zasad redakcyjnych lub zawiera błędy kardynalne. Dlaczego? Bo ciągle dostaje prace nie spełniające zasad i zawierające błędy kardynalne. Wychodzi na to, że nikt nie czyta tego, co na tej stronie umieszczam. Nie mam już siły ciągle pisać tych samych uwag, znowu, i znowu. Nie piszecie zgodnie z zaleceniami, ja nie czytam.

Sugerowany format

Proponowany szablon pracy (Word/Writer), taki jak dla prac inżynierskich. Pierwsza strona dla WSTI, proszę zmieniać wg potrzeb, posiada odpowiednią strukturę, zdefiniowane style, dostosowany jest do wydruku dwustronnego, zawiera również kompendium wiedzy na temat tego co mam być w pracy inżynierskiej, licencjackiej, magisterskiej, oraz informację jak ją redagować. Uwaga, nie trzeba używać tego szablonu, ale on pokazuje pożądany sposób formatowania treści.

Zgłaszanie tematów prac magisterskich, WSTI

Wzór karty tematu pracy (doc), wzór planu pracy (doc), wzór planu pracy (pdf).

Kartę tematu i plan pracy należy:

  1. Uważnie wypełnić, dbając o konkrety w treści, poprawność językową oraz poprawną redakcję.
  2. Przesłać do mojej akceptacji, adres: seminarium(at)siminskionline.pl.
  3. Zaakceptowane dokumenty PDF odeślę z podpisem, każdy z seminarzystów odsyła je do dziekanatu indywidualnie. Planowałem zbiorcze wysłanie wszystkich dokumentów w imieniu całej grupy, ale obawiam, się że to się nie uda, dlatego proszę wysyłać podpisane przeze mnie PDFy indywidualnie.
  4. Przypominam, że w w przypadku dłuższego niż kilka dni czas braku odpowiedzi z mojej strony, proszę się przypominać kolejnym emailem. W aktualnym trybie pracy jestem zalewany emailmi w tak dużej liczbie, że łatwo coś przegapić.

Korespondencję związaną z pracami dyplomowymi proszę kierować na adres seminarium(at)siminskionline.pl z ewentualną kopią na roman.siminski(at)us.edu.pl lub roman(at)siminskionline.pl.

Obrona

Praca magisterska ma udowodnić, że magistrant potrafi zaplanować, przeprowadzić, zinterpretować i podsumować pracę badawczą z zakresu informatyki. W ramach obrony pracy magisterskiej należy przedstawić krótką, nie przekraczającą 10 minut, prezentację pracy. Należy przygotować kilka slajdów, ułatwiającą omówienie pracy. Proszę pamiętać jednak, że najważniejsze jest to co magistrant mówi, slajdy są jedynie tłem i ilustracją. Źle jednak wygląda mówienie “do pustego ekranu” lub, co jeszcze gorsze, przewijanie dokumentu PDF zawierającego tekst pracy. Omówienie pracy powinno obejmować:

  1. Przedstawienie tematu pracy.
  2. Motywację (krótko i konkretnie — skąd się temat wziął, dlaczego jest ważny) oraz jasno sformułowany cel pracy (co chcemy zbadać, wykazać, udowodnić).
  3. Omówienie metodyki badań (co było badane i dlaczego, w jaki sposób, i z wykorzystaniem jakich narzędzi przeprowadzono badania), jakie zrbrano wyniki, w jaki sposób zostały opracowane (średnie, mediany, odchylenia standardowe).
  4. Przedstawienie najważniejszych wyników (wybrane, przykładowe tabele, wykresy), być może prezentację środowiska badawczego (oprogramowanie), o ile istniało i można je sensownie zaprezentować.
  5. Przedstawienie interpretacji wyników, zaprezentowanie wniosków osadzonych w kontekście problematyki pracy i realiach ewentualnych zastosowań.

Proszę wyraźnie zaakcentować jakie konkretnie wnioski z pracy wynikają i jakie może być ich praktyczne znaczenie. Proszę mówić konkretnie, jasno, skupić się na swoich dokonaniach, nie przedstawiać dobrze znanej teorii i spraw oczywistych dla każdego informatyka na poziomie magisterium. Proszę nie czytać ze slajdów, mówić własnymi słowami. Proszę nie wpadać w pseudonaukowy bełkot, mówić prostą lecz poprawną polszczyzną, proszę unikać żargonu informatycznego. Nie należy popadać w histerię nadmiernej powagi, ale też proszę się powstrzymać od nadmiernie luzackiego sposobu prezentowania. Proszę przećwiczyć prezentację, mówiąc głośno, mierząc czas. Osoby czujące, że takie prezentacje idą im słabo powinny się nagrać i prześledzić nagranie w celu wyeliminowania słabych punktów prezentacji.

W przypadku obron zdalnych, za wyjątkiem uwag powyższych, zachowują swoją ważność zalecenia takie, jak dla obron prac inżynierskich.

Lista zagadnień na obronę

Zagadnienia dla osób, których jestem promotorem lub recenzentem.

Ogólna lista zagadnień

  1. Instrukcje sterujące wykonaniem programu — rodzaje, przykłady takich instrukcji w najpopularniejszych językach programowania.
  2. Typy danych w językach programowania — podział, typ danych a zmienna, na jakie właściwości zmiennej wpływa typ, statyczna a dynamiczna typizacja, silna i słaba typizacja.
  3. Translacja programów, kompilator, interpreter, kompilacja do kodu maszynowego, kompilacja do kodu pośredniego, maszyna wirtualna, wpływ rodzaju translacji na mechanizmy języka (np. silna i słaba typizacja).
  4. Pojęcie klasy i obiektu w programowaniu obiektowym. Zakresy widoczności składowych klasy, pola statyczne. Funkcje składowe, funkcje statyczne.
  5. Sposoby tworzenia obiektów w językach C++, Java, C# — podobieństwa i różnice. Konstruktory i destruktor — rola, zastosowania, występowanie w różnych językach obiektowych.
  6. Dziedziczenie w programowaniu obiektowym. Klasa bazowa, klasa pochodna. Redefinicja funkcji składowych, modyfikator dostępu protected, konstruktory i destruktor a dziedziczenie. Dziedziczenie wielobazowe.
  7. Polimorfizm w programowaniu obiektowym. Rodzaje polimorfizmu. Pojęcie i rola funkcji wirtualnych. Funkcje wirtualne a dziedziczenie. Funkcje wirtualne w językach C++, Java, C#.
  8. Hermetyzacja w programowaniu obiektowym. Po co stosuje się hermetyzację i jak się ją realizuje. Przykłady.
  9. Metody programowania w warstwie serwerowej aplikacji internetowych. Języki, środowiska, narzędzia, pakiety szablonowe — krótka i ogólna charakterystyka.
  10. Pojęcie klucza w relacyjnych bazach danych. Typy kluczy, do czego są stosowane klucze poszczególnych typów.
  11. Powiązania pomiędzy tabelami w relacyjnych bazach danych. Rodzaje powiązań. Powiązania a klucze.