Professors: YOU
Other minor professors: Rhys Price Jones and Gabriel Parmer
{rhyspj,gparmer} at gwu
Class Schedule: Friday 2:30-4:30, Tomp 211
Prepare students for the ACM Programming Competition and other similar events. Increase understanding of how algorithms can be applied to solve problems; improve implementation skills and team dynamics under competition constraints.
News:Please click on any section below to see its contents.
Objectives - This class' success will be directly proportional to the effort put into it by the students of the class. You are the professor for this one. The saying goes:
when you are explained the information, you learn it;
when you apply the information, you understand it;
when you teach it, you master it.
This class will not only prepare you for the ACM ICPC, but will give you a taste of that mastery.
Structure - The work for this class will be broken into two components:
Homework is due by 11:59pm on Thursdays, unless otherwise indicated. Submit via blackboard.
Official ACM ICPC
Website:
http://cm.baylor.edu/welcome.icpc
Official ACM ICPC Website for the Mid-Atlantic
region:
http://www.radford.edu/acm/midatl/index.html
Art of Programming
Contest:
http://www.seas.gwu.edu/~rhyspj/fall07cs197/ArtOfProgrammingContestBook.pdf
Some old problems:
http://www.seas.gwu.edu/~gogo/acm/ProblemSets/index.html
Programming Challenges: http://www.cs.sunysb.edu/~skiena/392/programs/
Programming competition resources
http://community.topcoder.com/tc (especially see "Tutorials")
http://code.google.com/codejam
http://www.codechef.com/
Previous ICPC class:
http://www.seas.gwu.edu/~rhyspj/fall07cs197/cs197.html
Problem sets:
http://www.ntnu.edu.tw/acm/ProblemSetArchive.html
http://livearchive.onlinejudge.org/
Events are in bold. Note that this schedule is subject to change.
Date | Who | Topic |
9/2 | Parmer and Price Jones | Introduction and class structure |
9/9 | Andrew Hirsch | programming contest environment (file/input I/O, http://www.seas.gwu.edu/~gogo/acm/cheats.html, competition HOWTO/techniques), binary search discussion (actual implementation, variable overflow, edge cases), complexity (big Oh), greedy algorithms |
9/16 | Nate Scott (setup environment) | Mock Competition |
9/23 | ??? | backtracking algorithms |
9/30 | ??? | graph basics, DFS/BFS, Dijkstra, Floyd-Warshall, Mazes |
10/7 | ??? | Mock Competition |
10/14 | ??? | geometry |
10/21 | ??? | dynamic programming |
10/28 | ??? | Mock Competition |
11/4 | ??? | ??? |
11/5 | Competition!!! | |
,.. | Nationals!!! | |
,.. | World domination!!! |
Homeworks: 33%
Attendance and Participation: 33%
Teaching: 34%
Just as you can do a google search for code online, it is trivial for us to do the same. We have caught numerous people cheating in the past in this way. If you feel pressured about an assignment, please come see me instead of cheating.
This course is about collaboration! You should talk actively about the homeworks, but do not share code with each other unless explicitly allowed to. This policy will be strictly enforced. If you're having significant trouble with an assignment, please contact me.
Academic Integrity Policy