About Us

Why ACM?

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!


ACM 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 ACM problems. What is more, the solution needs further optimization in order to be efficient enough to pass the time and space limit in ACM. That is to say, ACM 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, ACM trains you to be a strong programmer, not only to finish coding your solutions but to code fast and code beautifully.


Collaborate with your team

In ACM contests, people usually form as teams of three to compete, sharing only one computer. Teamwork is more than important in ACM. 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.


Precious Experience

Attending ACM 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!


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 ACM 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 ACM challenges. Therefore, people who received ACM training would easily ace those interviews and thus get a higher chance to get into those big companies.


About Us


We are a team of machine-powered problem-solving Cornellians!

Cornell ACM, best ACM(in greater New York lol)!
We the Cornell ACM Programming Project Team have made to the World Finals four years in a row! This means beating a lot of strong competitors in Greater New York Regionals including Princeton, Columbia, Yale etc. This is also one of the best performances in Cornell history, time to break the record this year!

Let's Solve the Problems Together

Also get to know some of the smartest brains at Cornell!

Join Us