Himanshu Mishra,
Usha Shukla,
- Student, Department of Computer Sciences and Engineering, Indian Institute of Information Technology, Design and Manufacturing, Jabalpur, Madhya Pradesh, India
- Assistant Professor, Amity School of Applied Sciences (ASAS), Amity University Lucknow, Uttar Pradesh, India
Abstract
Competitive programming has become a vital skill set for both computer science students and professionals, fostering problem-solving abilities, algorithmic thinking, and time management in a highly competitive environment. This paper provides a comprehensive overview of competitive programming, beginning with its core principles and progressing through advanced strategies used by participants to solve complex problems efficiently. In addition to explaining fundamental concepts, the paper explores key algorithms and data structures frequently employed in competitive programming, emphasizing their role in optimizing both time and memory usage. Memory efficiency is discussed in detail, highlighting how careful management of resources can be the difference between success and failure in a contest setting. The paper also offers an introduction to competitive programming platforms, discussing features such as rating systems, and rating graphs, and how these metrics are used to track progress and skill development. Finally, the paper underscores the growing importance of competitive programming in today’s tech-driven world, where the skills gained from participating in these competitions are increasingly sought after in both academic and professional settings. By the end, readers will have a thorough understanding of the competitive programming landscape, its challenges, and its value in modern computer science education and career development.
Keywords: Competitive programming, algorithm efficiency, memory efficiency, rating of participant, time complexity
[This article belongs to Recent Trends in Parallel Computing (rtpc)]
Himanshu Mishra, Usha Shukla. Competitive Programming and Its Importance in the Present World. Recent Trends in Parallel Computing. 2024; 11(03):39-50.
Himanshu Mishra, Usha Shukla. Competitive Programming and Its Importance in the Present World. Recent Trends in Parallel Computing. 2024; 11(03):39-50. Available from: https://journals.stmjournals.com/rtpc/article=2024/view=177436
References
- Thakur D, Nayyar A. Scilab Textbook Companion for Programming in ANSI C by E. Balagurusamy. 4th ed. New Delhi: Tata McGraw-Hill Education; 2008. Available from: http://scilab.in.
- GeeksforGeeks (2024). Dynamic Programming or DP. [online] GeeksforGeeks. Available from: https://www.geeksforgeeks.org/dynamic-programming/
- Majd A, Vahidi-Asl M, Khalilian A, Baraani-Dastjerdi A, Zamani B. Code 4Bench: A multidimensional benchmark of Codeforces data for different program analysis techniques. Comput Lang. 2019;53:38–52.
- Cormen TH, Leiserson CE, Rivest RL, Stein C. Introduction to algorithms. MIT Press: Cambridge, USA; 2022.
- Skiena SS, Revilla MA. Programming challenges: The programming contest training manual. ACM SIGACT News. 2003;34:68–74. DOI: 10.1145/945526.945539.
- Verhoeff T. The role of competitions in education. Future World: Educating for the 21st Century. pp. 1–10; 1997.
- Laaksonen A. Guide to Competitive Programming. Springer: Cham, Germany; 2020.
- Di Mascio T, Laura L, Temperini M. A framework for personalized competitive programming training. 2018 17th International Conference on Information Technology Based Higher Education and Training (ITHET), Olhao, Portugal. 2018. pp. 1–8. DOI: 10.1109/ITHET.2018.8424620.
- Halim S. Competitive Programming 4: The New Lower Bound of Programming Contests in the 2020s. Olympiads in Informatics. 2020;177–80. DOI: 10.15388/ioi.2020.14.
- Blum JJ. Competitive programming participation rates: An examination of trends in U.S. ICPC regional contests. Discov Educ. 2023;2:11. DOI: 10.1007/s44217-023-00034-1. PubMed: 36968518.
- Wikipedia contributors. Codeforces. Wikimedia Foundation. Available from: https://en.wikipedia.
org/wiki/Codeforces. - Vadiyala VR, Baddam PR. Exploring the symbiosis: Dynamic programming and its relationship with data structures. Asian J Appl Sci Eng. 2018;7:101–12. DOI: 10.18034/ajase.v7i1.81.
Recent Trends in Parallel Computing
Volume | 11 |
Issue | 03 |
Received | 13/09/2024 |
Accepted | 30/09/2024 |
Published | 08/10/2024 |