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