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;
2. discuss intelligent agents, their performance, examples, faculties, environment and
architectures, and determine the characteristics of a given problem that an intelligent
system must solve;
3. describe the Turing test and the “Chinese Room” thought experiment, and differentiate
between the concepts of optimal reasoning/behaviour and human-like
4. describe the role of heuristics and the trade-offs among completeness, optimality, time
complexity, and space complexity;
5. analyse the types of search and their applications in AI and describe the problem of
combinatorial explosion of search space and its consequences;
6. demonstrate knowledge representation, semantic network and frames along with their
applicable uses;
7. 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
8. analyse programming languages for AI and expert systems technology, and employ
application domains of AI.
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

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.