Skip to content
Open
15 changes: 15 additions & 0 deletions Codex_intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# ****CODEX****
## **Introduction**

**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.
***
!["Codex"](https://codex-gitam.vercel.app/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fcodex.476dd338.png&w=256&q=75)
***
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.
26 changes: 26 additions & 0 deletions Conceptual_stage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 1. Conceptual Stage
+ In this Stage, the CP (Competitive programming) team will search for different concepts and Challenges which could help create a good problem.
+ Each and Every question needs to be logical and clearly explained.
+ Each and Every Question should be embedded with the theme of the question.

On the Problem Statement tab, specify the following:
### **A. Problem Name**

The problem name should be short and should not give any hints to solve the problem.
### **B. Tags**

(Optional) Select the Tags from the drop-down list or add your own custom tag.
Tags are words or phrases that help with the searchability and organization of your questions. You can add the existing tags or create new tags. Set the difficulty level for your question by associating the tags as Easy, Medium, or Hard. Alternatively, associate custom tags to identify your question by its complexity or its levels.
When you view your questions in the Library, the associated tags will be indicated for every question. You can use these tags to generate candidate reports and performance graphs.
Refer to Associating the Tags for Questions for more information.
### **C. Problem Description**

A good problem statement should comprise a clear and detailed problem description, at least one sample test case with an explanation, and constraints of the problem.
Click on the Templates option to use the predefined HackerRank's Coding Question template to define your problem clearly.
Refer to the Defining the Problem Statement: Coding and Database Engineer Questions topic for more information.

### **D. Questionnaire Guidelines**

Questionnaire guidelines are for later reference. You can include a rubric about scoring the questions or write solutions to the problems in this section. These can be used by your team while evaluating the test. This step is optional.


5 changes: 5 additions & 0 deletions CreateIO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
3. 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.
8 changes: 8 additions & 0 deletions Hackathons.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Hackathons:
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.
---
6 changes: 6 additions & 0 deletions Optimizing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 2. Optimizing Stage
- In this Stage, the CP team should come up with the most optimal solution for the conceptual problem.

- An optimal solution is a feasible solution where the objective function reaches its maximum (or minimum) value – for example, the most profit or the least cost. A globally optimal solution is one where there are no other feasible solutions with better objective function values.
- 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.
147 changes: 25 additions & 122 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,140 +1,43 @@
# ****CODEX****
## **Introduction**
**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.
***
!["Codex"](https://en.bitcoinwiki.org/upload/en/images/thumb/e/e8/Codex1.png/250px-Codex1.png)
***
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.

# About
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 (CP)

## 1. Definition:

*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.

## 2. CP in CODEX:

**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.

#### Basically, the domain works on a motto
> *In learning, you will teach, and in teaching, you will learn*

## 3. Functions of CP_DOMAIN in Codex:
# **Competetive Programming in Codex:**
**CODEX** is a platform for all enthusiastic tech minds. To know more about codex click [here](./Codex_intro.md). **The competitive Programming Domain** in **Codex** functions to conduct Competitive programming tests like contests and hackathons. This is also called as [CP_Domain](./cp_in_codex.md) in Codex.

There are two functions of **CODEX** to ensure **Competitive Programming**. They are:
- Coding Contest
- [Coding Contest](./coding_contest.md)
* Monthly Coding Contest (MCT)
* Coding Against Time (CAT)
* Coding Contest
- Hackathons

## 3.1. Coding Contest:
**Coding Contest** is a competition held frequently (at least once a month). These are again two types:
* Monthly Coding Contest(MCT)
* Coding Against Hackathon
## 3.1.1. Coding Contest (MCT):
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.
## 3.1.2. Coding Against Time (CAT):
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.

## 3.2. Hackathons:
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.
---

# Coding Contest v/s Hackathons
- [Hackathons](./Hackathons.md)
## **Coding Contest v/s Hackathons**

- 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.


# Procedures To Conduct Contest
## Participation slot:

|Contest |Maximum Group size |
|---|---|
|Coding Contest |2 |
|Hackathon |3 |

- 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.
## **Procedures To Conduct Contest**
- 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.
## For any Coding Contest/Hackathon:
- Contest is going to be a Time limited.
**Pattern:**
- **CP_Team** has to follow particular [pattern]() in order to conduct the contests.
## **Some Of Our Contests & Hackathons**
- [Codex CAT Spiderverse](https://www.hackerrank.com/codex-into-the-spider-verse)
- [Codex Hackathon Multiverse](https://www.hackerrank.com/codex-multiverse-hackathon)
- [Codex MCT Stranger Things](https://www.hackerrank.com/codex-coding-contest)

|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|$\infty$|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.
# Procedure To Create a Challenge
## **Procedure To Create a Challenge**
- There are four phases in creating a Challenge:
1. Conceptual Stage
2. Optimizing Stage
3. Generating IO Files
4. Verifying IO Files

1. [Conceptual Stage](./Conceptual_stage.md)
2. [Optimizing Stage](./Optimizing.md)
3. [Generating IO Files](./CreateIO.md)
4. [Verifying IO Files](./verifyIO.md)

![image](https://i.imgur.com/B4JhlWy.jpeg)
1. Conceptual Stage
+ In this Stage, the CP (Competitive programming) team will search for different concepts and Challenges which could help create a good problem.
2. 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.
3. 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.
4. 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.
![image](https://i.imgur.com/B4JhlWy.jpeg)

****
---
**THANK YOU**

FROM:
The Team **CODEX**
21 changes: 21 additions & 0 deletions coding_contest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Coding Contest:
**Coding Contest** is a competition held frequently (at least once a month). These are again two types:
* Monthly Coding Contest(MCT)
* Coding Against Hackathon
## Monthly Coding Contest (MCT):
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 (CAT):
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.
12 changes: 12 additions & 0 deletions cp_in_codex.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# CP in CODEX:

**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.

#### Basically, the domain works on a motto
> *In learning, you will teach, and in teaching, you will learn*
13 changes: 13 additions & 0 deletions pattern.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## For any Coding Contest/Hackathon:
- 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|$\infty$|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.
7 changes: 7 additions & 0 deletions verifyIO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
4. 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.