Using Tournament-Based Assignments To Motivate Students In Introductory Computer Science Courses