This project will develop an algorithm that assigns student members impartially to projects/research papers based on skillset, experience level, and peer group. The project will enhance the efficiency and fairness of project assignments at iDEA. It will create a transparent and objective system that eliminates biases and favoritism.
- Problem Statement: Assigning student members to work on projects or research papers, for iDEA with efficient mapping based on skillset, experience level, and peer group in an impartial way. There is a need for an algorithmic solution to automate the assignment process and ensure fair and effective project allocations.
- Developers required
- 2 developers proficient in Java and fluttr.
- 2 developers skilled in python or any OOP language
1. Develop an algorithm that assigns student members impartially to projects/research papers based on skillset, experience level, and peer group.
2. Enhance the efficiency and fairness of project assignments at iDEA. Create a transparent and objective system that eliminates biases and favoritism.
3. Develop a user friendly interface for the same.
1. Skillset Assessment
1. Understand the skills required for the given project.
2. From the pool of developers at iDEA shortlist them based on said skills based on availability.
2. Experience Level Evaluation
1. The team selected by the algorithm should comprise developers of varying experience levels.
3. Peer Group Mapping
1. Based on data collected from reports of previous projects, map people together who are most likely will work without many conflicts.
2. Will be one of the future scopes for now.
4. Impartial Assignment Algorithm
1. Design a functionality such that core members of iDEA cannot tweak certain parameters to favour friends.
2. Projects will be assigned to all developers at iDEA giving everyone an equal opportunity
5. User Interface for administrators/project coordinators
1. Build an application with separate interfaces for the iDEA core team and one for developers.
2. The interface for the core team must include a list of all projects being developed, their progress levels, general statistics about the club(Number of developers etc), schedule meetings and communicate amongst club members, look at the project database, send general information to all developers.
3. The developer interface must include details of all undertaken projects by the developer, a ’To-Do list’ feature where all upcoming work/meetings can be scheduled, communication with team members, get notified with all data sent by the core team
4. Both interfaces will have common features like accessing data of past projects, upcoming events etc
6. Testing and Validation
1. System has to be validated after stress testing over varying users. Collect the data/feedback and make improvements.
The estimated duration for the project is three months, considering the complexity of the algorithm.
The userbase for the developed algorithm includes administrators and project coordinators at iDEA who will utilize the system for assigning student members to projects or research papers as well as the developers at iDEA.
The architecture will consist of a backend algorithm that assesses student skillsets, experience levels, and peer groups. This will be integrated with a user-friendly web-based interface for administrators to input student information and view assignment results. (If needed give architecture diagram)
1. Algorithm Design Document
2. Implemented Algorithm Software
3. User Interface Design and Implementation
4. Comprehensive Documentation considering all boundary cases
5. Testing and Validation Reports
6. Deployment and Maintenance Recommendations
- Programming languages: Python, Java or any OOP language
- Frameworks
- Flutter: Dart programming language, Flutter framework for mobile app development.
- Backend Development: Node.js, Express.js, Firebase, or Django for building a custom backend or utilizing BaaS platforms.
- Database Management: Firebase Realtime Database or Firestore for data storage.
- [1] "Automated Team Assignment System using
Greedy Algorithm for Efficient Student Group
Formation"
- [http://csis.pace.edu/~ctappert/srd2017/2017PDF/d12.pdf](http://csis.pace.edu/~ctappert/srd2017/2017PDF/d12.pdf)
- [2] "A Multi-Objective Approach for the Project Allocation Problem"
- [https://www.researchgate.net/publication/272864547_A_Multi-Objective_Approach_for_the_Project_Allocation_Problem](https://www.researchgate.net/publication/272864547_A_Multi-Objective_Approach_for_the_Project_Allocation_Problem)
- [3] "Group allocation based on peer feedback"
- [https://www.tandfonline.com/doi/full/10.1080/03043797.2022.2106191](https://www.tandfonline.com/doi/full/10.1080/03043797.2022.2106191)
- [4] Efficiency and fairness criteria in the assignment of students to projects
- [https://www.researchgate.net/publication/351089061_Efficiency_and_fairness_criteria_in_the_assignment_of_students_to_projects](https://www.researchgate.net/publication/351089061_Efficiency_and_fairness_criteria_in_the_assignment_of_students_to_projects)
- Month 1: Requirement gathering, research papers review, and algorithm design. Finalise modules, architecture design, workflow model. Finalise all languages/frameworks, delegate work to all members, wireframe for app
- Month 2: Module implementation, integration of all modules, stress testing. (Build the project)
- Month 3: Get feedback from users, modify/fix bugs, generate maintenance/other reports required.
In conclusion, the development of an impartial assignment algorithm for iDEA will enable the efficient mapping of student members to upcoming projects or research papers. By considering skillsets, experience levels, and peer groups, the algorithm will ensure fair and effective project assignments, fostering collaboration and maximizing project success.
The application will be a one stop destination for all progress tracking, connecting and scheduling needs of iDEA.
The required documentation will provide an organized resource if further work has to be done on the project
1. Building the peer group mapping. Based on performance reports and history of projects completed we can build a model to group people to maximize productivity.
2. Create a point based system for developers. Based on contributions to the club, projects successfully completed, points will be awarded along with added perks.