Event graphs are a formal modeling tool which can be used for building discrete-event simulation models. Event graphs can be used to model almost any discrete-event system. This chapter introduces to event graphs. It shows how engineering student can synthesize simulation programs from simulation models constructed using event graphs. The chapter discusses event graphs can be translated into Python code in a systematic way using the abstractions. It proposes a set of high-level concepts which are expanded into code during the process of translating event graphs into idiomatic Python code. Event graphs also include state variables which are written between curly brackets. The arrival process is a very fundamental building block in event graphs of queueing systems. The complexity of event graphs is measured by the number of vertices and edges present in the graph. A multiple-server queueing system is an extension of the single-server queueing system.