7 November 2018
Due 11:59 p.m., Friday, 16 November
Note: We will not impose a late penalty if submitted by 11:59 p.m. on Tuesday, 20 November. If submitted after 20 November, we plan to impose a penalty of 10% per calendar day. Also we may not be able to complete the grading by 1 December for any submission after 20 November.
All homework and programming exercises must be prepared in accordance with the instructions given in the Syllabus. Each assignment must be submitted to your instructor by its stated deadline.
Citations: In accordance with expected scholarly and academic standards, if you reference outside textbooks, reference books, articles, websites, etc., or discuss an assignment with individuals inside or outside the class, you must document these by including appropriate citations or comments at prominent places in your submission such as in the header of the primary source file.
Identification: Put your name, course name, and assignment number as comments in each file you submit.
This is an individual assignment.
When complete, submit your Haskell source code and testing files to the course Blackboard site for Assignment #4.
Be sure to document your code appropriately using program comments. Give attention to the general instructions given above and in the Syllabus.
Consider the Exam DSL Project described in the accompanying handout: [HTML] [PDF]
Create a Haskell module ExamDSL
in file ExamDSL.hs
..
ExamDSL_base.hs
may be used to start your work.SimpleHTML.hs
has the HTML module needed for the project.CSci 450 students: Include solutions for exercises 1-9 in Exercise Set A and ONE of the exercises in Exercise Set B.
CSci 503 students: Include solutions for Exercises 1-9 in Exercise Set A and TWO of the exercises in Exercise Set B.
Create a separate Haskell module ExamDSLTest
to include your code to test the ExamDSL
module.
We may use a unit testing framework to partially automate grading. So it is important that you use the precise file, module, and function names and the given function signatures given.