course-details-portlet

IT3105

Artificial Intelligence Programming

Choose study year

Assessments and mandatory activities may be changed until September 20th.

Credits 7.5
Level Second degree level
Course start Spring 2026
Duration 1 semester
Language of instruction English
Location Trondheim
Examination arrangement Project Work

About

About the course

Course content

The course gives students the opportunity to implement many classic AI algorithms and use them as modules in large AI systems to perform tasks such as speech and image processing, simulated soccer (in the well-known Robocup on-line competition), Texas Hold'Em poker playing, and robot navigation. Some of the important AI methods that can appear in various projects include;

  • the A* algorithm
  • means-ends analysis
  • decision-tree learning
  • genetic algorithms
  • neural networks
  • bayesian classification
  • case-based reasoning
  • boosting and bagging

Through this work, students will gain an in-depth understanding of "AI in practice" as opposed to the combination of "AI in theory" and "AI on toy problems" that one experiences in the introductory and intermediate AI courses.

The course will consist of 2-4 projects, depending up the year and the extent of the individual projects. Each project will be supported by a series of lectures on relevant theoretical and practical issues surrounding the problem domain, while some class meetings will be reserved for interactive discussions of the problem and student progress.

Students will be free to program in the language of their choice, although Python, Java and C++ will be recommended.

Learning outcome

  • Students will gain hands-on experience designing and implementing relatively large AI projects.
  • Students will gain valuable insights into why, when and how to use AI methods in realistic problems that they may encounter in their technical careers.

Learning methods and activities

50% standard lectures, and 50% interactive project discussions between students and teacher.

Students will be allowed to work alone or in groups of 2 (or possibly larger depending upon the project)

Further on evaluation

Course evaluation consists of 1-3 projects, which, together, consist of 6 components.

To pass the course, a student must receive a passing mark on at least 5 of the 6 components.

In the event of voluntary repetition, fail (F) or valid absence, the entire course must be retaken in a semester with teaching. All 6 components must be new submissions.

Required previous knowledge

This course is only available for students admitted to the specializations in Artificial Intelligence (MTDT,MIDT,MSIT) or Visual Computing (MTDT,MIDT) or the AI program at Industrial Economics and Technology Management (MTIØT).

In order to take this course, you must have passed the following courses:

  • MA0301 Elementary Discrete Mathematics or TMA4140 Discrete Mathematics or similar
  • TDT4120 Algorithms and Data Structures or a similar course from another university
  • TDT4136 Introduction to Artificial Intelligence or a similar course from another university
  • TDT4171 Artificial Intelligence Methods or a similar course from another university (those interested in taking TDT4171 at the same time as IT3105, can contact the course coordinator or a student advisor)

Course materials

Lecture notes and complete project descriptions will be provided, as will any research articles of relevance to a project. For robotics projects, students will have access to a robot simulator and possibly to real robots (for a limited time). All materials are free.

Credit reductions

Course code Reduction From
IT2105 7.5 sp Autumn 2008
MNFIT215 7.5 sp Autumn 2008
MNFIT215 7.5 sp Autumn 2008
This course has academic overlap with the courses in the table above. If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.

Subject areas

  • Informatics

Contact information

Course coordinator

Department with academic responsibility

Department of Computer Science