0% found this document useful (0 votes)
141 views

Nbyula Assignment - SDE

The document outlines the requirements for building an adaptive learning platform with gamification elements. It describes four levels (0-3) of increasing complexity. Level 0 involves basic teacher and student user roles where teachers can create courses and quizzes and students can take quizzes. Level 1 adds tracking student scores and profiles. Level 2 adds time limits for quizzes. Level 3 introduces more advanced elements like experience points, question skipping, leaderboards, and adaptive question selection based on student performance. The completed application should be deployed online with documentation of the code and design decisions.

Uploaded by

Ayush Soni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
141 views

Nbyula Assignment - SDE

The document outlines the requirements for building an adaptive learning platform with gamification elements. It describes four levels (0-3) of increasing complexity. Level 0 involves basic teacher and student user roles where teachers can create courses and quizzes and students can take quizzes. Level 1 adds tracking student scores and profiles. Level 2 adds time limits for quizzes. Level 3 introduces more advanced elements like experience points, question skipping, leaderboards, and adaptive question selection based on student performance. The completed application should be deployed online with documentation of the code and design decisions.

Uploaded by

Ayush Soni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Nbyula-Assignment

Minimum Requirements (Level 0)


In the following assignment, we are going to build an adaptive learning platform,
leveraging gamification to engage users.
There are two types of user roles in this application:
● Teachers
● Students
A teacher is supposed to add, remove, edit, and delete courses. For each course, they
will be able to create one quiz only, based on a set of questions and their respective
answers (Choice-based Questions only). Teachers should also be able to
add/edit/delete questions and answers to a quiz for a course.
A quiz can contain multiple questions, and each question may have multiple correct
answers. The teacher must set the points (positive integer with max value 10) for each
question that the student must receive by answering the question correctly.
A teacher must also specify the passing points for the overall course quiz that a student
must obtain. While taking a quiz, if a student has achieved a passing score, they can
choose to continue to earn more points or leave the quiz.
Based on the time availability, you may choose to add additional features as stated
below to increase your chances of being shortlisted.
These features of the application can be divided into levels:

1. Level 0 (Basic) :-
a. All features that are mentioned above as minimum requirements.

2. Level 1 (Beginner) :-
a. Recording points scored by the students in a particular course.
b. Student Profile which shows the history of course quizzes taken and total
points earned for all courses quizzes and each course quiz separately.
c. Each answer needs to have sub-answers (segmented by topics).
3. Level 2 (Intermediate) :-
a. There should be a time limit for completing every quiz, which the teacher
should be mentioned while creating the quiz.

b. Each question will have multiple concepts tagged to it. For example - A
question related to algorithms can have multiple concepts such as sorting,
time and space complexity, and so on.

4. Level 3 (Advanced) :-
a. Introduce another scoring metric called the experience point for a specific
course, which would be based on the total number of correct questions
answered in a course quiz by a student. Thus, there would now be two
types of points in the application for the students, points earned using
answering questions as mentioned in Level 0 and experience points (XP).
b. The points earned by answering the questions can be used to skip other
questions. A question can only be skipped if the student has previously
earned the minimum points needed for a concept that is tagged to the
question. For every skipped question, the points that the question holds
will be deducted from the total points earned by the user across all
quizzes.
c. Each course will have a leaderboard, which enlists students based on
their experience points.
d. Students can spend points to chat with other students.
e. Adaptive test based on question difficulty, i.e., the teacher would set the
difficulty level for each question and then all students taking the test would
be presented with questions in the following manner:
i. If a student is able to answer a question, then the next question will
have a difficulty level above or equal to the answered question.
ii. If a student fails to answer a question, then the next question will
have a difficulty level less than or equal to the answered question.

Assignment Submission
● Deploy this application on any online hosting providers eg. Heroku, Netlify. Share the
live link and postman collections for all the endpoints.
● Git history is paramount important. Upload the source code on Github for us to review.
Make sure you follow all the best practices while using git as you would do on any
production application.
Focus on getting the entire flow working - edge cases are important.
We are mainly trying to understand how you would architect it, the best practices you
follow, and any foresight you display while making design decisions. Therefore, please
keep a note of these as you proceed with this exercise.
Please access the Google Form using the same email address used while giving the
screening test. All the best! :)

You might also like