Practical Course Online Learning and Algorithmic Pricing
(IN0012, IN2106)
Supervision: Prof. Dr. Martin Bichler, Philip Hierhager.
Agentic AI systems study the interaction of multiple autonomous decision-making entities that operate in shared environments and adapt their behaviour over time. This area lies at the intersection of artificial intelligence, machine learning, multi-agent systems, and economic decision theory, and has gained renewed attention in recent years due to advances in deep reinforcement learning, large-scale computation, and large language models. At the same time, autonomous agents and bots are increasingly deployed in real-world economic and digital settings such as online markets, negotiation platforms, and automated decision systems, raising new challenges related to learning dynamics, coordination, stability, robustness, and strategic behaviour.

Credit: Stock picture, pexels.com
Introduction and Q&A meeting
The introductory meeting is over. The slides can be found here.
Previous Knowledge Expected
- Strong mathematical background
- Strong programming skills; prior experience with Julia is helpful but not required
- Solid background in algorithms, data structures, and software engineering
- Basic knowledge of optimization, probability, and machine learning
- Interest in online learning, algorithmic game theory, market design, or pricing
- Willingness to independently familiarise oneself with Julia and relevant numerical computing tools
- Prior successful completion of one of the following courses is recommended: Business Analytics and Machine Learning (IN2028), Machine Learning (IN2064), Introduction to Deep Learning (IN2346), or a comparable course with algorithmic or machine learning content
Module Classification
- IN0012 (Practical course in the Bachelor program Informatics).
- IN2106 (Practical course in the Master program Informatics).
- For all other programs: Please check first whether this practical course fits in your curriculum.
Teaching and Learning Method
In this practical course, students design and implement learning-based pricing agents for strategic market environments. The course focuses on online learning methods for repeated decision-making, with particular emphasis on algorithmic pricing, no-regret learning, and adaptive strategies in competitive markets.
The common experimental setting is Bertrand competition with homogeneous and heterogeneous goods. Students implement autonomous pricing agents that repeatedly interact with competitors, observe market feedback, and adapt their pricing strategies over time. Depending on the project, environments may include settings with fixed competitors, changing competitors, differentiated products, incomplete information, or contextual market signals.
Methodologically, the course focuses on online learning and bandit algorithms, including mirror descent, optimistic mirror descent, follow-the-regularized-leader, follow-the-perturbed-leader, upper confidence bound methods, Thompson sampling, and contextual bandits. Students study how these methods behave in strategic pricing environments and compare their performance in terms of regret, convergence, stability, revenue, welfare, and competitive dynamics.
A central technical component of the course is the implementation of algorithms and experimental environments in Julia. Students build modular simulation frameworks, implement online learning algorithms from first principles, and conduct controlled computational experiments. The course emphasizes reproducible experimentation, efficient numerical implementation, and systematic comparison of learning dynamics across market designs.
Beyond functional correctness, the course focuses on the experimental analysis of multi-agent learning systems. Students investigate questions such as whether pricing algorithms converge, whether they lead to stable or unstable market outcomes, how they react to changing competitors or heterogeneous goods, and how different assumptions about information and feedback affect market behavior.
The course follows a project-based format with students working in small teams. Results are presented in the form of executable Julia implementations, controlled experimental evaluations, and a written project report.
Course Objective
After successful completion of the course, students will be able to:
- design and implement online learning algorithms for repeated decision-making problems
- implement pricing agents for Bertrand competition with homogeneous and heterogeneous goods
- apply and compare methods such as mirror descent, optimistic mirror descent, FTRL, UCB, Thompson sampling, and contextual bandits
- build modular and reproducible simulation environments in Julia
- experimentally analyse regret, convergence, stability, revenue, welfare, and competitive dynamics
- evaluate how market structure, feedback, and strategic interaction affect learning outcomes
- clearly document and present algorithmic designs, experimental setups, and empirical results
Course Criteria and Registration
The practical course is primarily aimed at BSc and MSc students in Mathematics, Computer Science, Information Systems, Data Science,.
All students (from all schools) must apply via the School of CIT's matching system. (Additional information here.)
To improve their chances of being selected, students may send a current transcript of records to Philip Hierhager within the registration deadline of the matching system. Students may optionally include further information in this email, such as their motivation for participating, or relevant courses taken or planned that are not yet listed on the transcript.
Literature
Example literature includes Hazan’s Introduction to Online Convex Optimization for online learning and regret minimization, Calvano et al.’s Artificial Intelligence, Algorithmic Pricing, and Collusion for algorithmic pricing in repeated markets, and Hsieh, Antonakopoulos, and Mertikopoulos’ Adaptive Learning in Continuous Games for adaptive optimistic learning and convergence in games.