Defensive SAS Programming Course Notes - Philip R Holland (February 2018)