Credits: 4 (3-0-2)

Prerequisites: COL106 OR Equivalent

Overlaps with: COL226 & COL703

Description

Introduction to declarative programming paradigms. The functional style of programming, paradigms of developments of functional programs, use of higher order functionals and pattern-matching. Introduction to lambda calculus. Interpreters for functional languages and abstract machines for lazy and eager lambda calculi, Types, type-checking and their relationship to logic. Logic as a system for declarative programming. The use of pattern-matching and programming of higher order functions within a logic programming framework. Introduction to symbolic processing. The use of resolution and theorem-proving techniques in logic programming. The relationship between logic programming and functional programming.

Prerequisite Tree

flowchart TD
COL765-221[COL765]
COL106-221 --> COL100-221[COL100]
COL765-221 --> COL106-221[COL106]

classDef empty height:17px, fill:transparent, stroke:transparent;
classDef trueEmpty height:0px, width:0px;