Pseudocode and Algorithm Design