Learning Objectives
To learn all different paradigms of programming, their advantages and disadavantages and to be able to apply in practical problems.
Learning Outcomes
To be able to choose appropriate paradigm based on the situation given.
Syllabus
Introduction to paradigms of programming. Definition, motivation, and use cases. A brief history of programming languages and paradigms.
Imperative paradigm: Conditional, and iteration blocks, functions, data types. Recursion, block structure, abstract data types, local - global variables, static - dynamic types Control flow diagrams, syntax tree, sentinel
Object oriented paradigm: Introduction to objects, entity diagrams, UML Grouping Data and operations, Information Hiding and Abstract Data Types, Inheritance, Polymorphism,Templates
Functional paradigm: Expressions and Lists, Evaluation, types, type systems, values and operations, function declarations, lexical scope, lists and programming with lists, polymorphic functions, higher order and Curried functions, abstract data types Lambda calculus
Logic paradigm: Review of predicate logic, clausal-form logic, logic as a programming language, Unification algorithm, Abstract interpreter for logic programs, Semantics of logic programs. Definite clause grammars
Text books
- Programming Languages: Principles and Paradigms, Maurizio Gabbrielli, Simone Martini, Springer; 2010 edition (15 April 2010) ISBN-13: 978-1848829138
- Programming Languages: Concepts & Constructs, Ravi Sethi, Pearson Education; 2 edition (2006) ISBN-13: 978-8177584226
- Programming Language Pragmatics, Scott Michael L, Elsevier India (2014) ISBN-13: 978-8131222560
Past Offerings
- Offered in Aug-Nov, 2023 by Piyush Kurur
- Offered in Aug-Dec, 2022 by Piyush P. Kurur
- Offered in Jul-Dec, 2021 by Piyush
- Offered in Jul-Dec, 2020 by Piyush
- Offered in July-Dec, 2019 by Piyush
- Offered in July-Dec, 2018 by Piyush
- Offered in July-Dec, 2017 by Mrinal
Course Metadata
Item | Details |
---|---|
Course Title | Paradigms of Programming |
Course Code | CS3030 |
Course Credits | 3-0-0-3 |
Course Category | PMT |
Approved on | Senate 6 of IIT Palakkad |