title: The Scent of Python
keywords: programming education, static analysis, novice programming, software design
topics: Languages , Logics and semantics , Software Technology
committee: Ansgar Fehnker


Python is a popular language also for education because of it easy learning curve, an abundance of resources, and forgiving nature. Even though in some context it is treated like a scripting language, it is a full programming language that allows for object oriented programming. You will find different courses will use Python differently to teach programming. The aim of this project is to investigate the different approaches of teaching Python, define a set of common practices that would suitable to use  Python to teach object-oriented programming, and investigate tools support that will identify problematic programming, that goes beyond typical checks included in tools such as  pylint or pyflake.