This document discusses techniques for estimating the cost of software projects. It explains that software cost estimation aims to predict the effort, time and total cost required. The key components of software costs are outlined as labor costs, hardware/software costs, and overhead costs. The document then examines various techniques for measuring programmer productivity and estimating project size, including lines of code, function points, and object points. Finally, it analyzes different estimation techniques like algorithmic modeling, expert judgment, analogy, and top-down vs. bottom-up approaches.