About

The Calgary Collegiate Programming Contest (CCPC) provides post-secondary students in Calgary with the opportunity to excel in an ACM ICPC-style programming competition. Students test their aptitude and knowledge against a set of programming puzzles requiring problem-solving, programming, math, and teamwork skills. Teams are ranked according to the number of problems solved within five hours. The CCPC is sponsored by Black Duck and provides a platform for the next generation of computing professionals to pursue excellence. Kattis has graciously sponsored the judging platform.

Prizes
Division 1
First Place $900
Second Place $600
Third Place $450
Fourth Place $300
Fifth Place $150
Division 2
First Place $300
Second Place $150
Third Place $100
Fourth Place $50
General Information Registration:

  • Register on Eventbrite (closes on Thursday, March 6, 2025 at 11:59 PM)

In order to be eligible for prizes, contestants must be:
  • Must be register in Eventbrite
  • Enrolled in a high school in Calgary, Alberta or enrolled in a post-secondary institution in Calgary, Alberta
  • Students from University of British Columbia and University of Alberta are eligible for prizes
  • In teams of 1 to 3 members
  • Participating in the same division as everyone else on their team
  • (Extra requirement for Division 2) Students who have not won any cash prizes in previous ACPC or CCPC contests
When:
  • Saturday, March 8th, 2025 from 10:00am - 6:00pm
Where:
  • Science Theaters 147
Contact us if you have any questions or need to modify your registration
Contest Format Teams of up to three students enrolled in an Albertan educational institution, meeting the criteria linked to in the "Eligibility" section above may compete for prizes. Teams not meeting these requirements may participate in the open division. The contest is free of charge for entry. The contest will be held in-person, using Kattis.

Don't have a group of people to participate in the event with but you're looking to meet some new people? No worries! We'll be working to team folks up after you sign up on this Google sheet form here

The contest itself is a collection of 6-10 problems to be solved using the language of your choice. Team rankings are decided first by number of problems solved, and second by time taken to solve. For each problem, your program will be given input describing a test case. It must then provide appropriate output giving the answer to whatever problem was posed. Once you have written a solution to the problem, you must submit the solution on Kattis. Your code will be subject to a large battery of tests. If your code returns correct output on every test case and runs within time and memory limits, the solution is accepted. Otherwise, it will be rejected. You will be told how your program failed, but will not be given details of the failed test case.

Official Rules:
  • Accepted programming languages are all languages accepted on Kattis
  • Input from standard in, output to standard out
  • No collaboration is allowed with anyone outside of your team members when working on/discussing the contest problems.
  • All teams will be provided with a single workstation in the contest area. Only that workstation may be used during the contest. Any team member can submit a solution to Kattis.
  • Resource access is restricted to standard library and language documentation, the contest website, and the I/O cheat-sheet (linked below)
  • Any standard system software may be used during the contest
  • External libraries are not allowed. For example, the C++ header #include is allowed since it is a part of the language's standard library. However, headers in an external C++ library such as Boost are not allowed.
  • Aside from the main two points above, any physically printed resources can also be used.
  • Use of electronic devices other than the computer is strictly prohibited
  • Teams are ranked according to which has solved the most problems, with ties broken by time taken to solve
Contest Day Schedule 10:00am - 10:30am
  • Contestant Check-in.
10:30am - 11:00am
  • Opening Contest presentation by Black Duck and the CPC. Going over general contest rules and procedures.
11:00am - 11:50am
  • Practice contest to help familiarize competitors with contest system
12:00pm - 5:00pm
  • Official contest start (12:00pm)
  • Scoreboard will be frozen for final hour (4:00pm) so winners are not known until the final presentation
5:00pm - 5:30pm
  • Solutions to Problem Set
5:30pm - 6:30pm
  • Presentation by Black Duck
  • Small Bag Prizes will be drawn
  • Presentation of problem statistics (number of attempts, successes, etc.)
  • Announcement of Div 1 & 2 winners and presentation of prizes
  • Black Duck SWAG prize draw
  • Question Period
Preparation & Strategies Preparation:
  • The Competitive Programming Club meets every Tuesday from 6:00-8:00 pm at MS160 for coaching and practice. Join our discord for more info.
    • University of Calgary students can join us through D2L by going to: D2L > My Tools > Self-registration > Competitive Programming
  • Kattis, Codeforces and UVa Online Judge contain many programming puzzles for self-directed practice
Strategies:
  • Read the problems, identify the easiest ones, and solve them first
  • If you're having trouble identifying easy problems, look at the scoreboard to see what others are solving
  • Computer time is very valuable, so sketch out your program on paper before coding it (unless it's trivially simple)
  • Working together on a problem is usually a bad idea and just leads to confusion; assign problems, work in parallel
  • Debugging a program on paper is more effective than sticking print statements everywhere, 99% of the time
  • Come up with your own test cases for your program, especially edge cases
  • Have fun!
Contest Pages & Resources Contest pages: Language reference links (that can be used during the contest): Aside from the language documentation, any physically printed resources can also be used.
About Black Duck

Black DuckĀ® offers the most comprehensive, powerful, and trusted portfolio of application security solutions in the industry. We have an unmatched track record of helping organizations around the world secure their software quickly, integrate security efficiently in their development environments, and safely innovate with new technologies. As the recognized leaders, experts, and innovators in software security, Black Duck has everything you need to build trust in your software. Learn more at https://www.blackduck.com/.

Links

Black Duck Website | X | Facebook | Linkedin | YouTube

CPC Website | Facebook | Twitter | Mailing list