Public material for «CS361. Design patterns» course