CS50
CS50x lecture on sorting and searching algorithms. Big-O notation, binary search, bubble sort, merge sort and how to reason about efficiency.
Watch it on YouTube.