Practical Reinforcement Learning: Develop self-evolving, intelligent agents with OpenAI Gym, Python and Java