The focus of this short tutorial lies on recent techniques needed for embedding ASP in complex software environments. The tutorial starts with a short introduction to the essential formal concepts of ASP, needed for understanding its semantics and solving technology. The remainder is dedicated to using ASP in conjunction with Python for modeling complex reasoning scenarios. This involves an introduction to the API of clingo 4, an ASP system extending clasp and gringo with control capacities expressible in Python (and Lua). We illustrate this by developing a sample board game and its more sophisticated usage in preference handling and optimization.