The Library of Dresan: Dr. Anthony G. Francis, Jr.'s Weblog

Introduction to AI for Public Health

Winter 2005 Syllabus

Dr. Anthony G. Francis, Jr. - April 12, 2005 - Updates Still in Progress

Philosophy of the Course

Introduction to Artificial Intelligence with Applications to Public Health surveys the concepts, technologies and issues of artificial intelligence and how AI can be applied to improve public health outcomes. The course begins with lectures on the scope and history of artificial intelligence, then examines popular AI techniques and subject areas in a series of topical lectures. This is followed by lectures on applying AI to public health. The course concludes with a discussion of the philosophy of artificial intelligence.

Outline of the Course

This outline has been revised to reflect changes in the course. The following lists of readings and the detailed outline are still being updated:


  • Artificial Intelligence : A New Synthesis by Nils J. Nilsson Hardcover: 513 pages; Dimensions (in inches): 1.35 x 9.62 x 7.67 Publisher: Morgan Kaufmann; 1st edition (April 1, 1998); ISBN: 1558604677
  • Machines Who Think: A Personal Inquiry into the History and Prospects of Artificial Intelligence by Pamela McCorduck Paperback: 600 pages; Dimensions (in inches): 9.00 x 1.25 x 6.00 Publisher: AK Peters, Ltd.; 2nd edition (March 1, 2004); ISBN: 1568812051



The following programs are referenced in the assignments or were used as examples in the lectures. They're by no means gems of artificial intelligence, or even really AI at all, but hopefully they will be useful for getting up to speed in Python.
  • Nic-Mac-Goe:
    A framework for playing n,m,g tic-tac-toe, for use in Assignment 1.
  • Census
    Simple examples using Python to process a tab-delimited file of census data.
  • Oracle
    A hyperintelligent program that can answer all your questions.
These software programs are provided as a resource for students trying to experiment further with Python and are very very much works in progress.
  • Basic Python
    Simple code samples for basic Python code and Python classes
  • Chase and Avoid
    Unfinished code samples dealing with agents that chase and avoid each other.
  • Neural Networks
    Unfinished code samples deaing with neural networks.
  • Utility
    General code samples.

Lecture Notes

Further Reading

    Programming Resources
  • Learning Python
  • Dive Into Python (online)
    Artificial Intelligence
  • Russel & Norvig: Artificial Intelligence: A Modern Approach
  • Marvin Minsky: Society of Mind
  • Hofstadter: Godel Escher Bach
  • Ray Kurzweil: The Age of Spiritual Machines