CODEX is a platform for all enthusiastic tech minds. Being a Coding Club, we do almost anything and everything related to Coding. Codex is a common platform for all the technology geeks who share the same passion for Coding. We'll master the fundamental concepts of programming in this club.
We (referring to core members) from Codex ensure to provide the following to our peers (Members):
- Development of problem-solving skills
- Computational thinking
- Persistence
- Collaboration
- A deeper understanding of a range of mathematical concepts and language.
This Repository is to establish guidelines, to enhance the appropriateness of practice. We state functions of the Competitive Programming domain, Defining the straightforward procedure to the core- the team that how it should perform and defining to participants how it will complete.
Core Team members should use the Repository for proper practice for the CP - Contests.
Participants can refer to this repository to know the Behind-The-Scenes of a Contest.
Competitive Programming teaches you how to think. If you are a programmer, you might have understood the deep meaning of these lines quoted by Steve Jobs, and you might have also experienced that even after shutting down your computer, you keep thinking about programming stuff or code you have written in your project. Once you enter programming, you don't learn how to code, but you also know the "art of thinking" by breaking your code into smaller chunks and then using your logic-based creativity to solve a problem from different angles. Competitive Programming is fun. Competitive Programming is an exercise for your brain. Competitive Programming is a mental sport, and when this sport is held on the internet involving sports programmers as a contestant, then it is called Competitive Programming.
The competitive Programming Domain in Codex functions to conduct Competitive programming tests like contests and hackathons. They also function to increase the knowledge of understanding programming languages, frameworks, and architecture that enables a coder to create any digital product. Through the domain, the club ensures the growth in participants' talent via training them in:
- Identifying and defining the problem.
- Come up with possible solutions.
- Evaluate the options.
- Choose the best solution.
- Implement the solution.
- Evaluate the outcome.
In learning, you will teach, and in teaching, you will learn
There are two functions of CODEX to ensure Competitive Programming. They are:
- Coding Contest
- Coding Against Time (CAT)
- Coding Contest
- Hackathons
Coding Contest is a competition held frequently (at least once a month). These are again two types:
- Monthly Coding Contest(MCT)
- Coding Against Hackathon
A monthly Coding contest is a general Contest held on a small scale and once a month at least. MCT is referred to as "Small-Hackathon."
Format
- The Contest is conducted on a special theme.
- It is a small contest for the Intermediate level participants in Online Format.
- Contest is conducted for 2 hours maximum with a maximum of 6 Challenges.
- Small amount of prize money is declared and distributed.
- Well-defined level of difficulty is mentioned.
Coding Against Time is a medium-scale contest with limited Time but unlimited Challenges depending on the solving rate of the last updated problem. Format
- The participants are provided with many programming puzzles and expected to solve them within the specified Time.
- The event is conducted solely to introduce rookies to competitive Coding and develop their logic-building skills.
- Most of the stakeholders were impressed by the quality of the contests.
- The CAT is hosted once in two or three months with themes embedded into them.
Hackathon is a large-scale contest with limited Time and Challenges, accepting all divisions of participants (Rookies, Intermediate, Advanced) to test their coding proficiency, accuracy, and Challengesolving ability. Format
- The participants are provided Challenges with Easy, Medium, and Hard levels of difficulty.
- The event is for a maximum of 6 hours with significant prize money.
- The Hackathon is hosted once in six months with themes embedded into them.
- The regular Coding contests are conducted online for a maximum of two or three hours.
- Because of the time frame and the venue, we had to limit ourselves to easier coding Challenges and could not implement many exciting features.
- In contrast, Hackathons will be conducted offline and in longer time slots.
- We can use the extended time slot to the fullest potential by increasing the number of Challenges with different programming concepts to satisfy the participant's pallet.
| Contest | Maximum Group size |
|---|---|
| Coding Contest | 2 |
| Hackathon | 3 |
- Participants can participate in a group. Members.
- Participants can discuss among their team.
- Participants can't discuss or share code with other team members.
- It is going to be an open book contest.
- Hence all the participants can use any online or offline material for reference.
- If similar code submissions are found between two teams, both teams are disqualified.
- Contest is going to be a Time limited. Pattern:
| Contest | Maximum Time limit | Maximum Number of Challenges | Difficulty order of Challengess | Sections of Time |
|---|---|---|---|---|
| MCT | 2 hrs | 6 | Easy, Medium, Hard | 3 |
| CAT | 3 hrs | Easy, Medium | -(Continuously updating new Challengess till the Contest ends) | |
| Hackathon | 6 hrs | 15 | Easy, Medium, Hard | 4 |
- Section of Time set of Challengess to make available for a particular time. After Every section of Time, a set of Challenges are updated in the Contest.
- Codex will host the hackathon on the HackerRank platform.
- Refer to our previous Contest for an example.
- There are four phases in creating a Challenge:
- Conceptual Stage
- Optimizing Stage
- Generating IO Files
- Verifying IO Files
- Conceptual Stage
- In this Stage, the CP (Competitive programming) team will search for different concepts and Challenges which could help create a good problem.
- Optimizing Stage
- In this Stage, the CP team should come up with the most optimal solution for the conceptual problem.
- Soft testing is done on the optimal, checking for memory and time complexities of it.
- After the Time & memory complexities have been set, CP-Team should calculate the constraints accordingly.
- Generating IO Files
- According to the needs of the problem, The CP-Team should frame the input format and output format.
- With the constraints calculated in the previous Stage, we should generate the IO (Input & Output) files according to the formats.
- The CP-Team should generate the input files for all ranges of the constraints.
- The CP-Team should generate the output file from the optimal solution code generated in the optimizing Stage.
- Verifying IO Files
- In this Stage, CP-Team should verify all the IO files.
- The CP team should code an algorithm that would check if the IO files followed the specified Format.
- They should also check if Input files follow the given constraints.
- If any input file is not following any of the mentioned points above, then both CP-Team must avert the individual IO files.
- If an input file follows all the rules mentioned above, then CP-Team should test its output file against different solutions with different algorithms.
- Team must upload IO files strictly after all the above checks are performed and asserted true.
