CSCI 3194 - Competitive Programming


Meeting Time and Place - 3:55-5:10pm W, HAS 228

Instructor - Dr. Mark C. Lewis (x7022, mlewis@trinity.edu, I also set up a Google+ circle)

Description - This class serves two main purposes: it is the official meeting time of the ACM programming teams and it will cover material that can help any student become a better coder. The real goal of the course is to teach students how to approach problems, break them down, and quickly code up correct solutions. A fair bit of attention will also be given to the order of various solution methods and how to optimize solutions so that larger inputs become tractable.

Book - Competitive Programming 2

Workload - Fitting with the one hour of credit that this class gives, the work load will be fairly light. We will meet in class for one hour each week and discuss different problems and their solutions. ACM teams will also use this time to practice as teams to improve team dynamics. Outside of class, students will spend time working on different small programming problems. There are several venues you can choose from for you coding projects. You can use the ACM-ICPC Live Archive or TopCoder online competitions. Students will be required to complete problems from several competitions.

Grading - The grade for this class will be based on attendance, participation in TopCoder competitions, and solution of ACM problems and other problems. For full credit in the class you must compete in three of the TopCoder matches, present your solution to three different problems from different sources, and attend 12 classes. Each match or presented problem you are short will take ten points from your grade and each day you are short will take five points.

You should try to do TopCoder matches earlier in the semester rather than later. They have about one each week, but they are sometimes at odd times of day or they might conflict with your other classes. In order for me to consider you to have competed in a match, you must submit at least one piece of code that is a good faith effort to solve one of the three problems. I will be using the functionality on TopCoder where people can see different submissions to check what was submitted for each match.