High level languages are more understandable to people where as low level is more easily understood by computers. High level languages are programs which run on codes like that in real basic where codes like If,Then,Else are used and low level is can be made up of just numbers like 0110001000111010000. A macro is a pattern which acts as a sort of shortcut to do tasks that are needed to be done more than once. There are two types of subroutine which is procedures and functions. A procedure produces an effect where as a function produces a value eg. a calculator. A parameter is a value that is transferred into a subroutine so a variable will then be known as something simpler. So that some code can then be referred to a shorter name.