Syllabus: Theory of algorithms