waterford institute of  technology. applied computing. 2nd year. algorithms.