Finite State Machine
Implementing code using a state machines is an extremely handy design technique for solving complex engineering problems, like communication protocol system. State machines break down the design into a series of steps, or what are called states in state-machine lingo. Each state performs some narrowly defined tasks. Events, on the other hand, are the stimuli which cause the state machine to move, or transition, between states. Let's say we are designing a motor-control software. We want to start and stop the motor, as well as change the motor's speed. The motor control events to be exposed to the client software will be as follows:
1. Set Speed — sets the motor going at a specific speed.
2. Halt — stops the motor.
The Finite State Machine for this motor system should consist of three states.
The marking scheme for Questions 1-3 is as follows:
2 - for correct answer
1 - for partially correct answer
0 - for wrong answer
The marking scheme for Q4 is as follows:
i). 5 for correct answer with evidence of effort;
ii). 4 for correct answer (with not much evidence of effort) or evidence of effort (but answer not quite correct)
iii). 3 for falling short of (ii) by a fair bit
iv). 2 for falling short of (ii) by a distance
v). 1 for falling short of (ii) by a big distance
vi) zero for no evidence of (ii) or the answers simply copied from the Internet or others or some known sources.