|title:||The Scent of Python|
|keywords:||programming education, static analysis, novice programming, software design|
|topics:||Languages , Logics and semantics , Software Technology|
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.