Maricopa Community Colleges  CIS178   19886-19925 
Official Course Description: MCCCD Approval: 05/12/87
CIS178 19886-19925 L+L 3 Credit(s) 4 Period(s)
PROLOG Programming
Programming in PROLOG for artificial intelligence applications. Hands-on computer and programming experience. Develop problem-solving skills. Prerequisites: Working knowledge of a structured programming language.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CIS178   19886-19925 PROLOG Programming
1. Define and compare PROLOG with other programming languages. (I)
2. Demonstrate the basic features of the PROLOG language. (II)
3. Define PROLOG'S simple syntax. (III)
4. Demonstrate basic PROLOG program development techniques. (IV)
5. Demonstrate declarative problem solving. (V)
6. Demonstrate the artificaial intelligence applications and concepts supported by the PROLOG language. (VI)
7. Develop advanced programming techniques, including: recursion, knowledge representation, non-deterministic programming, and searching. (VII)
8. Develop a PROLOG program for an expert system application. (VIII)
9. Develop a PROLOG program for a natural language processing application. (IX)
10. Develop an original PROLOG program which demonstrates the use of artificial intelligence concepts. (X)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CIS178   19886-19925 PROLOG Programming
    I. Introduction to Artificial Intelligence
        A. AI Applications
        B. History
        C. AI Programming Languages
        D. Use of PROLOG
      II. Introduction to PROLOG Programming
          A. The Turbo PROLOG System
          B. Basic Features of Turbo PROLOG
          C. Programming Basics
        III. Domains and Objects
            A. Characters, Reals, Strings, Symbols
            B. Files
            C. Lists
            D. Data Structures
          IV. Controlling Programs
              A. Searching
              B. Backtracking
              C. Recursion
            V. Working with Files and Databases
                A. Programming with Files
                B. Input and Output
                C. Dynamic Database
                D. Knowledge Base
              VI. Advanced Programming Concepts
                  A. Debugging Tools
                  B. Programming with Facts and Rules
                  C. Non-deterministic programming
                  D. Knowledge Engineering
                VII. Building AI Tools
                    A. Use of Tools
                    B. Pattern Matching
                    C. Advanced List Processing
                  VIII. AI Programming Techiques
                      A. Knowledge Structures
                      B. Heuristic Search Principles
                      C. Advanced Data Structure
                    IX. Natural Language Processing and PROLOG
                        A. Natural Language Definition
                        B. Pattern Matching
                        C. Understanding
                      X. Developing Expert Systems
                          A. Inference
                          B. Rules and Facts
                          C. Knowledge Base
                      Go to Description    Go to top of Competencies    Go to top of Outline