CSCI 3190 - Algorithmic Problem Solving

Meeting Time and Place - 1:30-2:20pm M, HAS 228

Instructor - Dr. Mark C. Lewis (x7022,

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.

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. Most of these will be done through TopCoder online competitions. Students will be required to actively compete in several competitions over the course of the semester. Problems discussed in class will often be pulled from the most recent TopCoder competitions.

Grading - The grade for this class will be based on attendance and participation in TopCoder competitions. For full credit in the class you must compete in seven of the TopCoder matches and attend 12 classes. Going to the ACM competition counts as three TopCoder matches. Each match 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.