In March 2017 I gave an introductory course on QGis plugin development, hosted by OSGeo.be. In a three hour session we covered the basics of QGis 2.18, Python 2 and Qt 4.
Using OpenStreetMap data and the QGis Plugin Builder, we built our own 'geogame' plugin where the users can score points if they can find points of interest on the map.
The slides can be found below and cover first of all a very brief introduction to the Python language, followed by an introduction to the Qt toolkit and an overview of the PyQGis API.
As a reference, a version of the 'geogame' plugin we built can also be found on Github.