Mentors

  • Harsha Narayana P
  • Praveen Kumar P

Members

  • Tanvi Poddar
  • Meher shireen
  • Madhav Dhingra
  • Khushi Choudhary

Aim

CF Analytics is an online project designed to offer Codeforces users a platform for monitoring their performance, visualizing their progress, and comparing their achievements with other users. Its primary aim is to inspire users to maintain consistency, solve more problems, and derive motivation from the process.

Introduction

Codeforces is a popular competitive programming platform that attracts a large number of users from around the world. CF Analytics is a web-based project dedicated to enhancing the Codeforces experience for users. It offers a comprehensive platform that allows users to monitor their performance, visualize progress, and compare achievements with peers. By providing valuable insights and fostering healthy competition, CF Analytics aims to inspire users to maintain consistency, solve more problems, and derive motivation from their programming journey.

With CF Analytics, users gain the ability to track their progress over time and identify strengths and weaknesses through advanced data visualization techniques. The platform encourages friendly competition by enabling users to benchmark their achievements against others, promoting continuous improvement and growth.

Implementation

The user enters his codeforces handle name. Using the handle name, his/her codeforces rating and other statistics are displayed using chart.js javascript library. The user info is fetched through codeforces API.

The features of the website are: Display the username Plot verdicts, languages used, tags, levels and problem ratings of the user. Tabulate the statistics of the user like number of questions solved, number of questions tried, number of contests in which the user participated, best rank, worst rank etc. Display the heatmap of the user.

In addition to the above features, we display the statistics of the problems solved in the form of stars.

Total points = ∑((Number of questions solved of a particular level in a particular div)*(Point value for that level of question in that div)) For example A user solves

  • 5 questions of level A in div 3
  • 4 questions of level B in div 3
  • 3 questions of level C in div 3
  • 3 questions of level A in div 2
  • 2 questions of level B in div 2
  • 1 question of level A in div 1 Total points = (510)+(420)+(330)+(320)+(240)+(130) = 390 Distribution of points per each category of problem

The following logic is used to decide the number of stars for a user.

cut off points for number of stars

Below are images of the statistics displayed in the home page

Verdicts and Languages of the user

Tags of user

Problem ratings of user Levels of user

Future Work

We aim to complete the compare section and apply machine learning techniques to find the optimal practice strategy for a codeforces user.

Conclusion

In conclusion, CF_Analytics is a powerful web-based project that utilizes the Codeforces API to enable users to track their performance, visualize progress, and compare achievements. By entering their Codeforces handle, users gain valuable insights like ratings, verdicts, languages, tags, levels, and problem ratings. The user-friendly interface, powered by chart.js, presents information effectively. Tabulated statistics include questions solved, attempts, contest participation, and best/worst ranks. The heatmap provides an intuitive overview of activity. Unique features include assigning points based on problem difficulty and awarding stars using predetermined cutoffs. CF_Analytics is a valuable tool for Codeforces users to gain insights, improve, and make data-driven decisions in their competitive programming journey.

References

  1. Chart.js, Link
  2. HTML, Link
  3. CSS, Link
  4. JS, Link