Notes on Big O notation: definition of Big O, approximation in determining runtimes, and individual runtimes: constant, logarithmic, linear, quasilinear, quadratic, exponential, factorial, etc.

Notes on string manipulation algorithms: vowel counting, string reversal, sentence reversal, rotation checking, duplicate removal, capitalization of initials, anagram checking, palindrome checking, etc.

Notes on search algorithms: linear search, binary search, ternary search, jump search, exponential search, etc.

Notes on sorting algorithms: definition and implementation of bubble sort, selection sort, insertion sort, merge sort, quick sort, counting sort, bucket sort, etc.