Course - Artificial Intelligence Programming - IT3105
Artificial Intelligence Programming
Assessments and mandatory activities may be changed until September 20th.
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
Assessment in the course consists of 1 to 3 group projects comprising a total of six components. Group sizes vary between 2 and 4 students, depending on the scope of each project.
Project 1 forms the foundation for the subsequent 1–2 projects. To pass the course, at least 5 of the 6 components must be approved.
All lectures are recorded before the semester begins so that students can review them at their own pace. Prior to the start of the first project, it is necessary to have watched the first 5–6 introductory lectures in order to prepare for the project work.
The weekly in-person sessions are dedicated to project supervision. The course lecturer and teaching assistants are available in the classroom to provide guidance.
The first submission takes place within one month of the start of the semester, usually including an in-person demonstration of the code. Subsequent submissions occur 1–2 months after the first, sometimes with an in-person demonstration and sometimes as a video submission. The final submission is normally in the last teaching week of the semester.
In the event of a voluntary retake, a fail, or authorised absence, the entire course must be retaken in a semester when it is taught. All six components must be submitted again as new work.
Specific conditions
Admission to a programme of study is required:
Computer Science (MIDT)
Computer Science (MTDT)
Industrial Economics and Technology Management (MTIØT)
Informatics (MSIT)
Natural Science with Teacher Education, years 8 - 13 (MLREAL)
Recommended previous knowledge
TDT4172 Machine Learning Introduction or TDT4173 Modern Machine Learning in Practice or similar machine learning courses.
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 |
Subject areas
- Informatics