video-thumb

Cornellians who Conquer Challenges with Code.

If you like solving problems, join Cornell ICPC Programming! This is your chance to learn more about programming, data structures and algorithm design with hands-on contests while meeting some of the best problem solvers at Cornell. Come and have fun with us!

Go beyond pen-and-paper, solve problems with bits-and-bytes.

Why ICPC?

We Cornellians Conquer Challenges

We conquer challenging problems of different topics that can be roughly divided into three categories:

Implementation. Implementation-focused ones such as backtracking problems require good code and carefulness to excel. Understanding tradeoffs between your resources (time, space, etc.) are also crucial.

Combinatorics (dynamic programming, enumerative combinatorics, graph theory, greedy algorithms). Those usually require delicate-designed data structures and algorithms to get accepted. Think before you code!

Geometry and Number Theory (vector operations, convex hull, primes, modular arithmetic). This category demonstrates beautiful mathematical applications in the contest. You don’t have to excel in coding to compete!

tab-image

ICPC Develops Your Core CS Skills

Algorithm is always an important topic in CS. It is designed to solve problems. The ability to come up with proper algorithms is developed in the process of solving various ICPC problems. What is more, the solution needs further optimization in order to be efficient enough to pass the time and space limit in ICPC. That is to say, ICPC training definitely helps to improve your ability to solve problems.

Simply coming up with a solution is not enough, even if it is the best possible one with the least needed resources. You need to actually implement the algorithm. There always seems to be a gap between thoughts and your code, and that is where all those bugs come from. You have to spot all your bugs and fix them in the contest and trust me that is not easy. Therefore, ICPC trains you to be a strong programmer, not only to finish coding your solutions but to code fast and code beautifully.

tab-image

Collaborate with your team

In ICPC contests, people usually form as teams of three to compete, sharing only one computer. Teamwork is more than important in ICPC. Even if you do not know how to code, you can still help your team by explaining your solution to a good programmer. Ideally, each team would have at least one person who likes each of the three topics. Since there is only one computer, communication and cooperation are the keys to succeed in the contest.

tab-image

Precious Experience

Attending ICPC contest would give you great experience. We are not only a project team aiming to win the contest, but also a great community where you can meet some of the smartest brains at Cornell, who are willing to share their thoughts. We usually meet weekly as a club to train for the contest. Beyond that, we are also a big supportive family. We have parties and social events for our members to have fun and know each other more off the contest. Every year we travel to different places in New York state to compete. The team going to final also get a free global trip!

tab-image

Work Opportunities

Although we do not want you to come to us merely because of the job opportunities, we have to be honest with you that Companies love ICPC contestants. They like the contestants for their problem-solving abilities, CS skills, and teamwork. In many cases, the questions in the technical interview that bothers everyone would seem to be reasonably easy compared to ICPC challenges. Therefore, people who received ICPC training would easily ace those interviews and thus get a higher chance to get into those big companies.

tab-image

Join Us

Welcome to Cornell ICPC! Our newsletter channel

Thank you. The Mailman is on His Way :)
Sorry, don't know what happened. Try later :(