JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD

FUNCTIONAL PROGRAMMING

M.Tech I Year II Semester (R22)

Course Objectives

  • 1. Understand the concepts and terms used to describe languages that support the imperative, functional, object-oriented, and logic programming paradigms.
  • 2. Solve problems using the functional paradigm.
  • 3. Solve problems using the object-oriented paradigm.
  • 4. Solve problems using the logic programming paradigm.

Course Outcomes

At the end of the course the student will be able to:

  • 1. Write programs in a functional style.
  • 2. Reason formally about functional programs.
  • 3. Use polymorphism and higher-order functions.
  • 4. Reason about the time and space complexity of programs.

UNIT - I

Functional Programming: Introduction, Differences between Functional Programming and Object- Oriented Programming, concepts of functional programming, Functional Programming in Python: Introduction to Python, Built-in Functions, Dictionary Methods, String Methods, LIST/ARRAY Methods, Tuple Methods, Set Methods

UNIT - II

Python Exceptions, File Handling, Tuple Methods, Defining Iteration, Conditional Iterations, Random Module, Math Module, CMath Module, Python File I/O

UNIT - III

Python Sending Mail, Python CSV, Python OOP Concepts, Python Iterators, Python Generators, Python Decorators, Python Database Connections

UNIT - IV

Introduction to Haskell and Laziness, Structure, Modularity, Maintainability, Polymorphism, higher order functions, strings & characters, lazy evaluation, Data Types using Patterns

UNIT - V

LISP Programming: Basic LISP Programming, Data Types, Functions, Editing, Loading, Compiling LISP Programs, Control Structures: Recursions and Conditionals, LISTS, SETS, Structural Recursion with LISTS, Symbols

TEXT BOOKS:

  • 1. The Haskell School of Expression: Learning Functional Programming through Multimedia, Paul Hudak.
  • 2. Functional Programming in Python, David Mertz, O’Reilly Media.
  • 3. LISP, Patrick Henry Winston, Bertbold Klaus Paul Horn, Pearson Education

Loading Question Papers

Fetching data from database...