Oferta dydaktyczna Instytutu Informatyki

Poniższa lista przedstawia przedmioty, które są uczone w Instytucie Informatyki, niektóre z nich co roku, niektóre z mniejszą częstotliwością Każdy student Instytutu Informatyki studiuje wg indywidualnego toku studiów, wybierając (zgodnie z pewnymi zasadami) z tej listy swoje przedmioty.

Jeżeli zastanawiasz się nad studiami u nas, jeżeli chcesz wiedzieć, czy na Uniwersytecie można zostać inżynierem, jeżeli interesuje Cię 1000 zł stypendium miesięcznie - zapraszamy na naszą stronę główną

Programowanie logiczne

Nazwa angielska (title in English): Logic Programming
Prowadzący (lecturer): Paweł Rychlikowski
Liczba punktów (ECTS): 7
Liczba punktów 2007 (ECTS since 2007): 6
Rodzaj (type): podstawowy
Rodzaj od 2007 (type since 2007): informatyczny.I2
Liczba godzin (hours in semester):
wykład:30
ćwiczenia+pracownia:30
Egzamin (exam): tak
Możliwe zajęcia w języku angielskim (can be taught in English): nie
Przedmiot zostal uaktualniony na biezacy rok (updated): nie
Semestr (semester): zimowy

Wymagania (prerequisites)

Opis (description)

Logika towarzyszyła komputerom niemal od ich początku jako narzędzie wyrażające ich własności i umożliwiające dowodzenie tych własności. Idea użycia logiki jako samodzielnego języka programowania narodziła się nieco później: w latach siedemdziesiątych XX wieku. Można ją podsumować za pomocą następujących ,,równań'':

program = zbiór aksjomatów obliczenie = budowanie dowodu wynikania pewnego twierdzenia z tego zbioru aksjomatów

Pierwszy realizujący tę ideę system automatycznego dowodzenia twierdzeń został nazwany Prologiem (od Programmation en Logic), od czasu jego powstania wiele zespołów badawczych pracowało nad uczynieniem z Prologu rzeczywiście przydatnego języka programowania, który umożliwiałby szybkie pisanie efektywnych aplikacji związanych ze sztuczną inteligencją, badaniami operacyjnymi, rozpoznawaniem języków naturalnych, translacją, automatycznym dowodzeniem twierdzeń i bazami danych.

Podczas wykładu zostaną przedstawione teoretyczne podstawy programowania logicznego (powiemy między innymi o takich zagadnieniach jak operacyjna, teoriomodelowa i stałopunktowa semantyka programów logicznych), omówimy również Prolog, ze wszystkimi jego cechami wykraczającymi poza ideę czystego programowania w logice, umożliwiającymi pisanie efektywniejszych programów. Sporo uwagi będzie poświęcone pragmatyce programowania logicznego i jego przykładowym zastosowaniom.

Omówimy bazujący na Prologu język Mercury (jedna z najszybszych mutacji Prologa) Przedstawimy róznież sposoby łączenia języków logicznych z obiektowymi (logtalk), funkcjonalnymi (curry), współbieżnymi i imperatywnymi.

Omówimy również podstawy programowania z więzami, paradygmatu, który sprawił, że programowanie logiczne zaczęło być używane w aplikacjach przemysłowych (w dziedzinie badań operacyjnych). Skoncentrujemy się na najpowszechniej używanej dziedzinie więzowej, mianowicie na liczbach całkowitych z określonego przedziału.

Wykładowi będą towarzyszyć ćwiczenia połączone z pracownią.

Jeżeli jesteś zainteresowany studiowaniem w naszym instytucie, zapraszamy na stronę poświęconą tegorocznej rekrutacji.

Nazwa użytkownika (user name):
Hasło (password):