Logical Problem Solving In Computer Programming