This is a practical introduction to intelligent boardgames and search. It will include some gametheory, search and AI (artificial intelligence) in general. We will start with basic search and tree-generation in python, solving some practical combinatorical problems. Later on we will introduce game programming and talk about combinatorics, complexity and game theory, especially minimax. Parallel to that we will programm intelligent agents for games like tic-tac-toe and its variants, 4-in a row and checkers.
There will be plenty of homework nessecary, since it is a programming course and thus programm a lot.
The class will be structured as follows:
1) Introduction to AI and search (theory)
2-4) Solve Puzzles, Sudoku and Quizes (coding)
5) Intelligent Boardgame-playing (theory)
6) Programm TicTacToe
7) Programm AI for TicTacToe
8) Programm different games
9) More theory about game complexity and programming, chess and Go.
10) Programm anything you want
- no lectures added
This is NOT an introduction to python or programming! It is intended for those who have learned the basics and want to do something practical with their knowledge.
The prequisite is moderate knowledge in Python or any OOP language. If you are familiar with the data structure "tree", lists and list comprehensions, recursions and can work with strings, classes and objects, you´re set. If you are familiar with Java or C, please take an intro course in Python or read a book or tutorial. Check the main page for resources about that.
This is a draft-page to get familiar with the functions of Udemy. I don´t know when I can actually start this, since I´m working on my phd, but since there are interested people, I will try to find some time as soon as possible. You will be notified about the regular start of the course.
I am a native German speaker, so I can provide everything in German as well. In fact, the whole class is based on my master thesis which was written in German. English is my third language, and I had practically no formal training in it, so bear with me about that :) I´ll try to be a specific as possible.
BSc in Math and CS, MSc in Math and CS Education, PhD Student in CS Engineering and Education