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
|
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 |
Navigate to timetable
MO WYK
LAB
TU W TH FR |
Type of class: |
Laboratory, 30 hours
Lectures, 30 hours
|
|
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 |
Navigate to timetable
MO WYK
LAB
TU W TH FR |
Type of class: |
Laboratory, 30 hours
Lectures, 30 hours
|
|
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 |
Copyright by Cardinal Stefan Wyszynski University in Warsaw.