This course introduces the fundamental concepts of simulation of complex systems (from collections of a few objects to multi-agent systems and societies in general), computation, and information processing, via a hands-on, active learning approach. By building physical artificial agents and using ready-made simulation programs, students will also learn about modeling complex phenomena along with experiment design and reporting. These skills are essential for any discipline.