How to Use BO Demos. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle.  http://sfsecurity.pr.erau.edu
Glossary
Execute – To execute the program means to “run” it.  The two terms can be used interchangeably.
Source code – this is the code that the programmer writes in a high-level language like Java, BASIC, or, in this case, C.  A high-level language is one that humans can easily read and understand.
Terminal – A terminal is a combination of a screen and a keyboard where the user of a program can type input into the program and receive output back.
Memory – Memory is where the computer stores the code text for a program, the variables, the stack, and everything else that the program needs.
Hexadecimal – The decimal system uses a base of 10, where 2863 has a 2 in the 1000’s place, an 8 in the 100’s place, a 6 in the 10’s place, and a 3 in the 1’s place.  Hexadecimal uses 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F instead of just 0 through 9, where A = 10, B = 11 … F = 15.  The base of hexadecimal is 16, so it has a 1’s place, a 16’s place, a 256’s place, a 4096’s place, etc.  0 through 255 can be represented in hexadecimal as 0x00 through 0xFF.  0x?? is a common convention for distinguishing hexadecimal numbers from decimal numbers.
Compiled – A compiler takes the source code a programmer has written and turns it into code text that a computer can easily execute.  Code text is a sequence of instructions.
Instruction – An instruction tells the computer what to do, but it is very low-level.  Unlike source code, it works at the computer level telling the computer what elementary steps to take to execute the program.
Program counter – The instructions are stored as a sequence of numbers in the computer just like anything else.  The computer usually executes one instruction after another unless it is told to jump somewhere else.  The program counter keeps track of what instruction in memory is being executed at any given time.
Jump – A jump occurs when the computer is told to start executing instructions somewhere else besides the next instruction after the current one being executed.
Canary – A canary is put in memory and if it is overwritten then something is wrong.  It is analogous to the canaries used in coal mines to detect poisonous gas.