theoretical computer science concepts part 3 801667