Top Trending Python Projects, Airflow, and Intelligent Agents

Came across Top 10 Trending Python Projects On GitHub: 2020  and could not resist. Looking at a couple of them for our explorations in Natural Language Processing and using Games for Teaching Software.

Apache Airflow

Airflow pipelines are configuration as code (Python), allowing for dynamic pipeline generation.

You can use it for building ML models, transferring data or managing your infrastructure.

We experiment with simple Natural Language Processing tasks – entity extraction, finding keywords from text, language understanding, question/answer generation. Many of them have common steps – gather data from the web, clean the data and turn it into text, parse the data, etc. Trying to create simple pipelines that we can reuse will be of great benefit. Used to love Yahoo Pipes.

Unity Machine Learning Agent Toolkit

The ML-Agents Toolkit is beneficial for both game developers and AI researchers as it provides a central platform where advances in AI can be evaluated on Unity’s rich environments and then made accessible to the wider research and game developer communities.

We include writing simple games as part of teaching Introductory Python. In fact, we start with Turtle module and move them to Pygame Zero. As students move up to write more powerful games, it will be interesting to infuse some intelligence into the games. We are looking at a few options like Micro-worlds and Agent toolkits.

A Technique for Teaching Programming

I like this approach from https://play.kotlinlang.org/koans/overview

“Kotlin Koans is a series of exercises to get you familiar with the Kotlin syntax and some idioms. Each exercise is created as a failing unit test, and your job is to make it pass. Here you can play with Koans online, but the same version of exercises is also available via JetBrains educational plugin right inside IntelliJ IDEA or Android Studio.”

Giving a set of code fragments that fail tests and asking students to fix it is a brilliant idea. In fact, a similar technique used in a version of the book “Learn Python the Hardway”.