Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Coderecs

Software Engineering Project


Team MemberSID
Abhinav Rawal20103008
Uttam Mittal20103056
Harasees Singh20103074
Harshpreet Singh Johar20103076

SRS

Click here to view Software Requirement Specification

The problem we aim to solve

Competitive Programming is a mind sport that gained popularity around 10 years ago. It involves tricky mathematical puzzles that require the amalgamation of algorithms, number theory and general logic to solve. It has a huge community which grows every year with college freshers entering the realm of coding from around the world. The most important factor that decides the leaderboard in programming contests is the ability to think out of the box. This is built over time with persistent practice.

However, all beginners face a common problem: Which questions to practice and in which order ?


The solution we aim to build

Our solution will work by recommending problems to our users based on their codeforces profile. The solution will consist of two parts: a web application and a Deep Learning Model responsible for the problem recommendation engine. The solution will be deeply integrated with the codeforces profile of the user. Since codeforces is the most reputed site for competitive programming, our solution will recommend problems directly from the codeforces problemset based on the type of problems the user has solved in the past and the type of problems similarly rated programmers have solved. ‘Rating’, provided by codeforces, is a measure of the proficiency of a programmer in competitive programming and is generally an accurate measure for the same. Fetching the user data, which must be fed into the deep learning model, will be readily available using the various APIs provided by codeforces.com.


Walkthrough

Once the user signs up on our website, we will be extracting his/her details from codeforces and feeding it to the problem recommendation engine hosted on a remote server. Once the recommendations are ready they will be communicated to our frontend and displayed on the user’s dashboard. We plan to provide 10 problem recommendations to our users and update them every 24 hours.


Why will our solution work ?

We plan on tweaking our deep learning model in a way such that it follows the most widely used technique of practicing called Upsolving. In general beginners aren’t able to decide on the difficulty level they should solve to maximize their learning rate. Our solution tackles this problem by providing the users with problems of various difficulties and from various topics filtered according to their specific profile. This shall not only improve the learning rate of our users but also help avoid unnecessary intimidation caused by tackling problems too tough for the present level of a programmer. Thus our website will be a one-stop solution for all competitive programmers who are aiming to improve but don’t know what problems to solve.


Coderecs system design

Our system ensures simplicity at all levels of the design. With our interaction system users can get access to their contest and practice analytics along with multiple recommendations based on their performance. The interaction system is coupled with two dedicated sub-systems viz the recommender and the analytics generator.


Pinned Loading

  1. websitewebsitePublic

    Coderecs is a competitive programming platform, which recommend the users to solve the next cp questions, based on their previous performance, in the contests.

    TypeScript 4 1

  2. tensorflow-modeltensorflow-modelPublic

    Python

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…