 Good afternoon everyone, I am Kuldeep Jain from ITDVV, he is Shubham from NIT Nagpur and Ashmitra from NIT Sural. In this project we have developed a grid component that can be used to create grids easily and in a short period of time. Our objective also includes to make that grid component reusable and that can integrable with our x block. We also created a chess grid x block in which we used our component to create chess grids and we further used it for the assessment. Now Ashmitra will explain you about the functionalities of our grid component. So we use a JavaScript library to make the grid component. So this is the first function, this is to create a grid. So it takes us input your rows and columns to generate a grid of r and r plus c. Then there is fill character which is for all characters numeric keyboard inputs and fill figure which fills it with the selected image whichever you want in the specific block of the grid. Fill color is there to fill the block with whichever color you want and there is a superscript for games like crossword puzzles and these are some of the auxiliary functions to remove content from a single block. Reset is for resetting the entire grid to default. Enable and disable is for making a grid block read only. So basically you know you can't give any input like in crossword puzzle lot of blocks are just there they don't have any functionalities. Then get data and set data for storing and retrieving whatever your state of grid is. Whatever you have set in the as your design for the grid board you can store it in a JSON dictionary and when you want to display it again you need to set data to call it and generate the grid. Now Shubham will explain about the workflow. So the workflow of our grid structure was basically like this. So basically there are two views studio view and student view. So studio view is nothing but the staff or the teacher will define the cross structure the rules of whatever the staff wants to teach and after that he give a grid game which we have taken it as chess and he'll define the question and he'll define a solution to that question. The solution to the question will be just of one move. One move why because our objective was to just make the library. So we did that and then we showed that our library can be integrated with the explore and we were able to assess the student solution as well when he makes one solution. So the student view is nothing but the student will log in into his account and he'll be able to look at all the core structure everything and then he'll be able to play that one move and he'll be auto graded by our explore. Now Kuldi will explain how the demons did like the work. What is the answer you get after the student does something on your board and I submit. What is the answer? Sir first teacher said one question in which one move is I have I don't care about this. Okay sir. There is a board I have done something to it okay what and I submit what what data goes. The data is correct in a JSON dictionary and that is transferred to our Python program inside and where we compare the two dictionaries that the dictionary consists of details about every block at that block what is the piece that is placed on that block. Peace the attribute of that particular. If it is peace then you only created explore you are not created a grid. We have created the grid and we've used that grid to make our choice. That's it teacher wants to. Yeah we have written code. Yeah we have written code. Yeah we have written code. Yeah we have written code. So it is not a usable like job. No we. The block is not a reusable. But our grid library is reusable. Like if teacher wants to create a new code like Sudoku. If I want to create a crossword okay I have to write a whole lot of code again. No sir you don't have to. We after creating chess then we also showed ma'am that in two hours we were able to create another game which was Sudoku. We have created it and shown it to ma'am in two hours. We have used our library we have made this Sudoku game and then we have showed it that it works from end to end like including the assessment. No sir those are those functions created and also if you just call them it will create it. Just to get the answer. Which answer? After the student gives an answer. Okay. Okay what is the input your extra gets. It gets the whole information. So basically every like the grid is created now it will go to every cell of the grid. Then every cell will have whatever attributes say the color the image on that cell block. Every attribute will be stored in the form of a dictionary and it will be sent to the Python file and it will be stored as a string. And then it will be come and then again we convert into dictionary and we compare the strings which was given by the teacher and the string. So that is exactly what I am looking at. Okay. For every block in the grid what is the information that goes back to your assessor. Okay. That what value is that particular block has what value is there any image on that block and what are the background image and something whatever that user wants on it. That every information what the block is sent to our Python program. Sir and there are validations on the students side. So you can't change anything else like except for. That I don't know. Okay. Let's go to that. Let's not look at your demo. Okay. Because it is working. Okay. Now for the block. Okay. So isn't there a fixed set of attributes you are getting a block will have some data which is a string. Okay. It's a string. It can have an image. So what are the what are the various things that you are. Assuring all the attributes there in a. Don't say all the attributes. What are the. Are there 10,000 attributes you are getting. Is it user defined attributes is what I am looking at in software terms. Is it fixed set of attributes or is it a variable set of attributes. Then only no I know how programmable it is. Sir whatever we have made. Again don't say whatever. Is it a list. Is it a finite list or an expanded. Financially. So it's a fixed list. Yeah. Correct. So now so that is okay. I want to write the assessment software. I know for every block I'm getting some 10 attributes. Yes. All right. Done. Very good. Now what are the actions the grid presenter allows me to do. It depends it changes according to the game. No. Suppose it's Sudoku. The Sudoku has specific already few numbers on the grid itself. Now the student will not be able to change those numbers which the teacher sent because he won't be able to change. He'll have to write numbers in the other things. What. In a Sudoku game. No. Let's talk in terms of software not Sudoku game. Okay. We are talking about software. So you are saying that my grid block. Okay. Will send back to the assessor a set of 10 attributes. I don't want to care what they are. Okay. My next question is if 10 attributes per grid block. Okay. Is being sent back to the server after pressing submit. Okay. Then what operations can I do on the 10 attributes on the student side when I present the problem to him. Therefore nothing to do with Sudoku. What are you allowing? That is what I mean by framework. In chess I can move the image from one block to from one place to another place. Correct. Yeah. So what are the set of commands that I am allowed to do is what I am saying. It's a move an image. I don't care whether it's chess or not. The student is allowed to only fill the grid that type he want. Like in chess he can move the pieces. In Sudoku he can fill that. He cannot move any piece. As far as you are concerned what where is the question of piece. You only you just now said it's an image. It's an image. Correct. It's not a piece. Like in Sudoku he has to fill the value. Correct. So there are two other. What are the list of activities I am allowed to do on the student side. Okay. And how do you control it? I am not interested in writing software please. Okay. Okay. That you are implemented involves writing software. I don't want to write software. If it is 10 attributes you are getting at the end of the students this thing. Okay. I should be allowed to modify those 10 attributes on the on the grid. Why one could be copy all 10 attributes from this block to this block which is which is as good as an image. Sir depends on teacher what they want from a student to modify in the grid. Whatever they want to modify in the grid. Yes. They already said there. Without writing why then called. Yes. Python code is not required. While I think Python like it was only for checking the solution. You have to call the functions like if you want to. I am not going to call any function. Sir if. I am a teacher. I don't care. Yes sir if you suppose there is one block which the teacher wants to be read only like he said the number 3 and he wants that to be read only and he does not want the student to change that particular cell block. Correct. Then he will make it read only. Correct. And suppose he wants like. Whatever is not read only. Yes sir. In those blocks the student will be able to write the numbers. In suppose he will be able to write those numbers. Correct. So how do I specify it to your x block that the student is allowed to write a number between 1 and 9. That specification I should be able to do as a teacher. Yes. Okay. So show me that first. How I am without knowing anything about Python I can specify that the student is allowed to put the number 1 to 9 in the blocks which are writable. Whether it is UI 3.1 or whether it is back end code. Okay. Whether it is codeable. Sir then it is codeable only. It is codeable only. It is codeable only. So the teacher will not create the x block x block will be created by someone and the teacher will tell the department. When I am doing should go I have to write should go code. Who is going to write should go code. So again that will also be done back end only because teacher won't read. That is what I am asking you why you design the system. Okay. So that I have to write code teacher as a teacher. Teacher does not have to write the code. Teacher will tell his functionalities that whoever wants to create the x block. I have to write code no. Even whatever you have. Can I create a crossword. What sir you have to write. Can I create a crossword. I don't know. Sir there are three things sir. One is the developer and then again then a developer creates the. Why you are not jump that one phase. Okay. Good. I am not saying you have not done good job. If you have written something by which I can create a suroku puzzle. Okay. Suroku assessment. Okay. Not a puzzle. Suroku assessment. Okay. In two hours. Okay. You have you have done something. But you have not done the other phase. Where a completely non programmer should be able to square grid assessment block. Because your same suroku puzzle. Okay. If I had given the flexibility to the teacher to specify. That it is nine by nine. Okay. That none of the blocks are all the blocks are writable. You know. Sorry. Not all the block. That these are the blocks which are read only. In which case I put the number. And these are the read only. Okay. The rest of the blocks can take any input from one to nine. I don't have to spend two hours. Okay. But that is a functionality you should be implemented. Okay. It is not important. No. What I am trying to say is you should have gone from chess. I am doing a grid assessment block. The grid assessment block in terms of software specification is this. Okay. The teacher will you have done one step. Teacher can say this is read only. Okay. And if it is ten assessment then the teacher can say in each block whether read only, write only it doesn't matter. He will put an image or he will put a text or an image and in the case he can put background color, foreground color whatever it is. So I can do that. That is creating my this thing. Then I will have to say what actions I am allowing the student to do when he answers it. Okay. Then I am supposed to say this is my final answer. Final answer I gave. Then my software is done. I can do any any example. No. Okay. Thanks. So initially we have to create an x block now for that our problem. And then only teacher can use it. I don't care. I will call that x block Avinash. And it's a sudoku. What difference does it make? Sir according to. When you call something else and give the same sudoku. What I mean? It's a grid x block. I am just saying this particular assessment I am customizing it for my need. Okay. My need could be I give all in the sudoku I give one diagonal and that is my problem. That is my way of giving a problem. No. I have to write code for a grid type of assessment x block. Okay. It should be done without writing code. And I am convinced. Okay. For what? Because I asked you from the end. What are you sending? To the assessment. If you are sending 10 parameters to the assessment. What the student can do with the 10 parameters. All that is required and that can be specified without writing any code. So for assessment part teacher is not required to any code. But he wants to specify detail how grid looks first time. Correct but the teacher is not required to write any code for the assessment. Initially they have to create one x block. I have given you my views. Okay. You have implemented it. You can show it but it is not nice. I believe you. Okay. But the teacher has to create one x block. Then only after you can use to create such type of question. So I create a chase based block. I say in the chase based block. Okay. These are my images. I will create the image to put in that stupid thing. Okay. Which I am supposed to do because it matches this block. Then I say in this particular x block any image can move from any image to any image. That's it. This is the final image to check. That's it. I don't look at anything. So we have implemented like this only you can see. An edit view teacher can check the. What is not acceptable is that if you have already written a framework. The teacher has to write Python code to do. Even let's take this thing. Snake said ladders. Not acceptable to me. It is very little Python code. No, not acceptable to me. Not acceptable to me. Okay. The framework. Teacher when login to his account it will provide a question gate where it can set whatever question they want. You are not one step of presentation. Okay. You have not you have not you have not done a good job. I am saying you have not done a complete job. You have done an excellent job. Let me tell you if you whatever you are done you are able to modify in two hours. Okay. Is excellent. I am complimenting you on it. I am just saying it is for me. Everything should be done. That is the highest level of a program. Without a programmer being present the user can create 100 assessment blocks any board game you can do. That is that is what you have to aim for. You are done quite a bit. Okay. That you can write two hours a day. Enough is a package. You are not done a package. Okay. A package is something which any user can use. That is not a package. If it requires programming it is not a package. It is customized. Sir we have developed this component to be used by someone who is creating a X block. Yes. So for every time you are