Flash/program: to update car's electronic control units (ECU) software/firmware (analogy like updating iOS, *nix, Win)
Coding: changing values/parameters to configure certain features!
As for coding and engine state, it's ok to code with engine ON (unless you are coding DME) but read the install instructions that you received from our Shihan Shawn