MEBI 550: Knowledge Representation and Applications
Course learning objectives for MEBI 550
At the completion of the course, students will have a working
knowledge of ideas, methods and open questions in formal knowledge
representation and their application to biology, medicine and public
health. They will be able to:
- Distinguish among various kinds of data representations and
encodings used in biomedicine and give examples of the use of each,
- Translate biological, medical or public health factual assertions
or statements of knowledge into formal logic using traditional logic
notation and in a form that can be used directly by a computer program
or system,
- Perform simple logic proofs,
- Describe basic properties of frame systems and write frame
representations for examples of biomedical knowledge,
- Perform subsumption and classification of statements written in a
description logic,
- Apply basic Bayesian probability formulas to answer questions
about probabilistic biomedical problems,
- Analyze biomedical knowledge representation and reasoning problems
and give reasons for using or not using particular programming
languages, software environments or methodologies.
In addition, students will have gained basic skills with programming
in Common Lisp. At the end of the course, students will be able to
perform the following representative tasks, illustrating a solid basic
knowledge of core programming concepts:
- Write small Common Lisp programs (100--200 lines of code).
- Write functions in the Common Lisp programming language, that
illustrate the following techniques:
- conditional expressions,
- recursion, with lists and trees,
- iteration,
- the use of auxiliary or helper functions,
- the use of user defined structured types.
- Given a list of expressions or function definitions in Common
Lisp, identify which ones cause side effects and which do not.
- Given a small function definition (10 to 20 lines of code),
determine if it is syntactically correct.
- Given a statement of an algorithm for a simple computation, or
an implementation in code, determine whether it will terminate on all
valid inputs.
- Utilize in their programs elements of the Common Lisp Object
System.