Maricopa Community Colleges  CIS178   19982-19992 
Official Course Description:   MCCCD Approval:  12/08/98  
CIS178      19982-19992 L+L 3 Credit(s) 4 Period(s)
PROLOG Programming I
Programming in PROLOG for artificial intelligence applications. Hands-on computer and programming experience. Developing problem-solving skills. Prerequisites: CIS105, or permission of instructor.
 
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CIS178   19982-19992 PROLOG Programming I
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 artificial 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   19982-19992 PROLOG Programming I
    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. Nonl-deterministic Programming
                  D. Knowledge Engineering
                VII. Building AI Tools
                    A. Use of Tools
                    B. Pattern Matching
                    C. Advanced List Processing
                  VIII. AI Programming Techniques
                      A. Knowledge Structures
                      B. Heuristic Search Principles
                      C. Advanced Data Structures
                    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