Professional Documents
Culture Documents
CE00331 3 APLC AssignmentQuestion
CE00331 3 APLC AssignmentQuestion
1.0
Individual Assignment
Page 1 of 6
COURSEWORK TITLE
A simple application development using functional and logical programming languages.
2.0
LEARNING OUTCOMES
At the end of this coursework, you should be able to:
3.0
Possible sample scenarios are given below but these are just for guidance. You do not need
to stick rigidly to this idea:
Haskell application:
Simple banking application with the following functionalities:
Level 3
2013
Individual Assignment
Page 2 of 6
Money withdraw
Check balance
Hints: All the above functionalities should have to implement higher order functions. Create a
text based menu to handle these functionalities; recursion technique can be used in the text based
menu.
Prolog application:
Create a set of Prolog rules which, given a set of basic facts about a family tree, define
family relationships through bloodlines.
Hints: i) Facts should have structures.
eg: daughter (Z,married_couple(X,Y)).
ii)Rules should have AND/OR logics.
eg: mother_in_law(Z,X):- married_couple(X,Y),mother(Z,Y) AND logic.
Instructions:
4.0
Module
Coursework Title
Intake
Level 3
2013
Individual Assignment
Page 3 of 6
B) Contents:
C) References
Level 3
2013
Individual Assignment
Page 4 of 6
SOFTCOPY:
Your CD should contain the following files:
i)
Documentation file (i.e. .doc file if using Ms-word)
ii)
Program file (Haskell source code and Prolog file with tested query results)
SUBMISSION:
All documentation and CD must be submitted on the due date at 7.00 p.m. or earlier to the
administration department.
5.0
The marks allocation of the assignment is divided into four parts. 50% marks are allocated to the
Haskell application development, 20% marks are allocated to the Prolog application
development, 20% marks for the report (documentation) to accompany the application and 10%
marks for presentation.
Assessment of applications (70 marks)
This will be assessed by your lecturer during presentation/demonstration. To award 70%
of marks the following criteria will be considered:
Haskell: 50 Marks
Idea / Logic : 5 Marks
User Interface(Such as Text Based Menu): 5 Marks
Minimum 5 Modules / functions: 15 Marks
Implementation of Higher Order Functions in all modules: 15 Marks
Implementation of Primitive Recursion (wherever it is necessary) : 5 Marks
Quality of Source code : 5 Marks
Prolog: 20 Marks
Idea / Logic : 5 Marks
Facts ( Minimum 20 Facts) : 5 Marks
Rules ( Minimum 10 rules): 5 Marks
Queries( Minimum 10 queries): 5 Marks
Level 3
2013
Individual Assignment
Page 5 of 6
Clarity of explanations
NOTE:
IF YOU ARE FAIL TO ATTEND/DEMONSTRATE YOUR SYSTEM, ONLY
DOCUMENTATION MARKS (20%) WILL BE AWARDED.
6.0
PERFORMANCE CRITERIA
A: 70% +
This grade will be assigned to work which is considered to be of very high standard and which
meets 100% of the basic requirements listed and more. The final system should be functional and
satisfy all the requirements of the assignment. Work at this level must provide clear evidence of
a variety of advanced concepts / knowledge in implementing primitive recursion and higherorder functions in Haskell. Express queries, facts and rules in a logic programming language.
Evidence of technical knowledge and practical skills essential for programming in a
functional/logical paradigm should be made available. All work should be documented and
referenced well. During presentation, the student should be able to explain in detail the work that
has been done.
B: 60-69%
This grade will be assigned to work which is considered to be of high standard and which meets
at least 80% of the basic requirements listed above and if possible, more. Work at this level must
provide evidence of implementing primitive recursion and higher-order functions in Haskell.
Level 3
2013
Individual Assignment
Page 6 of 6
Express queries, facts and rules in a logic programming language. Evidence of technical
knowledge and practical skills essential for programming in a functional paradigm should be
made available. All work should be adequately documented and referenced. During presentation,
the student should be able to explain well most of the work that has been done.
C: 50-59%
This grade will be assigned to work which is considered to be of good standard and which meets
at least 60% of the basic requirements listed above and if possible, more. The final system should
have functionality and at least compile with no errors and run smoothly when executed. Work at
this level must provide evidence of implementing primitive recursion and higher-order functions
in Haskell. Express queries, facts and rules in a logic programming language. Evidence of
technical knowledge and practical skills essential for programming in a functional paradigm
should be made available. All work should be adequately documented and referenced. During
presentation, the student should be able to explain well most of the work that has been done.
D: 40-49%
This grade will be assigned to work which is considered to be of average standard and which
meets at least 50% of the basic requirements listed above. The final system should at least
compile with minimal errors or run when executed. Work at this level must provide evidence of
implementing primitive recursion and higher-order functions in Haskell. Express queries, facts
and rules in a logic programming language. All work should be adequately documented and
referenced. During presentation, the student should be able to explain briefly the work that has
been done.
E: 30-39%
Work at this level will generally be of low standard where it may even fail to meet at least 50%
of the basic requirements listed above. Such a program may display a list of compilation errors
and may not even run when executed. Work that is not documented adequately, lacks referencing
and does not display proper program structure would fall in this category. During presentation,
the student is not able to explain briefly the work that has been done.
F: 0-29%
Work at this level will generally be of very low standard where it may even fail to meet at least
40% of the basic requirements listed above. Such a program may display a list of compilation
errors and may not even run when executed. Work that is not documented adequately, lacks
referencing and does not display proper program structure would fall in this category. During
presentation, the student is not able to explain briefly the work that has been done.
Level 3
2013