What is a knowledge representation? Why are issues in knowledge representation important for biomedical informatics application builders? What is the relationship between knowledge and data, between knowledge bases and data bases? In addition to answering these questions, this course covers: frame-based systems, description logics, automatic theorem proving, complexity vs. tractability, ontologies, rule-based systems, and a variety of applications in the biomedical domain. Although we cover a fair amount of computer science (primarily artificial intelligence), the emphasis is on the implications of these results on the biomedical and health informatics field. To elucidate some of these examples, we use the Common List programming language, but prior knowledge of Lisp is not assumed. We also cover other programming and knowledge representation languages such as Prolog.