Learners distinguish source code from machine code and examine how compilers, interpreters and assemblers translate programs for execution.