Module Code - Title:
CS4171
-
PROGRAMMING FOR ARTIFICIAL INTELLIGENCE
Year Last Offered:
2024/5
Hours Per Week:
Grading Type:
N
Prerequisite Modules:
Rationale and Purpose of the Module:
The module explores several key concepts relating to artificial intelligence (AI) algorithms and their implementation. Algorithms which have inspired a diverse range of technologies such as those used in game playing and natural language processing. The aim of this module is to provide students with an understanding of not only some principal AI algorithms, but also how to encode them in a given programming language (with the programming language and its operating environment to be selected by the Department and the selection to be reviewed regularly).
Syllabus:
Programming for Artificial Intelligence is a module which teaches students how to think logically about several key AI related problems. To conceptualise solutions which can then be specified as well designed algorithms and subsequently implemented in a predetermined programming language. AI topics covered include, tree and graph search, knowledge representation, classification, and navigation, while programming topics covered include: declaring and using variables and data structures; looping; encapsulation; functions and flow control; processing input; generating output.
Programming for Artificial Intelligence offers students an opportunity to tackle a set of well-defined problems, using the knowledge they have gained of AI algorithms and their implementation as programs.
Learning Outcomes:
Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)
On successful completion of this module, students will be able to:
Define and explain several key AI algorithms
Demonstrate an understanding of how to determine which AI algorithm to employ in given scenario
Translate AI algorithms into production level code
To design, construct, evaluate and revise programs that solve a straightforward problem specification
Analyse and debug malformed AI programs
Redesign and optimize the performance of an inefficient AI programs
Affective (Attitudes and Values)
N/A
Psychomotor (Physical Skills)
N/A
How the Module will be Taught and what will be the Learning Experiences of the Students:
This module will be taught using a problem-based learning approach, with several key AI algorithms being analysed, appraised, and critiqued in class before participants will work in groups to apply their learning to solve a series of well-defined problems.
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
Stuart Russell and Peter Norvig (2020)
Artificial Intelligence: A Modern Approach, Fourth Edition
, Pearson
Ian Millington (2019)
AI for Games, Third Edition
, CRC Press
Other Relevant Texts:
Henry S. Warren (2012)
Hacker's Delight, Second Edition
, Addison-Wesley Professional
Programme(s) in which this Module is Offered:
Semester(s) Module is Offered:
Autumn
Module Leader:
patrick.healy@ul.ie