Knowledge for Solving Computer Problems