Agent-based modeling is a methodology for analyzing how groups of interacting individuals or other types of agents bring about various macro outcomes. This course provides a detailed introduction to the agent-based modelling (ABM) technique. The course covers all the steps in the process of developing an ABM, from theoretical design to model implementation and model evaluation. During intensive computer labs, ABMs are implemented using object-oriented programing, including the treatment of variables, commands, and procedures. The course includes practical work with various types of computer-based experiments, as well as methods for evaluating the robustness of simulation results using various statistical sensitivity analyses.