Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Task2: Curriculum of Bachelor of Science Your task is to create a knowledge base describing courses and their prerequisites. The graph below shows the courses
Task2: Curriculum of Bachelor of Science Your task is to create a knowledge base describing courses and their prerequisites. The graph below shows the courses and their prerequisites. Flow of Courses for CSCI Major (BS) Fundamentals of Programming I CSCI 111 Computer Organization CSCI 210 2 CSCI Electives Fundamentals of Programming I CSCI 112 Software Development CSCI 209 2 electives between 315-341 Discrete Mathematics MATH 121 Algorithm Design and Analysis CSCI 211 Programming Language Design CSCI 312 Theory of Computation CSC) 313 Calculus II MATH 102 Linear Algebra MATH 222 The interpretations for the above curriculum flowchart is as follows: Blue courses are CS courses, while green courses are MATH courses. Required courses for the BS degree are CSCI 111, CSCI 112, CSCI 209, CSCI 210, CSCI 211, CSCI 312, CSCI 313, as well as either MATH 121, MATH 102 and MATH 222. In addition, two electives in the range CSCI315-CSCI341, two additional CSCI electives, and two additional MATH electives at the 200-level or higher are required. 2 electives MATH The entry point for the CSCI major is CSCI 111: Fundamentals of Programming I. CSCI 111 is the prerequisite for CSCI 112: Fundamentals of Programming II. CSCI 112 is the prerequisite or corequisite for CSCI 210: Computer Organization. . Both CSCI 112 and MATH 121 are the prerequisites for CSCI 211: Algorithm Design and Analysis. CSCI 209 is the prerequisite for CSCI 312: Programming Language Design and for the 300- level CSCI electives. MATH 121 is the prerequisite for CSCI 313: Theory of Computation. MATH 102: Calculus II is the prerequisite for MATH 222: Linear Algebra. You also have a set of rules as follows: A course is introductory if it's has no prerequisites. A course is intermediate if it is not introductory, but its prerequisites are all introductory courses. A course is upper level if its prerequisites are not introductory courses. You can now add a set of facts that students have taken some courses using the has taken predicate (i.e., has_taken (sarah, csci_111)). Then, you need to add one more rule to test the eligibility of a student to take a course: can_take(Student, Course), true when Student is eligible to take Course (i.e., they have taken the necessary prerequisites). Now that you have implemented the knowledge base (facts and rules), you can test your implementation by querying the knowledge base: Add a fact that a student (e.g., sarah) has only taken one intermediate course and the prerequisites for this intermediate course. Then test whether sarah can take any other courses from the curriculum. Retrieve the introduction, intermediate and upper-level courses in the curriculum.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started