مسابقات برنامه‌نویسی ICPC از سال 1977 به وسیله انجمن ACM و با هدف ارتقای توانایی برنامه‌نویسی گروهی در بین دانشجویان بنا نهاده شد. این مسابقه هر سال به صورت منطقه ای در نقاط مختلف جهان برگزار می‌شود و برگزیدگان مسابقات منطقه‌ای جواز حضور در رقابت‌های بین‌المللی را دریافت می‌کنند. معمولاً از این مسابقه به عنوان المپیک برنامه‌نویسی یاد می‌شود.