In order to be rigorous in our understanding of programming languages, it helps to be able to state precisely the meaning of a program. The branch of mathematics dealing with this is called semantics. There are many kinds of semantics.
This is our first lecture on semantics. We will cover several forms of semantics in the later part of the course, but this particular kind happens to be very good at explaining what, precisely, we are asking you to do when coding an interpreter for a machine problem.