/Functional-Programming-Principles-in-Scala

Solutions for Functional Programming Principles in Scala [Coursera]

Primary LanguageScala

Functional Programming Principles in Scala (by Martin Odersky)

I took the online Functional Programming Principles in Scala course (https://www.coursera.org/learn/progfun1/) taught by Martin Odersky from Dec 2016. This repository contains my solutions to all the programming exercises.

Week 1 - Functions & Evaluations

Pascal’s Triangle - Function that computes the elements of Pascal’s triangle by means of a recursive process Parentheses Balancing - Recursive function which verifies the balancing of parentheses in a string Counting Change - Recursive function that counts how many different ways you can make change for an amount, given a list of coin denominations

Week 2 - Higher Order Functions

Functional Set - Pure functional set data structure with implemented methods such as singletonSet, union, contains, intersect, diff, filter, forAll, exists and map

Week 3 - Data and Abstraction

Tweet Set - Object-oriented data structure represented the set of tweets in the form of a binary search tree. Every branch in the tree has two children NonEmpty Set - Set which is inherited from Tweet Set and represents non-empty set Empty Set - Set which is inherited from Tweet Set and represents an empty set Google vs Apple Trending - The simple tweet parser which parses JSON with tweets and produces a list of all tweets mentioning a keyword from either Apple or Google, sorted by the number of retweets