This document provides an outline for a course on algorithms and analysis of algorithms. It discusses greedy algorithms as one topic that will be covered in the course. Greedy algorithms make locally optimal choices at each step in the hope of finding a globally optimal solution. The document provides examples of problems that can be solved using greedy algorithms, such as coin changing, fractional knapsack, and minimum spanning trees. Common greedy algorithms like Kruskal's algorithm and Prim's algorithm are described for finding minimum spanning trees in graphs.