video { width: 100% !important; height: auto !important; }


Quantifying the Transition from Python 2 to 3: An Empirical Study of Python Applications : Background: Python is one of the most popular modern programming languages. In 2008 its authors introduced a new version of the language, Python 3.0, that was not backward compatible with Python 2, initiating a transitional phase for Python software developers. Method: We have developed a Python compliance analyser, PyComply, and have assembled a large corpus of Python applications. We use PyComply to measure and quantify the degree to which Python 3 features are being used, as well as the rate and context of their adoption.

View Publication

Video Game Development

Videos describing the use of C++, Design Patterns, and Data-driven programming, to build 2D Video Games can be found on my youtube channel. youtube Channel


The Code℞ project is intended to help students and programmers to improve their programming skill, and to improve the quality of their code. Computer programming requires both practice and instruction, and this skill cannot be acquired simply by reading a textbook or copying code found on the internet. The Code℞ project provides a web interface that contains sets of graduated exercises that are evaluated for quality and correctness.

Give Code℞ a try