Artificial Intelligence 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


  • 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


  • 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)


  • 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 the start of chapter 3. The types of instruction for this course are decided according to the current Joint Programme Regulations and directions are decided and given by The Study Board of Electronics and IT.

Notice: This elective course might not be offered if less than 10 students sign up.



Name of examArtificial Intelligence Programming
Type of exam
Written or oral exam
In accordance with the Joint Programme Regulations and directions on examination from the Study Board for Media Technology:
To be eligible to take the exam the student must have fulfilled:
• handing in of written assignments or the like
• completion of certain – or all – study activities

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.
Assessment7-point grading scale
Type of gradingInternal examination
Criteria of assessmentAs stated in the Joint Programmes Regulations

Facts about the module

Danish titleProgrammering af kunstig intelligens
Module codeESNITCOB6K4
Module typeCourse
Duration1 semester
Location of the lectureCampus Copenhagen
Responsible for the module


Study BoardStudy Board of Electronics and IT
FacultyTechnical Faculty of IT and Design
SchoolSchool of Information and Communication Technology