Cardinal Stefan Wyszynski University in Warsaw - Central Authentication System
Strona główna

Logic and Functional Programming

General data

Course ID: WM-I-S2-E2-PLF
Erasmus code / ISCED: (unknown) / (unknown)
Course title: Logic and Functional Programming
Name in Polish: Programowanie w logice i funkcyjne
Organizational unit: Faculty of Mathematics and Natural Sciences. School of Exact Sciences.
Course groups:
ECTS credit allocation (and other scores): 5.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.
Language: Polish
(in Polish) Dyscyplina naukowa, do której odnoszą się efekty uczenia się:

information and communication technology

Subject level:

intermediate

Learning outcome code/codes:

Lecture: I2_W01, I2_W04, I2_W05

Laboratory: I2_U01, I2_U02, I2_U03, I2_U04, I2_U06

Preliminary Requirements:

Introduction to Mathematics.

Basic programming course.

Algorithms and data structures course.

Full description:

The lecture covers two programming paradigms: functional and programming in logic. It also presents their mathematical foundations: lambda calculus; and resolution and Herbrand models. The topics are ilustrated with two implementations of such programming languages: Haskell and SWI Prolog.

Efekty kształcenia i opis ECTS:

Lecture

Student:

W1 - knows the theoretical foundations of programming language paradigms, functional and logic programming (I2_W01),

W2 - knows the basic features of programming languages ​​in both paradigms (I2_W04),

U1 - is able to determine the semantics of programming structures in both paradigms (I2_W05).

Lab

Student:

U1 - can mathematically model the effects of programming structures (I2_U01),

U2 - can choose the appropriate programming paradigm to solve the problem (I2_U02),

U3 - can program in the functional paradigm and in the logic programming paradigm (I2_U03),

U4 - can reason about the program's behavior based on the formal language specification (I2_U04),

U5 - can design an algorithm in both paradigms, can estimate the cost of such solutions (I2_U06).

Assessment methods and assessment criteria:

For all learning outcomes, the following assessment criteria are adopted for all forms of verification:

grade 5: fully achieved (no obvious shortcomings),

grade 4.5: achieved almost fully and criteria for awarding a higher grade are not met,

grade 4: largely achieved and the criteria for a higher grade are not met,

grade 3.5: largely achieved - with a clear majority of positives - and the criteria for granting a higher grade are not met,

grade 3: achieved for most of the cases covered by the verification and criteria for a higher grade are not met,

grade 2: not achieved for most of the cases covered by the verification.

Classes in period "Summer semester 2022/23" (past)

Time span: 2023-02-01 - 2023-06-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours more information
Lectures, 30 hours more information
Coordinators: Konrad Zdanowski
Group instructors: Konrad Zdanowski
Students list: (inaccessible to you)
Examination: examination
(in Polish) E-Learning:

(in Polish) E-Learning (pełny kurs) z podziałem na grupy

(in Polish) Opis nakładu pracy studenta w ECTS:

(in Polish) Wykład:

uczestnictwo w zajęciach: 30h

praca własna, lektury: 20h


Razem: 50h, 2 ECTS


Laboratorium:

uczestnictwo w zajęciach: 30h

praca własna, wykonywanie zadań programistycznych: 40h

Razem: 70h, 3 ECTS

Type of subject:

obligatory

(in Polish) Grupa przedmiotów ogólnouczenianych:

(in Polish) nie dotyczy

Bibliography: (in Polish)

Literatura podstawowa

1. Clocksin, Mellish, Prolog. Programowanie. Helion

2. Paul Hudak, John Peterson, Joseph Fasel, A Gentle Introduction to Haskell, Version 98, 2000,

wolny dostęp: https://www.haskell.org/tutorial/

Literatura uzupełniająca

3. Nilsson, Małuszyński, Programming in Prolog, Wiley & Sons Ltd, wolny dostęp: http://www.ida.liu.se/~ulfni53/lpp/

4. Harold Abelson, Gerald Jay Sussman, Julie Sussman, Struktura i interpretacja programów komputerowych, WNT.

5. Paul Hudak, John Peterson, Joseph Fasel, A Gentle Introduction to Haskell, Version 98, 2000,

wolny dostęp: https://www.haskell.org/tutorial/

6. Richard Bird, Introduction to Functional Programming using Haskell.

7. Simon Peyton Jones (ed.), Haskell 98. Language and Libraries. The Revised Report. 2002, wolny dostęp: https://www.haskell.org/definition/haskell98-report.pdf

Classes in period "Summer semester 2023/24" (in progress)

Time span: 2024-02-15 - 2024-06-30
Selected timetable range:
Navigate to timetable
Type of class:
Laboratory, 30 hours more information
Lectures, 30 hours more information
Coordinators: Dorota Dąbrowska, Konrad Zdanowski
Group instructors: Konrad Zdanowski
Students list: (inaccessible to you)
Examination: examination
(in Polish) E-Learning:

(in Polish) E-Learning

(in Polish) Opis nakładu pracy studenta w ECTS:

Lecture:

participation in classes: 30h

own work, reading: 20h

Total: 50h, 2 ECTS


Lab:

participation in classes: 30h

own work, performing programming tasks: 45h

Total: 75h, 3 ECTS

Type of subject:

obligatory

(in Polish) Grupa przedmiotów ogólnouczenianych:

(in Polish) nie dotyczy

Course descriptions are protected by copyright.
Copyright by Cardinal Stefan Wyszynski University in Warsaw.
ul. Dewajtis 5,
01-815 Warszawa
tel: +48 22 561 88 00 https://uksw.edu.pl
contact accessibility statement mapa serwisu USOSweb 7.0.4.0-1 (2024-05-13)