UPES ACM and ACM-W Student Chapters
The 100 Days of Code Challenge is a structured, daily coding programme running from 15th June to 22nd September 2026. Every participant commits to solving two coding problems each day β one on LeetCode, one on the ACM platform β and submitting solutions to this GitHub repository.
The goal is straightforward: build consistency, sharpen problem-solving, and develop the discipline of writing clean code every single day.
| Event | Date | Time |
|---|---|---|
| GitHub Workshop | 13th June 2026 | 8:00 PM |
| Challenge Begins | 15th June 2026 | β |
| Challenge Ends | 22nd September 2026 | β |
| Weekly Debugging Sessions | Every Sunday | 9:00 PM β 10:00 PM |
| Milestone Contest β Day 21 | 5th July 2026 | β |
| Milestone Contest β Day 51 | 4th August 2026 | β |
| Milestone Contest β Day 99 | 21st September 2026 | β |
| Milestone Contest β Day 100 | 22nd September 2026 | β |
Two questions are released every day at 12:00 AM on the ACM Platform.
- Question 1 β A LeetCode problem. Must be solved on your registered LeetCode account and also pushed to this GitHub repository.
- Question 2 β A DSA/Technical problem. Must be submitted here on GitHub.
Both must be submitted within 24 hours of release. Previous day solutions and weekly handouts are shared to support learning.
Every Sunday from 9:00 PM to 10:00 PM, a themed debugging challenge is conducted. You will be given broken code and asked to identify and fix the errors. The corrected solution must be pushed to GitHub before the announced deadline.
Important: For Weekly Debugging Challenges, only C and Python are accepted. C++ and Java will not be evaluated for these sessions.
On Day 21, 51, 99, and 100, a contest is held on HackerRank consisting of three questions based on concepts from the preceding week. Daily questions still release on these days as usual. Milestone contests contribute to the overall leaderboard and serve as a checkpoint of your progress.
You must participate using a HackerRank account registered with your official UPES email address. Submissions from personal email accounts will not be counted.
| Context | Allowed Languages |
|---|---|
| Daily Coding Challenges | C, C++, Java, Python |
| Weekly Debugging Challenges | C, Python only |
| Milestone HackerRank Contests | As permitted by HackerRank |
You may switch languages freely across daily challenges. No language outside of C, C++, Java, and Python is permitted for daily submissions β files in any other language (.js, .go, .rs, etc.) will not be evaluated. For debugging sessions, only C and Python are accepted β no exceptions.
Every participant works inside a single personal folder. The folder lives inside a DSA directory at the root of the repository. The structure is as follows:
100DaysOfCode-2026/
βββ DSA/
βββ YourName_YourSAPID/
βββ Day_1/
β βββ Question1_LeetCode.cpp
β βββ Question2.cpp
βββ Day_2/
β βββ Question1_LeetCode.py
β βββ Question2.py
βββ ...
For Weekly Debugging Challenges, participants must not submit their files inside the DSA folder. Instead, they must use the following structure:
100DaysOfCode-2026/
βββ Sunday_Debug/
βββ Sunday_Debug_WeekNumber/
βββ Participant_Name_SAPID/
βββ Question
Example:
100DaysOfCode-2026/
βββ Sunday_Debug/
βββ Sunday_Debug_Week1/
βββ John_500123456/
βββ Question.c
Step 1 β Fork the repository
Fork the official repository at: https://github.com/upesacm/100DaysOfCode-2026
This creates your own copy of the repository under your GitHub account. All your work happens in this fork.
Step 2 β Add your files
Choose whichever method suits you.
Method A: Using Git (command line)
# Clone your fork to your local machine
git clone https://github.com/YOUR_USERNAME/100DaysOfCode-2026.git
# Navigate into it
cd 100DaysOfCode-2026
# Create your folder structure
mkdir -p "DSA/YourName_SAPID/Day_1"
# Add your solution files inside , then commit and push
git add .
git commit -m " Submission - YourName - SAPID"
git push origin mainMethod B: Using the GitHub website
- Open your fork on GitHub
- Click Add file β Create new file
- In the file path box, type:
DSA/YourName_SAPID/Day_1/Question1_LeetCode.cppβ GitHub will automatically create the intermediate folders - Paste your solution and click Commit changes
- Repeat for
Question2
Step 3 β Open a Pull Request
After committing your files, you must open a Pull Request. Committing alone does not submit your work for review β a Pull Request is mandatory.
See the Pull Request Guidelines section below for the exact steps and title format.
Your personal folder must follow the Name_SAPID format precisely. Deviations cause problems with automated tracking.
| Format | Status |
|---|---|
John_5900123XX |
Correct |
John |
Incorrect β SAP ID missing |
5900123XX |
Incorrect β name missing |
JohnDoe |
Incorrect β SAP ID missing |
Day folder names must also follow the standard exactly.
| Format | Status |
|---|---|
Day_1, Day_2, Day_10 |
Correct |
day1, DAY1, ``, Day1 |
Incorrect |
- Source code files only (
.c,.cpp,.java,.py, etc.) - One solution per question per day β do not upload multiple versions of the same file
- Both questions for a day must be inside that day's folder before you push
- PDF, DOCX, PNG, or any non-source-code format
- Binary files such as
.exe,.zip,.class,.o,.out - IDE configuration folders such as
.idea/,.vscode/,build/,node_modules/ - Files belonging to other participants
You must follow the Fork β Pull Request workflow. Direct pushes to the main repository are not permitted.
Pull Requests must be raised from the main branch of your fork. PRs opened from feature branches or any other branch will not be considered for evaluation.
Opening a Pull Request before the deadline and pushing additional commits to it afterward is acceptable β the submission will still be counted. Late pull requests (after the 24-hour window) will also be accepted, though points may be affected as per leaderboard policy.
Do not open multiple Pull Requests for the same day's submission. If you need to update a submission, push the changes to your existing PR.
- Go to your fork on GitHub
- Click Contribute β Open Pull Request
- Verify the settings:
- Base repository:
upesacm/100DaysOfCode-2026 - Base branch:
main - Head repository: your fork
- Compare branch:
main
- Base repository:
- Set the Pull Request title using the format below
- Click Create Pull Request
Every PR must follow this exact format:
Day X Submission - Name - SAPID
Examples:
Day 1 Submission - John - 500123456Day 10 Submission - Olivia - 500198765
PRs with missing or incorrectly formatted titles may not be linked to your account during evaluation.
Pushing files to your fork only saves them to your copy of the repository. Your submission is not received until you open a Pull Request. If you commit your solutions but forget to raise a PR, your work will not be evaluated.
Before opening a Pull Request, verify each of the following:
- Your folder is placed inside
DSA/ - Your folder is named in the
Name_SAPIDformat - Day folders are named
Day_1,Day_2, etc. (without a space) - Both
Question1_LeetCodeandQuestion2are present in the day folder - Solution files are source code β no ZIP, PDF, or binary files
- You have not modified any other participant's files
- No IDE or build folders (
.idea/,.vscode/,build/) are included - The PR is raised from the
mainbranch of your fork - The PR title follows the
Day X Submission - Name - SAPIDformat
Four leaderboards are maintained throughout the challenge:
- Weekly Leaderboard β based on daily challenge performance
- Weekly Debugging Challenge Leaderboard β based on Sunday debugging sessions
- Milestone Contest Leaderboard β based on HackerRank milestone contest scores
- Combined Overall Leaderboard β aggregate of all the above
If two participants finish with identical scores, the following criteria are applied in order:
- Code Readability and Optimisation β better-structured, more efficient code ranks higher
- Average Submission Time β faster average submissions break ties that remain after step 1
- Consistency Streak β a longer uninterrupted daily submission streak breaks ties that remain after step 2
- Plagiarism, code sharing, and unauthorised collaboration are strictly prohibited
- You must not modify, rename, or delete any folder other than your own
- Submissions made by copying another participant's solution will be disqualified
- All participants are expected to conduct themselves professionally throughout the event
- The organising committee's decisions on scoring, rankings, and disputes are final
| Platform | Requirement |
|---|---|
| GitHub | Mandatory β same account used throughout |
| LeetCode | Mandatory β same account used throughout |
| HackerRank | Mandatory for Milestone Contests β must be registered with UPES email |
The following mistakes have come up repeatedly and affect scoring or automation. Please read these carefully.
Repository structure issues
- Your folder must be inside
DSA/β placing it at the root level is incorrect - Create only one personal folder β duplicate folders split your points
- Do not add sub-folders inside a day's folder β place solution files directly inside
Day_1/,Day_2/, etc.
Submission issues
- Both questions must be present β a day with only one question submitted is marked incomplete
- An empty folder (folder exists but contains no file) does not count as a submission
- Do not upload multiple copies of the same solution with names like
solution_v2.cpporfinal_final.py
Pull Request issues
- Opening a PR and forgetting to raise it is the most common oversight β committing to your fork does not create a PR automatically
- Do not open multiple PRs for the same day β if you need to add or fix something, push to the existing PR
- Ensure the PR title follows the required format; untitled or misformatted PRs may not be attributed to your account
Merge conflicts
- If your PR shows merge conflict markers (
<<<<<<<,=======,>>>>>>>), resolve them before pushing. Files with unresolved markers cannot be evaluated.
For any queries regarding the challenge, reach out to the UPES ACM or ACM-W Student Chapter through the official communication channels announced during the GitHub Workshop.
UPES ACM and ACM-W Student Chapters β 100 Days of Code 2026