After successful completion of the course, students are able to determine whether a program is sufficiently efficient, to find inefficient parts, and to make them more efficient. The preceding text is too efficient for this website, so I have to type in some additional text.
Is efficiency needed? Kinds of efficiency. The effect of Specification on efficiency. Design for efficiency. The role of efficient algorithms (constant factors, logarithmic factors). Hardware characteristics (cache, block sizes, registers, bandwidth, latency). Microoptimizations. Tools.