LEARNING OUTCOME
Adapt functional programs to solve computing problems using functional and logic programming language concepts. (P6, PLO3)
OVERVIEW
Programming paradigms can be defined as programming styles in problem solving. In software programing languages, there are distinct programming paradigms and a set of programming concepts used in the platforms. In practice, imperative programming like procedural or object-oriented paradigms are widely used in various programming platforms. Likewise, the declarative programming such as functional programming and logic programming paradigms can also be available in modern programming languages. In this assignment, therefore, focuses on programming paradigms primarily imperative- and declarative- programming paradigms for a specific problem solving.
REQUIREMENTS
Given the following situations in Task 1 and Task 2. Study the scenarios and implement a GUI-driven computer program in accordance with the requirements. Following that, you are required to explain the programming concepts used within implementation code.
Consider the given statistic of dengue cases in Pahang, Statistik Kes Denggi Di Negeri Pahang 2014-2018.zip (Source: https://www.data.gov.my/data/en_US/dataset/statistik-kes-denggi-di-negeri-pahang). Develop the computer program using multi-paradigm approach (Object oriented, functional and logic programming methods). In your implementation, the functional concepts such as purity, side effects, nullable, first-class function / higher order functions, generics, recursion, currying and partial application, functional composition and etc are considered.
TASK 1:
Given the data sheets above, you are required to provide a series of functions to 1) display/print all dengue cases from 2014-2018; 2) compute the total of dengue cases per year; 3) find the total of dengue cases per area; 4) find the area of the lowest cases of dengue; 5) find the area of the highest cases of dengue and etc.
Marks Allocation:
Criteria Marks
1) Display/print all dengue cases from 2014-2018 2
2) Compute the total of dengue cases per year 2
3) Compute the total of dengue cases per area 2
4) Find the area of the lowest cases of dengue 2
5) Find the area of the highest cases of dengue 2
6) Read data from given excel file 5
7) Explanation of programming concepts applied 5
Sub Total: 20 marks
TASK 2:
With the aid of JPL, write a program that sorts the dengue cases from highest to lowest.
Marks Allocation:
Criteria Marks
1) Java-Prolog connectivity 6
2) Appropriateness of data structures (Collection APIs or Tuples) 6
3) Appropriateness of Prolog programming for sorting 8
4) Quality of coding 5
5) Explanation of programming concepts applied 5
Sub Total: 30 marks
DELIVERABLE
• A report comprising of the following elements:
i. Introduction
ii. Solution for Task 1 and 2
a. Source code
b. Screenshot of the running program
c. Explanation of programming concepts used in your solution
iii. Conclusion
iv. Reference
• All related program files (source code)
SUBMISSION INSTRUCTION
• You are required to submit the assignment report consisting all essential parts as described in ‘Deliverable’ section at Moodle.
• Deadline: 19 March 2021, before 23:59
------ END OF DOCUMENT ------
GET ANSWERS / LIVE CHAT