Reference no: EM132216531
This writing code on Ocaml Function Programming language I post this many times no body help me out please some help me with this assginiment This is not Python it is called OCAML Funciton Programming Language
Please also refer to the description provided in Part 1 of the project "A Class management System".
You have had a chance to state your understanding of the requirements for this project, draft a preliminary design, and express it by means of UML diagrams.
Now it's time to implement your design.
As stated in the original requirements, there will be three categories of users:
Students
Instructors
Administrators
Recall that each of these users has a different level of read and write access/permissions to the system.
Your system implementation should demonstrate the following use cases with an appropriate level of access/permissions:
Use Cases:
This list of use cases for your system, given below, is not exhaustive. It merely specifies the use cases that will be employed for testing the code that you will submit.
You must ensure that your system is sensibly designed to address the design requirements expressed in Part 1 of this project.
An Administrator user can add a course and its attributes to the catalog or modify existing courses
An Administrator user can add/modify the year and semester of offering for a course
All users can view all courses available
All users can view course offerings available for a given year and semester
A Student user can register for a particular course for a given year and semester
A Student user can check which particular course they are registered for in a given year and semester
An Administrator user can assign an instructor to a particular course for a given year and semester
An Instructor user can check which particular course they are assigned to in a given year and semester
An Instructor user can check which particular students are registered in the course offering (course, year, semester) that instructor is teaching
An Instructor user can assign/reassign a course grade to each student registered in the course offering that that particular instructor is teaching
An Instructor user can view student grades for all students registered in that instructor's course offerings
A Student user can check their own grade for a particular course offering
An Administrator user can view student grades for all students registered in any course offerings
An Administrator user can view student grades for all students registered in any course offerings assigned to a particular instructor
An Administrator user can assign/reassign student grades for all students registered in any course offerings assigned to a particular instructor
Student users can print/display their own grades by course offering (course, year, semester)
Instructor users can print/display the grades belonging to their students in any of their own course offerings (course, year, semester)
Administrator users can print/display grades belonging to students in any course offering (course, year, semester)
Additional Information:
A user will log in by supplying a name, ID, and password
Access/permissions to read/write will be keyed to the user ID
All functional choices may be presented as a menu displayed on a console; all menu selections may be made via a keyboard; there is no need to supply a Graphical User Interface (GUI)
Data for Testing
Some data is provided below. Add other students and instructors as needed
Students (given as name, ID, password):
Connie Willis, 10001, Cw1001
Kristine Rusch, 10002. Kr1002
Gregory Benford, 10003, Gb1003
Carlos Hernandez, 10004, Ch1004
Nnedi Okarafor, 10005, No1005
Catherynne Valente, 10006, Cv1006
Instructors (given as name, ID, password):
Nancy Kress, 1003, Nk1003
Vandana Singh, 1004, Vs1004
Usman Malik, 1005, Um1005
Administrators (given as name, ID, password):
Leigh Brackett, 1001, Lb1001
Isaac Asimov, 1002, Ia1002
Courses (only number and title are provided here, fill in the remaining information (credits and grading scale) yourself)
CSCI1004 A Weakly Typical Python
CSCI2004 The Objective of the Caml
POLS2701 The Meaning of the Constitution
HUMN2211 Living the Liberal Arts
PHIL3333 The Objective Truth
BIOS3791 Living Systems
ENGR4792 Systems Living
PHIL4797 Living Systemically
Some Course, Instructor, and Student Combinations in a given semester and year that will be tested. Make additional combinations for your own testing.
CSCI1004: Vandana Singh: Connie Willis, Carlos Hernandez: Fall, 2016
PHIL3333: Usman Malik: Connie Willis. Gregory Benford: Spring 2017
ENGR4792: Usman Malik: Kristine Rusch, Nnedi Okarafor, Catherynne Valente: Fall 2017
All project documentation must be included as comments in your code listing. The comments must explain:
what each statement or segment of code does and why you chose that particular implementation approach
describe data structures that you used and why you picked that type of structure
provide instructions for how the program is to be used.
Make sure that the file is easily read i.e. it is nicely formatted with blank lines separating code segments, and comments appropriately associated with the relevant code segments, so that one can easily understand what you have written.
Copy your entire code listing and paste it into a Microsoft Word document. In the Microsoft Word document, change the comments text to green-colored font (your code text should be in black-colored font; this Word document too should be easily readable). See example below:
# The code segment below uses the sorted function to sort ID Number and Name key:value pairs stored in a dictionary structure called myDictionary.
The sorting is done on the keys and not the values. Then a for loop is used to print out the key:value pairs.