Syllabus: Programming. Part 2. Data structures and algorithms