The document discusses various problem solving techniques including trial and error, brainstorming, and divide and conquer. It explains the steps in problem solving as understanding the problem, devising a plan, carrying out the plan, and looking back. It also covers algorithms, pseudocode, flowcharts, and complexity analysis. Key problem solving techniques are trial and error, which uses multiple attempts to find a solution, and brainstorming, where a group generates many ideas without criticism. Divide and conquer breaks a problem into subproblems, solves them recursively, and combines the solutions.