Skip to content

Betal-Code is a web application which aims at recommending new and interesting coding problems to it's user(Vikram) and the process continues.... ;p

Notifications You must be signed in to change notification settings

pcon-jsr/Betal-Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

Betal-Code

Betal-Code is a web application which aims at recommending new and interesting coding problems to it's user(Vikram) and the process continues.... ;p

Switching to the next problem after submitting a code is not a big task but doing that to an adequate problem is difficult. To know about a problem's tags, difficulty and other user's review, and then select it to solve is a tough task, hence we solve questions randomly. How about letting a machine do this job for us!!

The task is to create a Betal which never stops recommending adequate problems to it's Vikram and each time the problems get better. Multiple types of recommendation engines will operate in Betal-Code and Vikram can choose which type of recommedation to take.

Systems available to use for recommendation

  • Collaborative Recommender System
  • Content based Recommender System
  • Hybrid Recommender System
  • Knowledge based Recommender System

Machine Learning Techniques available to Build Recommendation Engine

  • k-nearest neighbours approach
  • Association Rules appraoch
  • Matrix Factorisation approach
  • Deep NeuralNetworks approach

Any other techniques or systems are welcome as feature requests in Issues

Prerequisites

  • Machine Learning(Knowledge of Recommender System is enough)
  • Web-App Development(Django is preferred)

Prior Knowledge of above prerequisites is not mandatory and can be learnt while development. Mentors can also help you out

To make this project possible we will use Codeforces Api

Steps for Betal-Code development

  1. Data Collection and Cleaning
  2. Fitting a Recommendation Engine
  3. Deploying on Web-App

Candidates can choose which steps they want to work on

  1. Data Colection and Cleaning
    • Keeping in mind the data available at the codeforces api and the recommendation engine choosed, appropriate data is fetched, cleaned and stored in form of csv or xls.
  2. Fitting a Recommendation Engine
    • Make your Betal by training on the dataset stored.
  3. Deploying on Web-App
    • Deploy the trained engine on a web-app that asks it's user for sufficient information and then recommend problems and also takes feedback for the recommended problems and then use this data to improve further recommendations.(For example, a collaborative system would require it's user to provide thier codeforces username and then recommend)

Contribution

You can contact mentors regarding your visualisation and techniques to solve the problem and for contribution to this project. You can make pull requests if you want to contribute.

Mentors

About

Betal-Code is a web application which aims at recommending new and interesting coding problems to it's user(Vikram) and the process continues.... ;p

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published