Artificial Intelligence Programming


Recommended prerequisite for participation in the module

The module adds to knowledge obtained in Computer Graphics Programming

Content, progress and pedagogy of the module


Concepts of artificial intelligence (AI) are central to the design and development of contemporary systems, e.g., database search and management, handheld devices (e.g., smartphones and tablets), games (e.g., chess), various adapting or learning systems, and so on. The objective of this course is to give students exposure to and an understanding of the fundamentals of AI programming, including: rational agents and their environment, knowledge representation, formal languages and logic, reasoning, basic graph theory, pathfinding algorithms, finite state automata, steering behaviors, and decision making. Students will develop practical skills in AI programming useful for the development and deployment of intelligent systems.

Learning objectives


Students who complete the module will obtain the following qualifications:

  • Understand different levels of intelligent agent architectures, environments, and their application domains
  • Understand basic graph theory
  • Understand finite state machines, decision trees, and behaviour trees, and their implementation
  • Understand different search strategies, and their implementation and underlying data-structures
  • Understand different pathfinding algorithms and their implementation
  • Understand steering algorithms and their implementation
  • Understand classical planning approaches
  • Understand knowledge representation, formal logic, and reasoning
  • Understand basic fuzzy logic


Students who complete the module will obtain the following qualifications:

  • Apply the above knowledge to construct an intelligent system using available technologies
  • Choose appropriate methods and technologies for a given problem (analysis)
  • Interpret and evaluate AI systems and their behaviour
  • Use agent simulation systems for prototyping system behaviour (apply)


Students who complete the module will obtain the following qualifications:

  • Ability to synthesise knowledge, methodology or techniques concerning a problem centred around intelligent systems
  • Ability to integrate AI-based libraries into larger projects (apply)
  • Ability to learn the use of AI tools like agent-based simulators, planning systems, network simulators, etc. (apply)

Type of instruction

Refer to the overview of instruction types listed in § 17. The types of instruction for this course are decided in accordance with the current Joint Programme Regulations and directions are decided and given by the Study Board for Media Technology.


Prerequisite for enrollment for the exam

  • Handing in of written assignments or the like
  • Completion of certain – or all – study activities


Name of examArtificial Intelligence Programming
Type of exam
Written or oral exam
Note that if admittance to the exam or parts of the assessment is to be based on written work or exercises, a deadline is stipulated for when the work must be handed in.
Permitted aids
With certain aids:
See semester description
Assessment7-point grading scale
Type of gradingInternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Facts about the module

Danish titleProgrammering af kunstig intelligens
Module codeMSNMEDB6172
Module typeCourse
Duration1 semester
Language of instructionEnglish
Location of the lectureCampus Aalborg, Campus Copenhagen
Responsible for the module


Study BoardStudy Board of Media Technology
DepartmentDepartment of Architecture, Design and Media Technology
FacultyThe Technical Faculty of IT and Design