Tag Principles of Programming Languages Syllabus