This course assumes you're an experienced site builder with Drupal. You know how to configure a Drupal site, but you've found limitations with what you can do with core and contributed modules. You do have experience with programming. While you don't need to be an expert in PHP, you understand the basic constructs of programming enough to work with a new language.
This is an eLearning course available on Acquia Academy.