IST480:
Knowledge Engineering Fundamentals
Course Syllabus
Fall 2000, TR 3:30 – 4:45, PH 200
Instructor |
:
Brian M. Morgan |
Office |
:
Prichard Hall 212 |
Phone
Number |
:
(304) 696-6469 |
Fax
Number |
:
(304) 696-6533 |
Office
Hours |
:
M, W - 8-10, 1:30 - 3 |
E-Mail |
Textbooks:
The following textbooks will be referenced for the course but are *NOT*
required:
·
An
Introduction to Knowledge Engineering,
by Peter Smith. International Thomson Computer Press, New York, NY, ISBN:
1-85032-277-5, 1996.
·
Intelligent
Systems for Engineering, by
Ram D. Sriram, Springer-Verlag Publishing, London, 1997.
·
Decision
Support Systems in the 21st Century, by
George Marakas. Prentice Hall,
ISBN: 0-13-082636-7, 2001.
Computer
Requirements:
Supplemental materials can be found contained within the WebCT environment (http://webct.marshall.edu/).
I will be sending class
announcements, updates, etc. using your WebCT account (will discuss during the
first lecture). Access to a WWW
browser is required (Netscape 4.0 or higher or Internet Explorer 5.0 or higher)
and Adobe Acrobat Reader (available for download through the class WebCT site).
Course
Description:
The course provides introduction to fundamental topics of knowledge engineering
and the development of Knowledge-Based Systems (KBS). Covers life cycle
activities, knowledge acquisition, representation, and the implementation of KBS
and building tools.
Credit:
The course is
three (3) credit hours. It includes classroom lectures, exams, and programming
projects. Students will participate in programming projects that illustrate the
implementation of concepts in general applications.
Pre/co-requisites:
IST263 – Programming Practicum or permission.
Desired
Objectives/Outcomes:
By the end of this course, you should be able to:
-
Identify current practices of Knowledge Engineers
-
Identify problems that are best-suited for Knowledge Based Systems
-
Identify the steps necessary to develop a Knowledge Based System
-
Use proper techniques to gather knowledge
-
Use proper techniques to represent knowledge
-
Be able to develop a working Knowledge Based System with the expert
system shell, ESTA.
Instruction
method:
There will be 3 contact hours of classroom lecture per week.
Two programming projects covering the major topics are part of the
course. Students may work on their
assignments in the computer lab in Prichard Hall 200.
Evaluation
method:
Evaluation of student's performance will be based on the quality of your
performance on programming assignments, exams, and class and web-based
participation.
Grading
Policy:
Final grades are based on performance in assignments, exams, and attendance as
indicated below.
Midterm |
25% |
Final
Exam |
35% |
2
Programming Projects (15% each) |
30% |
Attendance
& Participation |
10% |
Assessment
of Projects:
The
grading of all projects will take into account the following:
1.
Although the most important attribute of a program is correctness,
grading will take into consideration such items as time and space efficiency, documentation,
etc.
2.
Programs must have proper inline documentation and must be properly
indented. 20% will be deducted for poorly documented and/or poorly indented
code.
3.
All submitted code must compile correctly. Code that does not compile
will receive 0 credit.
4.
When a problem does not specify a required complexity, the grading will
differentiate between efficient and nonefficient code. For example, if you
write a program that contains a number of checks that are redundant and/or has
one or more loops that iterate zero or one time, up to 10% of the grade will be
deducted.
5.
When a method name and/or parameters are specified in an assignment’s
description, you must use that name and/or parameters. Failure to do so could
result in loss of up to 50% of points as I may write my own driver program to
test required methods or functions.
6.
When you write a function, remember that the function should work for all
possible inputs. Not on just your test inputs.
7.
Although interactions with other students are encouraged, you must
compose your own answers, unless otherwise noted.
Individuals
who utilize other people’s code, thoughts, or ideas must provide appropriate
references to said resources. Failure
to provide such documentation will result in a failing grade for the assignment,
and may result in a failing grade for the course.
In
determining the overall grade for a project, you can expect the following grades
based on performance:
A
– Excellent work that meets and/or exceeds all of the requirements for a given
project, code compiles and works for multiple test samples, all code and
associated files are well-documented, and the code is written efficiently.
B
– Good work that meets all of the requirements of the assignment, but may have
errors in documentation or coding, or contains code that may not work with all
possible data samples.
C
– Average work that meets all of the requirements of the assignment, but is
missing one or more of the items in its entirety that is mentioned in terms of
an A grade.
D
– Below average work which fails to meet one or more of the requirements of
the assignment.
F
– Unacceptable work which fails to meet two or more requirements for an
assignment, or has code that will not compile and execute.
Final
letter grades are determined based on the following grading scale:
90-100% |
A |
80-89% |
B |
70-79% |
C |
60-69% |
D |
Below
60 |
F |
The
instructors reserve the right to change these values depending on the overall
class performance and/or extenuating circumstances.
Policy
Statement:
Programming assignment:
The course includes a programming
assignment using Esta, an expert system shell that will be taught in class. All
assignments are due at the beginning of the class period on the due date. Late
assignments will be penalized at the rate of 5% per day (including weekends).
Exams:
There are two exams: Mid-term (during the 7th week) and a Final exam (as
scheduled). Exact dates and times of exams will be announced in class.
Make-up
Exams and Late Penalty: Make‑up
exams will not be given
except under unusual circumstances and satisfactory written justification.
Any student who misses an exam due to an unexcused absence will receive a
grade of zero for that exam with no opportunity for make-up or substitution.
University excused absences or those occurring with a good reason will be
excused. Make up exams must be
taken within one week of the original scheduled date.
The decision whether to give a make up exam rests with the instructor.
Passing
grade:
Programming assignments and exams are required parts of the course and
must be satisfactorily completed to pass this course.
A student must have a passing performance on each part.
A failing grade on a component may result in a failing grade in
the course.
Attendance
Statement:
Class attendance is mandatory and is a required part of the course.
Those needing to miss class for a legitimate reason must contact me via
telephone/voice mail or e-mail prior to the class meeting for it to be excused.
See grading policy.
Withdrawal
Policy:
The University
withdrawal policy is followed in this course. The last day to drop an individual
course for the Fall of 2000 is October 27, 2000.
University
Holidays:
The class is officially dismissed on the following dates:
Fall Break: November 21,
2000
November
23, 2000
Topics
and Methodology:
The following outline delineates the tentative class schedule with topics to be
addressed during the course. Please
note this is a tentative schedule and it may change upon class progress:
August
22 |
Course
Overview/Objectives (syllabus), Overview of how to access course
information through WebCT |
August
24 |
Introduction
to Knowledge Engineering |
August
29 |
Knowledge-Based
Systems (KBS) -
Introduction -
History -
Applications |
August
31 |
Knowledge
Engineering Life Cycle -
Compared to the Software Life Cycle |
September
5 |
Knowledge
Engineering Life Cycle -
KBS Development Cycles |
September
7 |
Catch
up on previous lectures -
Prototyping |
September
12 |
Knowledge
Engineering Life Cycle -
KBS Development Methodologies (DSS book, chapter 3 as well) |
September
14 |
Knowledge
Acquisition -
Acquisition Methods -
Assignment of Project #1 |
September
19 |
Class
time to work on your knowledge interviews, questionnaires, etc. |
September
21 |
KNOWLEDGE
Interviews of “domain expert”– class project |
September
26 |
Knowledge
Representation -
Rules-based -
Frames |
September
28 |
Knowledge
Representation -
Semantic Networks -
Model-based |
October
3 |
Knowledge
Representation -
Blackboard -
Object-based |
October
5 |
MIDTERM
EXAM |
October
10 |
Review
of Midterm, Q&A period |
October
12 |
Search
Methods -
Simple Search Methods |
October
17 |
Search
Methods -
Evaluation-based Searches |
October
19 |
Project
#1 Due KBS
Implementation and Building Tools |
October
24 |
KBS
Building Tools |
October
26 |
Examples
in ESTA |
October
31 |
ESTA
Assignment
of Project #2 |
November
2 |
ESTA |
November
7 |
ESTA |
November
9 |
Problem
Solving Strategies -
Introduction |
November
14 |
Problem
Solving Strategies -
Forward Chaining |
November
16 |
Problem
Solving Strategies -
Backward Chaining |
November
28 |
Management
Issues in KE -
QA and Validation -
Operation and Maintenance -
Professionalism |
November
30 |
Project
Management Issues in KE |
December
5 |
Project
#2 Due Dead
Week – Review for Final Exam |
December
7 |
Final
Exam, 3:30 pm – 5:30 pm |
For
each topic discussed in the textbook, specific experience of other students and
the instructor will be discussed to enhance the characteristics involved.
The Expert System shell authoring package, ESTA, will be taught in the
course and used to implement the major project in the course.
Additional material may also be covered in the class.
Every
student is responsible for all materials presented in class, including lectures,
notes, and handouts. In case you
are not present for a class, it is your responsibility to contact the instructor
and receive information about the material presented in that class.
Class attendance is very important.
Effort
Required:
As a 400-level course, a considerable amount of research effort is required of
the student. For every one hour in
class, the student is expected to put in an effort of at least 3 hours outside
the class for studying and programming. Upon
background and preparedness, some students may have to put in additional effort.
Communication:
The Bulletin Board facility of WebCT and private E-mail will be used to make any
general announcements, last minute changes, etc. It is mandatory that you monitor your WebCT course messages
at least once a day.