dalej W górę wstecz Spis treœci
Dalej: Semestr IV W górę: Krótki opis przedmiotów Wstecz: Semestr II

Semestr III


Systemy operacyjne II (2w, -ć, 2l) Zarządzanie procesami: model procesu, wątki, blok kontrolny procesu i przełącznie kontekstu, algorytmy szeregowania procesów, zarządzanie procesami w systemie UNIX, synchronizacja procesów, metody implementacji techniki wzajemnego wykluczania, problem zakleszczenia i metody jego rozwiązywania; rozproszone systemy operacyjne, podstawy zarządzanie procesami i pamięcią w rozproszonych systemach operacyjnych, rozproszone systemy plików, systemy czasu rzeczywistego; elementy administracji w systemie UNIX: zarządznie procesami w systemie UNIX - programista systemowy.

Architektura systemów liczących (3w, -ć, 2l) Wprowadzenie; architektura i implementacja; technologiczne i organizacyjne generacje komputerów; poziomy opisu sprzętu; arytmetyka komputerów; budowa maszyny von Neumana; lista rozkazów, kodowanie rozkazów; hierarchiczna budowa pamięci; układ sterowania komputera; mikroprogramowanie; przerwania, obsługa wejścia-wyjścia; zarządzanie pamięcią: segmentacja i stronicowanie, ochrona pamięci; wybrane architektury i implementacje systemów CISC; wybrane architektury i implementacje systemów RISC; systemy wieloprocesorowe; systemy wielokomputerowe; superkomputery; nowe koncepcje architektur systemów cyfrowych.

Inżynieria oprogramowania I (2w, -ć, 2l) Czynniki stymulujące rozwój inżynierii oprogramowania; cykl rozwojowy i modele produkcji oprogramowania; składowe dokumentacji produktu programistycznego; specyfikowanie oprogramowania: specyfikacje nieformalne, przegląd półformalnych i formalnych metod specyfikowania; metodyki strukturalne i obiektowe w fazach planowania, analizy i projektowania: standardy modeli danych i procesów oraz interfejsu z użytkownikiem, notacje na diagramach, rola słownika danych i repozytorium; charakterystyka środowisk CASE; odzyskiwalność oprogramowania.

Badania operacyjne (2w, 2ć, -l) Przedmiot badań operacyjnych; podstawy programowania liniowego; programowanie dyskretne; programowanie nieliniowe; programowanie dynamiczne; elementy teorii decyzji i teorii gier; analiza sieci; sieciowe modele decyzyjne; probabilistyczne problemy szeregowania; deterministyczne problemy szeregowania.

Wprowadzenie do optymalizacji kombinatorycznej (3w, -ć, 1l)
Wyznaczanie najkrótszych dróg w grafie, przepływy w sieciach i zagadnienia pokrewne, algorytmy zachłanne i matroidy, wybrane problemy szeregowania zadań, generalizacja grafów losowych, problemy podziału grafu, wyznaczanie niezmienników, testowanie izomorfizmu garfów, wybrane zastosowania metod grafowych, złożoność obliczeniowa problemów optymalizacyjnych, algorytmy aproksymacyjne, hierarchia złożoności obliczeniowej. W ramach zajęć laboratoryjnych studenci poznają systemy programowania logicznego z węzłami CHIP i ILOG.

Programowanie obiektowe (1w, -ć, 2l)
Podstawowe pojęcia programowania obiektowego: klasa, obiekt, dziedziczenie; obiektowe języki programowania: SmallTalk, Objective Pascal, C++; programowanie obiektowe w języku C++ dla środowiska MS-DOS i MS-Windows: powtórzenie elementów języka C, definiowanie klas, tworzenie obiektów, przeciążanie operatorów, dziedziczenie jedno i wielokrotne, funkcje wirtualne, biblioteki funkcji, biblioteki klas; zastosowanie programowania obiektowego: analiza obiektowa, programowanie współbieżne, obiektowe bazy danych.

Programowanie deklaratywne (1w, -ć, 2l)
Programowanie funkcyjne: rachunek lamdba i funkcje rekurencyjne (jako teoretyczne podstawy tego stylu programowania), podstawowe elementy programowania funkcyjnego i ich interpreter, listy własności, formy specjalne, efekty uboczne, inferencja typów; programowanie w logice: termy, formuły, reguły, fakty, podstawienia i ich składanie, unifikacja termów, reguły selekcji literałów i klauzul, drzewo dowodu, nawroty, odcięcia, negacja; systemy regułowe; zastosowania i nowe tendencje.
dalej W górę wstecz Spis treœci
Dalej: Semestr IV W górę: Krótki opis przedmiotów Wstecz: Semestr II