Skip to content

ibu063-functional-programming/functional_programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IBU 063: Functional Programming

Welcome to the Functional Programming course repository! This course is designed for university-level students enrolled in IBU 063.

This repository will serve the purpose of publishing solutions to the laboratory session tasks.

Course Description

The Functional Programming course provides a comprehensive exploration of key concepts, from an introduction to the benefits of functional programming versus object-oriented programming to advanced techniques such as currying, pipelining, and recursion.

It provides insights into designing functions, ensuring purity through immutability, and implementing design patterns the functional way. The course also covers the influential role of functional programming in unit tests and introduces students to functional and reactive programming paradigms.

Course Objectives

By the end of this course, students will be able to:

  • Develop a profound understanding of functional programming principles and practical applications.
  • Master the design of functions, ensuring code purity through immutability, and implementing design patterns in a functional paradigm.
  • Develop both theoretical knowledge and practical skills, enabling students to design elegant, robust, and scalable software solutions using functional programming principles.

Weekly Breakdown

Week Topic
01 Introduction and Benefits of Functional Programming, Functional vs Object Oriented Programming
02 Starting with Functions - A Core Concept
03 Behaving Properly - Pure Functions
04 Programming Declaratively - A Better Style
05 Producing Functions - Higher-Order Functions
06 Transforming Functions - Currying and Partial Application
07 Connecting Functions - Pipelining, Composition, and More
08 Designing Functions - Recursion
09 Ensuring Purity - Immutability
10 Implementing Design Patterns - The Functional Way
11 Building Better Containers - Functional Data Types
12 Functional Error Handling
13 Functional Programming’s Influence on Unit Tests
14 Functional and Reactive Programming
15 Recap

Instructor and Teaching Assistants

Professor

Name: Assist. Prof. Dr. Dželila Mehanović
Email: [email protected]
Office Location: B, 413

Teaching Assistants

  1. Name: LA Benjamin Peljto
    Email: [email protected]
    Office Location: B, 411

  2. Name: LA Amila Čaušević
    Email: [email protected]
    Office Location: B, 411

  3. Name: LA Lejla Breščić
    Email: [email protected]
    Office Location: B, 411

  4. Name: TA Nedim Bandžović
    Email: [email protected]
    Office Location: B, 403


If you have any questions or need assistance throughout the course, feel free to reach out to the professor or any of the teaching assistants during their office hours, or via email.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •