zagadnienia na egz. lic. studia stacjonarne
0000-00-00 00:00:00

ZAGADNIENIA NA EGZAMIN LICENCJACKI Z INFORMATYKI (STUDIA STACJONARNE)


Przedmioty informatyczne

  • Matematyka Dyskretna.
    • Dwójkowy system zapisu liczb.
    • Zliczanie podstawowych obiektów kombinatorycznych (liczba ciągów bez powtórzeń, ciągów z powtórzeniami, funkcji, podzbiorów, podzbiorów k-elementowych, permutacji).
    • Zasada szufladkowa Dirchleta, zasada sumy.
    • Relacja kongruencji modulo, pierścień Zm, elementy odwracalne w pierścieniu Zm.
    • Algorytm szybkiego potęgowania, największy wspólny dzielnik, algorytm Euklidesa.
    • Metoda poszukiwań binarnych. Drzewa i algorytmy przeszukiwania drzew.
    • Funkcje, wyrażenia i sieci boolowskie.
  • Wstęp do Programowania.
    • Dowodzenie poprawności programu, niezmiennik pętli.
    • Deklaracje zmiennych i powody wprowadzania obowiązkowości deklarowania.
    • Iteracja for jako sposób działania na tablicach.
    • Procedury i funkcje. Sposoby wołania parametrów procedur. Zmienne lokalne dla ciała procedury (funkcji) i zmienne globalne.
    • Program rekurencyjny i iteracyjny.
    • Reprezentacja liczb rzeczywistych w komputerze; przekroczenie zakresu i błędy zaokrągleń.
  • Język Programowania C.
    • Struktura programów; podstawowe typy danych.
    • Instrukcje sterujące.
    • Funkcje, rekurencyjne wywołania funkcji; zasięg zmiennych zewnętrznych i funkcji.
    • Definiowanie rekurencyjnych typów danych.
    • Wskaźniki; związek między tablicami a wskaźnikami.
    • Standardowe biblioteki (wejścia i wyjścia, obsługi tekstów, zarządzania pamięcią).
    • Nieprzezroczyste typy danych; interfejs programowania aplikacji (ang. API - Application Programming Interface).
  • Programowanie Obiektowe, Język Java.
    • Typy proste i obiektowe w języku Java.
    • Sposoby zabezpieczania dostępu do komponentów klas i obiektów.
    • Polimorfizm w językach obiektowych.
    • Pakiety i interfejsy w języku Java.
    • Tworzenie i synchronizacja wątków.
    • Możliwości ograniczania dostępu do składowych klas (czyli pól i metod) w języku Java.
    • Mechanizm przesłaniania (nadpisywania), mechanizm przeciążania (przeładowania).
    • Modyfikator static w definicji metod i pól w języku Java.
    • Dynamiczne wiązanie (metody wirtualne) ilustrując przykładem w języku Java.
  • Automaty i Języki.
    • Wyrażenia regularne, języki regularne automaty skończone deterministyczne i niedeterministyczne.
    • Gramatyki i języki bezkontekstowe.
    • Maszyna Turinga i klasa języków akceptowanych przez maszyny Turinga.
    • Podaj przykłady zastosowania wyrażen regularnych.
  • Algorytmy i Struktury Danych.
    • Stosy i kolejki: definicja i typowe implementacje.
    • Złożoność czasowa algorytmów sortujących przez porównania.
    • Drzewa poszukiwań binarnych i drzewa czerwono-czarne: definicje i złożoność czasowa operacji na tych drzewach.
    • Sposoby rozwiązywania kolizji w tablicach z haszowaniem.
    • Kopce binarne i ich zastosowania.
    • B-drzewa: definicja, zastosowanie i złożoność czasowa operacji na tych drzewach.
    • Programowanie dynamiczne: idea, przykłady.
  • Systemy Operacyjne.
    • Budowa systemu plików w systemach Unixowych/Linuxowych.
    • Koncepcja procesu w systemie operacyjnym.
    • Bash jako język programowania.
    • Zasada działania wybranych typów nadmiarowych macierzy niezależnych dysków (RAID).
  • Architektura Komputerów.
    • Alfabety komputerowe; rejestry.
    • Asemblery (podstawowe instrukcje, sposoby organizowania pętli); typy przerwań.
    • Działanie procesora w trybie rzeczywistym i chronionym.
  • Sieci Komputerowe.
    • Model ISO-OSI stosu protokołów komunikacyjnych.
    • Charakterystyka modelu klient-serwer.
    • Pojęcie topologii fizycznej sieci komputerowych, przykłady topologii.
    • Organizacja domen w sieci Internet.
    • Porównanie działania protokołów TCP i UDP.
    • Protokoły poczty elektronicznej.
  • Bazy Danych.
    • Model relacyjnych baz danych. Własności relacji.
    • Aspekt bezpieczeństwa bazy danych.
    • Składnia instrukcji SELECT, typy złączeń, rodzaje podzapytań i dostępne funkcje agregujące, przykłady.
    • Rodzaje związków w teorii relacyjnych baz danych. w jaki sposób są one realizowane w języku SQL/T-SQL?
    • Pojęcie transakcji i jej główne własności. Przykłady negatywnych zjawisk, gdy nie zastosowano transakcji. w jaki sposób transakcje są realizowane w języku SQL/T-SQL?
    • Reguły integralności relacyjnej bazy danych. w jaki sposób są one realizowane w języku SQL/T-SQL?
    • Negatywne strony istnienia redundancji w bazie danych. Jakie są sposoby jej zwalczania? Przykłady.
    • Pojęcie wyzwalacza, sposób jego działania oraz typy wyzwalaczy w MSSQL. w jaki sposób są one implementowane w SQL/T-SQL?
  • Inżynieria Oprogramowania.
    • Fazy produkcji oprogramowania (strategiczna, analizy, produkcji, implementacji, konserwacji).
    • Wymagania funkcjonalne i niefunkcjonalne.
    • Wytwarzanie oprogramowania w zintegrowanym środowisku programistycznym (IDE); podstawowe funkcjonalności na przykładzie środowiska Eclipse (lub innego, którego używasz).
    • UML (przypadki użycia (use cases); diagramy klas, sekwencji, stanu).
  • Aplikacje bazodanowe.
    • Opisz wybrany interfejs języka PHP przeznaczony do komunikacji z różnymi systemami zarządzania bazami danych. W szczególności opisz sposób nawiązania połączenia i pobierania/modyfikowania danych. Podaj przykład.
    • Wymień i opisz podstawowe funkcje pakietu java.sql umożliwiające obsługę wybranej bazy danych. Podaj przykład.
    • Jak pisać programy pracujące w trybie połączeniowym w ADO.NET. Podaj przykład.
    • Jak pisać programy pracujące w trybie bezpołączeniowym w ADO.NET. Podaj przykład.


Przedmioty matematyczne

  • Wstęp do Matematyki.
    • Rachunek zdań; rachunek zbiorów.
    • Relacja, funkcja, relacja równoważności; klasy abstrakcji; relacja częściowego porządku.
    • Równoliczność zbiorów; zbiory przeliczalne i nieprzeliczalne.
  • Analiza Matematyczna.
    • Granica ciągu liczbowego; granica funkcji; pochodna funkcji jednej zmiennej (interpretacja geometryczna); ekstremum lokalne funkcji jednej zmiennej; szeregi liczbowe, kryteria zbieżności.
    • Funkcja pierwotna; całka nieoznaczona; całka oznaczona (interpretacja geometryczna).
    • Pochodna cząstkowa funkcji wielu zmiennych; warunek konieczny istnienia ekstremum lokalnego funkcji wielu zmiennych.
  • Algebra Liniowa.
    • Liczby zespolone, Macierze, macierz odwrotna (metody wyznaczania).
    • Wyznaczniki (metody obliczania).
    • Układy równań liniowych, metoda Cramera rozwiązywania układów równań liniowych.
  • Rachunek Prawdopodobieństwa.
    • Prawdopodobieństwo, prawdopodobieństwo warunkowe. Wzór Bayesa.
    • Zmienna losowa, wartość oczekiwana, wariancja.
    • Nierówność Markowa i Czebyszewa: rozkład dwumianowy (Bernouliego).
    • Definicja dystrybuanty zmiennej losowej (dyskretnej, ciągłej) i jej własności.
    • Częstość dyskretna (gęstość ciągła) zmiennej losowej i jej własności.
    • Przykłady rozkładów dyskretnych (ciągłych) zmiennych losowych.
    • Wartość oczekiwanej, wariancja i odchylenie standardowe zmiennej losowej (dyskretnej, ciągłej) i ich własności
  • Metody Numeryczne.
    • Zadanie interpolacji algebraicznej.
    • Metody iteracyjne dla równań nieliniowych (w szczególności Newtona i siecznych).
    • Kwadratury interpolacyjne.
    • Metody różnicowe dla równań różniczkowych zwyczajnych.
    • Metody rozwiązywania układów równań liniowych.


Przedmioty specjalnościowe: Technologie sieciowe i bazy danych

  • Technologie Java Enterprise.
    • Koncepcje Object-Relational Mapping. Odwzorowanie powiązań między encjami w Java Persistence API.
    • Do czego służą i jak się tworzy bezstanowe komponenty sesyjne (Stateless Session Beans) technologii EJB 3.0.
    • Technologie i frameworki warstwy webowej Java EE 5.
  • Technologie Sieci Web.
    • Rola standardów w zastosowaniach internetowych. Języki znacznikowe i ich wykorzystanie do strukturalizacji dokumentów WWW. Kaskadowe arkusze stylów - selektory, reguły, kaskada, pozycjonowanie elementów, definiowanie układu strony.
    • Język JavaScript: obiektowość, dziedziczenie prototypowe, funkcje jako „obiekty pierwszego rzędu”, pojęcie „domknięcia” i jego zastosowania.
    • Obiektowy model dokumentu (DOM) - selekcja i modyfikowanie elementów za pomocą DOM API języka JavaScript.
    • Metodologia AJAX - zasada działania, programowanie po stronie klienta (JavaScript) oraz serwera, JSON.
    • Protokół HTTP - bezstanowość, metody, najważniejsze nagłówki, metody uwierzytelniania, HTTPS.
  • Serwery Baz Danych.
    • Do czego służy i co to jest information_schema? Podaj przykład zastosowania.
    • Jakie są korzyści ze stosowania schematów?
    • Na czym polegają zasadnicze podobieństwa i różnice w procesie konfiguracji serwera PostgreSQL i MS SQL Server?
    • Co to są poziomy izolacji?
    • Co to jest i do czego służy ODBC?
    • Co to jest monitorowanie bazy? Wymienić przykładowe narzędzia do monitorowania bazy MS SQL Server.
    • Do czego służą polecenia GRANT i REVOKE? Podać przykład zastosowania.
    • Przedstaw mechanizm dziedziczenia tabel w PostgreSQL.


Przedmioty specjalnościowe: Tester programista

  • Zagadnienie: Podstawy.
    • Opisz zalety i wady testowania kodu.
    • Jakie są różnice między testami jednostkowymi a funkcjonalnymi/ integracyjnymi.
    • Dlaczego korzystamy z narzędzi do analizy kodu źródłowego (ang. linting tools)?
    • Opisz testowania metodą czarnej skrzynki: kiedy się stosuje, co ma być przygotowane dla takich testów itp. Omów techniki planowania i przeprowadzania testów czarnoskrzynkowych.
    • Opisz testowanie metodą "białej skrzynki": kiedy się stosuje, jak planowane są testy. Omów problem stopu procesu testowania.
    • Testowanie w cyklu życia oprogramowania -- omów poziomy testowania i określ cele i obiekty testowania na każdym poziomie.
  • Zagadnienie: Testowanie jednostkowe, zastosowanie, technologie.
    Pytanie: Na czym polega testowanie jednostkowe? Opisz przykładowy proces testowania jednostkowego na przykładzie wybranej technologii.
  • Zagadnienie: Test Driven Development.
    Pytanie: Opisz etapy wytwarzania oprogramowania w podejściu Test Driven Development?
  • Zagadnienie: Automatyczne testowanie GUI aplikacji webowych, technologie, problemy.
    Pytanie: Opisz wybraną technologię do automatycznego testowania Graficznego Interfejsu Użytkownika w aplikacjach webowych. Jakie problemy można napotkać przy automatycznym testowaniu tego typu aplikacji.
  • Zagadnienie: Testowanie HTTP i REST API.
    Pytanie: W jaki sposób można testować aplikację wykorzystującą protokół HTTP oraz wystawiającą swoje API w architekturze REST? Opisz wybrane narzędzia i technologie.
  • Zagadnienie: Testowanie wydajności aplikacji
    Pytanie: Przedstaw rodzaje testów wydajności oraz zaproponuj scenariusz testów każdego rodzaju dla aplikacji udostępniającej swoją funkcjonalność za pomocą REST API z wykorzystaniem protokołu HTTP.
  • Zagadnienie: Wzorce projektowe a testowanie aplikacji.
    Pytanie: Omów kompletny scenariusz testowania aplikacji opartej na wzorcu MVVM.


Przedmioty specjalnościowe: Informatyka ogólna

Studenci tej specjalności mogą spodziewać się dodatkowego pytania z przedmiotów matematycznych.

A.Borzyszkowski