Names, binding, and scope: Programming Language Design course | Zoonk