CSC 309: Artificial Intelligence

Learning Outcomes
At the end of this course, students should be able to:

  1. explain AI fundamentals, concepts, goals, types, techniques, branches, applications, AI
    technology and tools;
    discuss intelligent agents, their performance, examples, faculties, environment and
    architectures, and determine the characteristics of a given problem that an intelligent
    system must solve;
  2. describe the Turing test and the “Chinese Room” thought experiment, and differentiate
    between the concepts of optimal reasoning/behaviour and human-like
    reasoning/behaviour;
  3. describe the role of heuristics and the trade-offs among completeness, optimality, time
    complexity, and space complexity;
  4. analyse the types of search and their applications in AI and describe the problem of
    combinatorial explosion of search space and its consequences;
  5. demonstrate knowledge representation, semantic network and frames along with their
    applicable uses;
  6. practice Natural Language Processing, translate a natural language (e.g., English)
    sentence into a predicate logic statement, convert a logic statement into clause form,
    apply resolution to a set of logic statements to answer a query; and
  7. analyse programming languages for AI and expert systems technology, and employ
    application domains of AI.

    Course Contents
    Overview of Artificial Intelligence. History of AI. Goals of AI. AI Technique. Types of AI.
    Branches and applications of AI. Advantages and Disadvantages. Introduction to Intelligent
    Agents. Agent Performance, Examples of Agents, Agent Faculties, Rationality, Agent
    Environment. Agent Architectures. Search. General Classes of AI Search Algorithm Problems.
    Problem Solving by Search. Types of AI Search Techniques and Strategies. Introduction to the
    types of problems and techniques in AI. Problem-Solving methods. Major structures used in
    AI programmes. Knowledge Representation. KR and Reasoning Challenges. KR Languages.
    Knowledge representation techniques such as predicate logic, non-monotonic logic, and
    probabilistic reasoning. Semantic Network – types of relationships, semantic network
    inheritance, types and components. Introduction to Frames. Natural Language Processing
    (NLP). Introduction to natural language understanding and various syntactic and semantic
    structures. Introduction to Expert Systems – characteristics, components, types, requirements,
    technology, development. Programming Languages for AI. Introduction to computer image
    recognition.

    Lab work: Group practical in (i) Turing test practical – Students can act out their own version
    of the Turing test (iii) Facial recognition practical to aid in teaching students how machine
    learning works with students simulating a facial recognition algorithm. Practical applications
    of NLP in groups – (i) Question Answering focuses on building systems that automatically
    answer the questions asked by humans in a natural language (ii) Spam detection application
    for detecting unwanted e-mails getting to a user’s inbox (iii) Sentiment analysis/opinion mining
    should be used on the web to analyse the attitude, behaviour, and emotional state of the
    sender, implemented through a combination of NLP and statistics (iv) Practical exercise of
    machine translation used to translate text or speech from one natural language to another
    natural language such as the Google Translator (v) Developing a model to provide word
    processor software for the spelling correction (vi) Developing a model for speech recognition
    for converting spoken words into text (vii) Implementing a Chatbot to provide the
    staff/student’s chat services. OR
    Group Practical exercise on agents and its environment using simulation of a colony of ants
    foraging for food; model simulating a message between agents; model simulating the flocking
    behaviour of birds; model to apply standard search algorithm to the classic search problem of
    missionaries and cannibals, and how to use communicating agents for searching networks.
    Some computer AI animation exercises for any branch of AI. Practical exercise on simple
    robots coupling and programming. Group project of building a lawn robot for trimming
    grasses, or any simple design and implementation of robotics.