Authors:
(1) Ken Hasselmann, ECAM Brussels School of engineering, Brussels, Belgium and Universite libre de Bruxelles, Brussels, Belgium;
(2) Quentin Lurkin, ECAM Brussels School of engineering, Brussels, Belgium.
Table of Links
Abstract
Strong foundations in basic AI techniques are key to understanding more advanced concepts. We believe that introducing AI techniques, such as search methods, early in higher education helps create a deeper understanding of the concepts seen later in more advanced AI and algorithms courses. We present a project-based and competition-based bachelor course that gives second-year students an introduction to search methods applied to board games. In groups of two, students have to use network programming and AI methods to build an AI agent to compete in a board game tournament— othello was this year’s game. Students are evaluated based on the quality of their projects and on their performance during the final tournament. We believe that the introduction of gamification, in the form of competition-based learning, allows for a better learning experience for the students.
1. Introduction
ing and deep learning: many courses and teaching material are now available (Wollowski et al., 2016; Ye et al., 2021), and their availability is growing. We believe that, regardless of the importance of teaching the most recent and state-of-the-art technologies, it is important for students to have sound knowledge of data structures and the basics of AI algorithms. In the case of this course, when we refer to the basics of AI algorithms, we refer to search algorithms, adversarial search algorithms, and the basics of game theory (Russell & Norvig, 2021).
We designed a project-based programming course for second-year students revolving around the creation of an AI agent for a given board game. Students are presented with a board game at the beginning of the course. In groups of two, they have to use the knowledge gained throughout the lectures to create an AI agent that will compete against all other student groups’ agents by the end of the course period.
The objectives of this course are three-fold: (i) we want to introduce students to different python programming paradigms that they have not seen in the curriculum yet; (ii) we want to introduce AI for games and game theory; and (iii) we want to introduce source code management and unit testing for their project.
We focus on practical work, group projects, and creating a challenge by having students compete with each other. The introduction of gamification, namely competition-based learning, in teaching has shown positive results in student motivation and engagement (Seaborn & Fels, 2015; Burguillo, 2010). We therefore believe that gamifying the course’s end-goal, by introducing a student tournament, will improve the overall learning experience. Students have to apply the lecture concepts immediately and are motivated by the idea of defeating rival teams, creating some intrinsic motivation for learning.
This paper is available on arxiv under CC BY 4.0 DEED license.