Patent Publication Number: US-2023133777-A1

Title: Methods for grading scholastic work and providing grades, corrections of the wrong answers to students

Description:
“This is a continuation-in-part of application Ser. No. 16/873,853, filed with title “Methods for Grading Scholastic Work and Providing Grades, Corrections of the Wrong Answers to Students” and naming “Narong Kovathana” as an inventor, the entire content of which is hereby incorporated herein by reference. 
    
    
     FEDERAL SPONSORED RESEARCH 
     Not Applicable 
     SEQUENCE LISTING OR PROGRAM 
     Not Applicable 
     BACKGROUND 
     Field 
     This patent application relates to automatically grading methods to grade scholastic work in computer, recognizable medium, and more specifically to using a computer to assist in electronically scoring students&#39; textual answers to questions in homework or tests. 
     BACKGROUND 
     Prior Art 
     The following is a tabulation of some prior art that presently appears relevant: 
     U.S. Patents 
       
     
       
         
           
               
               
               
               
             
               
                   
               
               
                 Pat. No. 
                 Kind Code 
                 Issue Date 
                 Patentee 
               
               
                   
               
             
            
               
                 9,805,615 
                 B2 
                 2017-17-31 
                 Foley, Jr. 
               
               
                 6,115,683 
                 — 
                 2000 Sep. 5 
                 Burstein et al. 
               
               
                   
               
            
           
         
       
     
     Most people in academic communities are familiar with an automatically grading method known as “scanning.” It has been around for over a half of a century and widely used to score answers in many standardized tests. However, the scanning method for scoring answers in tests is not suitable for grading daily school-work, because in order to have answers marked at different locations on an answer sheet or response form to differentiate a correct answer from the incorrect ones, school-work questions must have multiple answers to choose from. Making or composing questions with multiple-answer options or multiple-choice questions takes a lot of time, and teachers cannot afford the time to make such questions on a daily basis. 
     For many years, people have been trying to find an alternative way for grading tests and homework. Due to the advancement of computer and information technologies, not too long ago, they came up with methods of using computer, recognizable media or electronic files to store school work for scoring electronically. An early example of using electronic files for scoring answers in patent records of the U.S. Patent and Trademark Office was in U.S. Pat. No. 6,115,683 issued on Sep. 5, 2000. Burstein et al. devised a system to use plain, text files to help in scoring assays. Another example of using the electronically scoring was in U.S. Pat. No. 9,805,615 issued on Oct. 31, 2017. Foley, Jr. used methods of electronically comparing data in two, different, plain, text files to score answers in tests and homework. 
     Foley&#39;s methods do away with using the multiple-choice questions and answer sheets, because the electronically scoring can score textual answers. Students can type up texts by using a computer-keyboard to answer the questions. However, his methods require posting tests or homework on a database server, because scoring answers electronically takes place in the server where the scoring, computer program is being executed. Thus, in order to score school work electronically, teachers have to get online to connect to the server to post tests or homework on it. This requirement makes Foley&#39;s methods of scoring answers in tests or homework unfeasible for most teachers to use, because they are unskilled in the information technology. Furthermore, when students want to take a test, they need to get online through computer terminals or desktop computers to connect to the database server to score their answers, schools may not have enough computer terminals for them to use at the same time. 
     In addition, students need to authenticate in order to get accesses to the database server. In this process, the server must have a quick processing speed to handle hundreds of students&#39; authentications before a test. The database server must be able to store a lot of data and also very efficient in order to accommodate and provide data requested from hundreds of students in the same, test period. A computer installation to handle this kind of work requires a computer with a large, storage capacity and high, processing power like a mainframe computer. A mainframe computer is very expensive, and schools may not be able to afford it. 
     SUMMARY 
     The objectives of the embodiment described in the current application is to give some solutions to the limitations and disadvantages of the prior art. It enables teachers with little or no computer, programming skills to take advantages of the quick, processing power of a computer to shorten the time in grading students&#39; work. The grading software included in this embodiment is easy to use and does not require editing when being used for grading work from students in different classes or by different teachers, because the embodiment uses a technique of switching one RSD to the other to give different data files of answers to questions in homework for a computer to grade. More importantly, by using this grading software, teachers can still assign their homework in the usual way, i.e., giving homework from the text books. They do not need to make special, homework questions necessary for posting in a database server as other, grading methods in the prior art require. 
     Basically, the embodiment includes grading software written in the Microsoft Visual Basic language stored in an IBM compatible PC computer with Microsoft Windows Operating System and a word processor. In the grading software, a file-name of a receiving-reference-file and those of receiving-student-files are file-names for receiving data from the respective input-files of reference-file and student-files outside the computer. A file-name for the received-reference-file is chosen from a commonly-used word. File-names for the received-student-files are created from the same word with different numbers in the ascending, numerical order as suffixes. Similarly, file-names for output-files are made in the same way by using the same word with different, numerical suffixes. They are for storing the grading results. In addition, a number of the output-files and receiving-student-files are equal to the number of students in an average class-size. 
     The computer uses grading software with a GUI to electronically compare data in two, different, plain, text files, namely, student-files with a reference-file in grading. The reference-file contains class-related information as a reference-file-identification, and only data of the right answers to the questions in the homework. A teacher makes it, gives its file-name to match the one of the receiving-reference-file in the grading software, and stores it in an RSD. The student-files also contain class-related information as student-file-identifications, and data of the answers believed to be the right answers of the questions in the same homework. Students make them, give their file-names to match those of the receiving-student-files in the grading software, and store them temporarily in any data storages. 
     The students need to deliver their student-files to their teacher for grading. They can either submit them in-person to their teacher or e-mail them as the file-attachments to their teacher. If they choose the latter means of forwarding their student-files, the student-file-identifications will help the teacher sort out the e-mails in his or her&#39; “Inbox.” After the teacher has identified students&#39; e-mails of his or her class, he or she will transfer the file attachments of the student-files in the e-mails and store them together with his or her reference-file in the same RSD. 
     The crucial part of the embodiment is giving the file-names of the student-files to match those of the receiving-student-files in the grading software. The teacher helps his or her students give file-names of their student-files by assigning them to name their student-files according to the order in which their names are listed in the class roster. As a result, the file-names of their student-files also have numerical suffixes. The numerical suffixes in the file-names have many, useful purposes. The most, useful one is to help the teacher detect unaccountable or missing student-files in his or her RSD by just looking for the discontinuity of the suffixes in the file-names in all the student-files. The reason is that the discontinuity of the numerical suffixes is caused by the missing of the student-files. Thus, looking for the discontinuity is a quick and easy way for the teacher to determine whether or not the RSD has any missing student-files. If it does, the teacher will use filler-files to substitute for them before the grading. He or she makes the filler-files in the same way by using a word processor, fills them with irrelevant or “no” data and names them to match those of the missing student-files. 
     After attaching the RSD to the computer, he or she will apply a scoring weight or weights and start scoring students&#39; work by using the GUI. The grading results, which include the student-file-identifications, final scores, grades in percentage-numbers and letter-grades and corrections of the wrong answers, will be stored in the output-files whose contents can be manually printed out. Some of the results from the electronic grading are included as items in the list box in the GUI. The items will be visibly shown in the list box at the end of the grading. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a block diagram illustrating the key steps in implementing the embodiment in accordance with the current application. 
         FIG.  2    is a diagram illustrating an exemplary GUI screen of the grading software of the embodiment for teachers to interact with the computer in accordance with the current application. 
         FIGS.  3   a - 3   b    collectively illustrate an exemplary flowchart of the remaining description of the embodiment with one-scoring weight in accordance with the current application. 
         FIGS.  4   a - 4   b    collectively illustrate an exemplary flowchart of the remaining description of the embodiment with two-scoring weights in accordance with the current application. 
         FIG.  5    is a block diagram showing the inputs into hardware components of a computer and the outputs from them. 
         FIG.  6    is a diagram of an example of a 16, bit, digital format of a program instruction. 
         FIG.  7    is a block diagram of the fetch-decode-execute cycle. 
         FIG.  8    is a diagram of the CPU of a computer showing the inter-connections of its important components and the RAM. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENT 
       FIG.  1    is a block diagram illustrating the key steps in implementing the embodiment in accordance with the current application. 
     Block  100  comprises making a reference-file in plain text. The electronically grading software compares data of a student-file with that of a reference-file one data at a time for scoring a student&#39;s answer. Thus, before grading, a teacher makes the reference-file containing the data of one answer per line of the right answers to the homework questions with the ordinal numbers by using a word processor like Notepad or Microsoft Word. If the Microsoft Word is used to create a reference-file, making a plain, text file simply saves the finished file in “Plain Text.” The first line of the reference-file contains a reference-file-identification and does not contain any data for grading. It includes class-related information like the period of a class, subject being taught, date of the class and teacher&#39;s name in abbreviations, for example, p1/alg2/4-3-2020/M. Jane, which represent period 1, algebra 2, Apr. 3, 2020, Mary Jane. 
     After the teacher has made his or her reference-file, he or she will give it a file-name to match the one of the receiving-reference-file in the grading software and store it in an RSD. The RSD includes a magnetic-floppy disc or flash drive. 
     Block  200  comprises making student-files in plain text. Similarly, by using a word processor, students make their student-files containing the data of the answers believed to be the right answers to the questions with the ordinal numbers of the same homework. The arrangement of the contents of the student-files is the same as that of the reference-file, i.e., each of the student-files contains the data of one answer per line, starting from the second line of the student-file onward. Similar to the reference-file, the first line of a student-file contains class-related information as a student-file-identification. It includes the period of a class, subject being taught, date of the class, student&#39;s name and e-mail address in abbreviations, for example, p1/alg2/4-3-2020/J. Doe/Jd@gmail.com which represent period 1, algebra 2, Apr. 3, 2020, John Doe at the gmail.com website. 
     After the students have finished in making the student-files of their answers to the questions, they will give their file-names to match those of receiving-student-files in the grading software. The teacher assigns them to name their student-files according to the order in which their names are listed in the class roster. After having finished making their student-files, they will temporarily store their student-files in RSD&#39;s or the document folders of the word processors in their computers for facilitating deliveries of them to their teacher for grading. The RSD&#39;s used for storing the student-files include magnetic-floppy discs or flash drives. 
     Block  300  comprises deliveries of the student-files to their teacher and storages of them in the teacher&#39; RSD. The deliveries include students&#39; submitting their student-files in-person to their teacher. The teacher accepts their student-files by transferring them from the students&#39; RSD&#39;s or the document folders of the word processors in the students&#39; computers to his or her own RSD. The other means of deliveries of the student-files to their teacher includes e-mailing their student-files as the file attachments through the Internet or intranet. When e-mailing is used as a method of deliveries, each of the students enters the student-file-identification in the “Subject” line on the e-mailing page of an e-mail program. Upon arriving of the e-mail to the teacher&#39; “Inbox,” the student-file-identification becomes the title of the received e-mail. Hence, the teacher can easily recognize the student&#39;s e-mail among other e-mails in the same “Inbox” by noticing the title of the received e-mail. Once the teacher has identified the e-mails of the students of the same class, he or she will transfer the attached student-files In the e-mails and stores them together with the reference-file in the same RSD. 
     Block  400  comprises the remaining part of the description of the embodiment with one-scoring weight in accordance with the current application. The full description of the embodiment with one-scoring weight includes Blocks  100 ,  200 ,  300  and  400  in  FIG.  1   .  FIGS.  3   a - 3   b    are flowcharts which collectively illustrate an exemplary flow of the remaining description of the embodiment with one-scoring weight.  FIGS.  2  and  3     a - 3   b  are now being used to further describe the remaining part of the description of the embodiment. 
       FIG.  2    illustrates a diagram of an exemplary screen of a GUI  201  of the grading software. A computer  401  shown in  FIG.  3   a    is a general purpose IBM compatible PC, has been installed with Microsoft Windows Operating System, Microsoft Visual Basic and a word processor. More importantly, it has been installed with the grading software written in the Visual Basic language for the electronically grading. 
     Containing in the grading software, the file-name of the receiving-reference-file and those of receiving-student-files are the receiving-files of data from a reference-file and student-files of matching file-names, respectively. A file-name for the receiving-reference-file is chosen from a commonly-used word like “teacher.” File-names for the receiving-student-files are created from one commonly-used word like “student” with different numbers in the ascending, numerical order as suffixes, for example, student 1 , student 2 , student 3 , . . . , student 35 , etc. 
     In the grading software, there also are output-files. Similarly, file-names for the output-files are made from the same word like “output” with different numbers in the ascending, numerical order as suffixes, for example, output 1 , output 2 , output 3 , . . . , output 35 , etc. The output-files are for storing the grading results. In addition, a number of the output-files and the one of the receiving-student-files in the grading software are determined by the number of students in an average class-size. 
       FIG.  3   a    shows an RSD  301  which has been stored with a reference-file and student-files of the same class. It originated in Block  100  when it was loaded with a reference-file and filled with student-files in Block  300 . 
     Before grading students&#39; work, the teacher will check to determine whether or, not RSD  301  has contained all of the student-files in his or her own class. First, he or she need to find out how many students there are in his or her class. Then, he or she counts the number of student files in RSD  301 . If both numbers are equal, this will imply that RSD  301  has contained all of the student-files. However, if they are not equal, this will imply that RSD  301  has not contained all of the student-files. 
     Alternatively, he or she closely looks at the names of all of the student-files in RSD  301 . If the numerical suffixes in the names of all of the student-files form a complete set of continuous numbers in the ascending, numerical order, this will imply that RSD  301  has contained all of the students-files in his or her class. For example, if there are 20 students in his or her class, and there are 20 student-files in RSD  301 , the numbers in suffixes will form a continuous set of numbers in the ascending, numerical order like {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20}. However, if an unknown number of students did not send in their student-files, there would be an unknown number of unaccountable student-files. Consequently, the numbers in suffixes might now form a discontinuous one like {1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 18 19 20}. In it, there are two-missing numbers, 13 and 17. They indicate that two students did not send in their student-files. The two-missing numbers, 13 and 17, further point to two unaccountable or missing student-files, student 13  and student 17 . After knowing that student-files, student 13  and student 17 , were missing from RSD  301 , the teacher will use filler-files to substitute for them. He or she makes the filler-files in the same way by using the same word processor, fills them with irrelevant or “no” data and gives student 13  and student 17  as the file-names of the filler-files. 
     Incidentally, the grading software has been designed to accept data from student-files of a number of students in an average class-size to grade at one time. Sometimes, a class has fewer students than those in the average class-size; thus, there will be fewer students to send in their homework. Consequently, there will be fewer number of student-files received than those of the receiving-student-files in the grading software. In order to use this software to grade students&#39; work properly, the teacher needs to fill RSD  301  with a number of filler-files equal to the difference between the number of the receiving-student-files and the actual number of students assigned to a class. For example, if the grading software has been designed to be able to receive data from 35 student-files to grade at one time; thus, 35 student-files will be required as input-files for the grading software to work properly. If there are only 30 students actually assigned to be in a class, there would be 30 student-files sent by the students. Hence, there would be 35−30=5 student-files short from the required number of input-files. The teacher needs to uses five filler-files to fill into RSD  301  to make up for the inadequate number of the student-files. 
     In order to avoid doing unnecessary work, after the teacher has graded student&#39;s work in RSD  301 , he or she can leave the old filler-files in RSD  301  for using as the filler-files again in the following grading. However, the file-names of the old filler-files must be changed to different ones to prevent them from interfering with storing new student-files which may have the same file-names as those of the old filler-files. After other, old files have been removed from RSD  301 , it can be reused for storing with a new reference-file and student-files. 
     After the teacher has attached RSD  301  to computer  401  through the magnetic-floppy-disc bay, if RSD  301  is a magnetic-floppy disc, or through the USB port, if RSD  301  is a flash drive, he or she can start electronically grading of students&#39; work. First, in Step S 402 , he or she uses a computer-keyboard to type a textual number representing the data of a number of answers in homework in an input-text box  202  in GUI  201 . Then, he or she uses a computer-mouse to click a radio-control button  203  in Step S 403  to indicate that the answers are not divided into groups in calculating the scores. Finally, he or she activates the grading software by using the computer-mouse to click the activation-button which is called the “Grade” button  204  in GUI  201  in Step S 404 . Consequently, the grading software is being executed. 
     Corresponding to a receiving-student-file in the grading software, the first line of the student-file in RSD  301  is read in Step S 405 . It contains a student-file-identification. In Step S 406 , the student-file-identification is stored in an output-file and included as an item in a list box  205  in GUI  201 . In Step S 407 , the second lines of data in the student-file and reference-file are read, which correspond to the respective receiving-student-files and receiving-reference-file in the grading software. They contain the data of the answer believed to be the right answer to the question in the student-file and that of the right answer to the same question in the reference-file. The data from the student-file is electronically compared with that from the reference-file for scoring in Step S 408 , if the answer in the comparison is “No,” which will indicate that the data of both files are not electronically equal; thus, the student&#39;s answer was wrong. The data of the right answer with the ordinal number will be copied from that in the reference-file and stored in the output-file in Step S 409 . However, in the comparison in Step S 408 , if the answer is “Yes,” which will indicate that the data of both files are electronically equal; thus, the student&#39;s answer was right, in Step S 410 , a score will be given to the maker of the student-file. Depending on what stage the grading is in, it will be added to the previous score until grading all the data of the answers in the student-file. The resulting score will be a total score of the maker of the student-file. The total score will be included as an item in list box  205  and stored in the output-file. 
     After the comparison of Step S 408  has been completed in either Step S 409  or Step S 410 , the grading is moved to Step S 411  for the computer to check to determine whether or not it has been the end of the student-file. If the answer is “No” in Step S 411 , which will indicate that it has not been, the grading procedure will be moved from Step S 411  through Steps S 413 , S 408 , S 409  or S 410  and back to Step S 411  in a loop-like manner. The flow of the grading procedure will be repeated in going around in a loop to do the same things over again, if the answer in Step  411  is always “No.” This flow of the grading procedure was like a “Do” loop in some computer, programming languages. Since the looping was directed to go through a first path in grading the data from the student-file, it was called a first “Do” loop. However, if the answer in Step S 411  is “Yes,” which will indicate that it has been the end of the student-file and also the end of the first “Do” loop. Then, in Step S 412 , the computer will calculate the grades in a percentage-number and letter-grade of the total score of the maker of the student-file. The grades will be included as items in list box  205  and stored in the output-file. 
     From Step S 412 , the grading is moved on to Step S 414  for the computer to check to determine whether or not it has been the end of the receiving-student-files. If the answer in Step S 414  is “No,” which will indicate that it has not been, the grading procedure will be moved from Step S 414  through Steps S 415 , S 405 , S 406 , S 407 , the first “Do” loop, “Yes” in Step S 411 , Step S 412  and back to Step S 414  in a loop-like manner again. If the answer in Step S 414  is always “No,” the flow of the grading procedure will be repeated in going around in a loop to do the same things over again, creating a second “Do” loop. It was so called, because the looping was directed to go through a second path in grading the student-file corresponding to a receiving-student-file in the grading software. However, if the answer in Step S 414  is “Yes,” which will indicate that it has been the end of the receiving-student-files and the end of the second “Do” loop and ultimately, the end of the grading of all of the student-files stored in RSD  301 . 
     Finally, the items in list box  205  in GUI  201  are visibly shown in Step S 416 . They comprise the student-files-identifications, students&#39; total scores, grades in percentage-numbers and letter-grades. The grading program can now be terminated by using the computer-mouse to click the end-button which is called the “Quit” button  206  in Step S 417 . The teacher can manually use the word processor to print out the grading results in the output-files with a printer in Step S 418 . They include the student-file-identifications, students&#39; total scores, grades in percentage-numbers and letter-grades, and right answers of students&#39; wrong answers with the corresponding ordinal numbers of students&#39; wrong answers in the student-files. Alternatively, he or she can e-mail the output-files with an e-mail program as the file attachments through the Internet or intranet to his or her students by using the students&#39; email addresses in the student-file-identifications. 
     Block  500  comprises the remaining part of the description of the embodiment with two-scoring weights in the current application. The full description of the embodiment with two-scoring weights includes Blocks  100 ,  200 ,  300  and  500  in  FIG.  1   .  FIGS.  4   a - 4   b    are flow charts which collectively illustrate an exemplary flow of the remaining description of the embodiment with two-scoring weights in accordance with the current application.  FIGS.  2  and  4     a - 4   b  are now being used to further describe the remaining part of the description of the embodiment with two-scoring weights. 
     A computer  501  shown in  FIG.  4   a    is the same computer as computer  401  in  FIG.  3     a.  It also has been installed with the same grading software and other software mentioned in Block  400 .  FIG.  4   a    shows an RSD  302 , which has been filled with a reference-file and student-files in the same way as RSD  301  has been as described in Blocks  100 ,  300 . 
     In addition to Block  200  about making the student-files, and in regarding to grading students&#39; work with two-scoring weights, the teacher has to predetermine the difficulties of his or her homework questions and then, separates them into two groups according to the degree of difficulties of the homework questions before assigning them to his or her students. The questions in the first group may be more difficult than those in the second group or vice versa. During the separation of the questions into two groups, the teacher needs to remember the ordinal number of the last question of the first group, because he or she will need to use this information in order to continue in the grading. Furthermore, as a result of the separation of questions into two groups, the data of the answers in the student-files in RSD  302  are automatically divided into two groups for them to be scored with two-scoring weights. 
     Before grading students&#39; work, the teacher will also check to determine whether or not RSD  302  has contained all of the student-files and required filler-files before using the computer-mouse to click “Grade” button  204  as explained in Block  400  regarding to the remaining part of the description of the embodiment with one-scoring weight in accordance with the current application. 
     After the teacher has attached RSD  302  to compute  501 , he or she can start grading students&#39; work with two-scoring weights by first, using the computer-keyboard to type a textual number representing the data of a number of the answers in input-text box  202  in Step S 502 . Then, the teacher uses the computer-mouse to click a radio control button  207  in GUI  201  in Step S 503  to indicate that the answers are divided into two groups in calculating the scores with different, scoring weights. In Step S 504 , with the computer-keyboard, he or she types a textual number representing the data of the scoring weight for calculating the scores of the data of the right answers of the first group in an input-text box  208 , a textual number representing the data of the scoring weight for calculating the scores of the data of those of the second group in an input-text box  210 , and a textual number representing the data of the ordinal number of the last answer of the first group in an input-text box  209 . Finally, the teacher can activate the grading software by using the computer-mouse to click “Grade” button  204  in GUI  201  in Step S 505 . Consequently, the grading software is being executed. 
     Corresponding to a receiving-student-file in the grading software, the first line of the student-file in RSD  302  is read In Step S 506 . It contains a student-file-identification. In Step S 507 , the student-file-identification is stored in an output-file and included as an item in list box  205  in GUI  201 . In Step S 508 , the second lines of both files, namely the student-file and reference-file, are read for grading, which correspond to the respective receiving-student-files and receiving-reference-file in the grading software. They contain the data of the answer believed to be the right answer to the question in the student-file, and the data of the right answer to the same question in the reference-file. In Step S 509 , the data from the student-file is electronically compared with that from the reference-file. If the answer in the comparison is “No,” which will indicate that the data in both files are not electrically equal; thus, the student&#39;s answer was wrong. The data of the right answer with the ordinal number will be copied from that in the reference-file and stored in the output-file in Step S 510 . 
     However, if the answer is “Yes” in Step S 509 , which will indicate that the data of both files are electronically equal; thus, the student&#39;s answer was right, in Step S 511 , a score will be calculated with the first, scoring weight and given to the maker of the student-file. Depending on what stage the grading is in, it will be added to the previous score until grading all the data of the answers in the first group. 
     After the comparison of Step S 509  has been completed in either Step S 510  or Step S 511 , the grading is moved to Step S 512  for the computer to check to determine whether or not it has been the end of the data of the answers of the first group. If the answer in Step S 512  is “No,” which will indicate that it has not been, the grading procedure will be moved from Step S 512  through Steps S 514 , S 509 , S 510  or S 511  and back Step S 512  in a loop-like manner. The flow of the grading procedure will be repeated in going around in a loop to do the same things over again, if the answer in Step S 512  is always “No,” creating a first “Do” loop. It was so called, because the looping was directed to go through a first path in grading the data of the answers of the first group. However, if the answer in Step S 512  is “Yes,” which will indicate that it has been the end of the data of the answers of the first group and also the end of the first “Do” loop. In Step S 513 , the data of both files are advanced by one line for them to be compared later in Step S 515 . If the answer in Step S 515  is “Yes,” which will indicate that the data of both files are electronically equal; thus, the student&#39;s answer was right. In Step S 516 , a new score will be calculated with the second, scoring weight and added to the previous score of the maker of the student-file until grading all the data of the answers in the student-file. The resulting score will be a total score of the maker of the student-file. The total score will be included as an item in list box  205  and stored in the output-file. 
     However, if the answer is “No,” in Step S 515 , which will indicate that the data of both files are not electronically equal; thus, the student&#39;s answer was wrong. The data of the right answer with the ordinal number will be copied from that in the reference-file and stored in the output-file in Step S 517 . 
     After the comparison of Step S 515  has been completed in either Step S 516  or Step S 517 , the grading is moved to Step S 518  for the computer to check to determine whether or not it has been the end of the student-file. If the answer in Step S 518  is “No,” which will indicate that it has not been, the grading procedure will be moved from Step S 518  through Steps S 513 , S 515 , S 516  or S 517  and back to Step S 518  in a loop-like manner. The flow of the grading procedure will be repeated in going around in a loop to do the same things over again, if the answer in Step S 518  is always “No,” creating a second “Do” loop. It was so called, because the looping was directed to go through a second path in grading the data of the answers in the second group of the answers in the student-file. However, if the answer In Step S 518  is “Yes,” which will indicate that it has been the end of the student-file and also the end of the second “Do” loop. In Step S 519 , the computer will calculate grades in a percentage-number and letter-grade of the total score of the maker of the student-file. The grades will be included as items in list box  205  and stored in the output-file. 
     From Step S 519 , the grading is moved on to Step S 520  for the computer to check to determine whether or not it has been the end of the receiving-student-files. If the answer in Step S 520  is “No,” which will indicate that it has not been, the grading procedure will be moved from Step S 520  through Steps S 521 , S 506 , S 507 , S 508 , the first “Do” loop, “Yes” in Step S 512 , the second “Do” loop, “Yes” in Step S 518 , Step S 519  and back to Step S 520  in a loop-like manner. The flow of the grading procedure will be repeated in going around in a loop to do the same things over again, if the answer in Step S 520  is always “No,” creating a third “Do” loop. It was so called, because the looping was directed to go through a third path in grading the student-file corresponding to a receiving-student-file in the grading software. However, if the answer In Step S 520  is “Yes,” which will indicate that it has been the end of the receiving-student-files in the grading software and also the end of the third “Do” loop and ultimately, the end of the grading all of the student-files in RSD  302 . 
     Finally, the items in list box  205  in GUI  201  are visibly shown in Step S 522 . They comprise the student-file-identifications, students&#39; total scores, grades in percentage-numbers and letter-grades. The grading program can now be terminated by using the computer-mouse to click “Quit” button  205  in Step S 523 . The teacher can manually use the word processor to print out the grading results in the output-files with a printer in Step S 524 . They include the student-file-identifications, students&#39; total scores, grades in percentage-numbers and letter-grades, and right answers of students&#39; wrong answers with the corresponding ordinal numbers of the students&#39; wrong answers in the students-files. Alternatively, he or she can e-mail the output-files with an e-mail program as the file attachments through the Internet or intranet to his or her students by using the students&#39; email addresses in the student-file-identifications. 
     Block  600  comprises  FIGS.  5 ,  6 ,  7  and  8    which are used to demonstrate the important, hardware components and their involvement in implementing the embodiment in accordance with the current application. 
       FIG.  5    is a block diagram showing the inputs into the hardware components of a computer and the outputs from them. The GUI  201  shown in  FIG.  2    is a part of the program for electronically grading students&#39; homework or tests. It is built by using a GUI builder of the Visual Basic program and for a user to interact with the computer. Thus, the GUI is a means for a user to give inputs into the computer and to receive outputs from it. 
     A program built with a GUI with a special purpose and stored in a folder of the Visual Basic program is called a project. First, by using the GUI builder, a form window, or a “form” for short, and some necessary objects were placed on the blank desktop (the screen of a computer) and some software codes related the project were written on a separate page on the screen. After the project was completely built, the form, its objects and the software codes were saved in the project folder of the Visual Basic program on the hard disc drive (HDD)  606  of the memory unit  605  of the computer. When the project is being used, it is open from the project folder. As a result, the entire project is copied into the RAM  607 . 
     The objects have some specific functions. For example, textboxes  612 ,  613 ,  614  and  615  (corresponding to the text boxes  202 ,  208 ,  209  and  210  shown in  FIG.  2   ) are for receiving some data inputs in texts like numbers from a computer-keyboard  610 . The GUI builder reserves some memory in the RAM  607  to store data in the textboxes  612 ,  613 ,  614  and  615  when the GUI is being built. Hence, the data in them would be automatically stored in the memory. Furthermore, there will be some instructions and information associated with these textboxes to indicate to the computer (corresponding to computer  401  or  501  shown in  FIG.  3   a    or  4   a ) how to use the data inputs and their memory locations in the RAM  607 . Some objects are called “controls.” For example, radio control buttons  616  and  617  (corresponding to the radio control buttons  203  and  207  shown in  FIG.  2   ) are for users to make some selections in using the data inputs and to tell the computer how to execute the software program. Other control buttons like the “Grade” button  618  (corresponding the “Grade” button  204  shown in  FIG.  2   ) and the “Quit” button  619  (corresponding the “Quit” button  206  shown in  FIG.  2   ) are electronically linked to the software program in the RAM  607  for activating and stopping the program, respectively. 
     The list box  621  (corresponding to the list box  205  shown in  FIG.  2   ) of the output unit  620  is for displaying the results of the grading program. It has some memory reserved in the RAM  607  when the GUI  201  shown in  FIG.  2    is being built by the GUI builder of the Visual Basic program. 
     The output-files are located the RDS  611  of the output unit  620  and for storing the results of the grading program. 
     For implementing Block  400  shown in  FIG.  2   , in regarding to the embodiment with one-scoring weight, the text box  612  (corresponding to the textbox  202  shown in  FIG.  2   , is for entering a number to represent a number of the homework or test. This number was typed in by using the computer-keyboard  610  of the input unit  608 . The grading program will use this number as a data input for calculations in the grading process. In addition, a radio control button  616  (corresponding to a radio control button  203  shown in  FIG.  2   ) will be clicked by using a pointing device  609 , which is also called “a computer-mouse or user-interface device.” By clicking the radio control button  616 , the “clicked” radio control button  616  will indicate to the computer that there was only one scoring weight; hence, the other textboxes  613 ,  614  and  615  (corresponding to the text boxes  208 ,  209  and  210  shown in  FIG.  2   ) are irrelevant, and they can be left empty. At this point, a user can use the pointing device  609  to click the “Grade” button  618  (corresponding to the “Grade” button  204  shown in  FIG.  2   ). After the “Grade” button  618  is clicked, the grading program will be activated. 
     For implementing Block  500  shown in  FIG.  2   , in regarding to the embodiment with two-scoring weights, the text box  612  (corresponding to the textbox  202  shown in  FIG.  2   ) also needs to be filled with a number to represent a number of the homework or test, and the radio control button  617  (corresponding to the radio button  207  of  FIG.  2   ) is clicked to indicate to the computer  501  in  FIG.  4   a    that there are two scoring weights, a text box  613  (corresponding a text box  208  in  FIG.  2   ) is filled with a number with the computer-keyboard  610  to indicate the first scoring weight, and a textbox  614  (corresponding to the textbox  209  in  FIG.  2   ) needs to be filled with a number to indicate the last number of the first group of the homework, and finally, the text box  615  (corresponding to the text box  210  in  FIG.  2   ) needs to be also filled with a number to indicate the scoring weight for the second group of the homework. At this point, a user can use the pointing device  609  to click the “Grade” button  618  (corresponding to the “Grade” button  204  in  FIG.  2   ). After the “Grade” button  618  is clicked, the grading program will be activated. 
     Usually, at the beginning of the program, there are some initialized instruction codes regarding to how to read and write data input. In addition, there are declarations of the types of variables. These variables are located in the RAM  607  shown in  FIG.  5    and used to store information to be referenced and manipulated in the computer program. For example, a variable, “count,” is created in the RAM  607  shown in  FIG.  5   . 
     One major function of a computer is to process data and give output data or information in a form suitable for the user. In doing so, the computer needs to search for instructions written by the user. A set of instruction to accomplish a task is called a program or software program. Thus, the instructions are also known as “program instructions.” An example of a program instruction is shown in  FIG.  6   . Program instructions are stored in the memory of the computer. They need to be found from the memory, interpreted their meaning and the computer needs to perform the act according to their meanings. This process is called “the instruction cycle” or “the fetch-decode-execute cycle.” It is the cycle that the central processing unit (CPU) of a computer follows from boot-up until the computer is shut down. 
     The digital format of an example of the 16, bit, program, instruction mentioned earlier is shown in  FIG.  6   . The program instruction  701  is mainly divided into three parts, namely, the address mode  702 , the operation code (opcode)  703  and the operand  704 . If the digital value of the addressing mode is 0 (zero), then it referred to as direct referencing which means that the operand  704  of the program instruction contains data. However, if the value is 1 (one), then it is referred to as indirect referencing which means that the operand  704  of the program instruction contains the memory address that points to the data. The opcode is an instruction which will be decoded by the decoder of the CU  604  shown in  FIG.  5   . The size or length of a program instruction varies greatly depending on its functions. Processors used in personal computers have the program instruction size between 8 and 64 bits. 
       FIG.  7    is a block diagram of the fetch-decode-execute cycle also mentioned earlier. It is composed of three main stages: the fetch stage  801 , the decode stage  802  and the execute stage  803 . Usually, the program pointer of the central processing unit of a computer points to the first program instruction of the software program, then the computer tries to find it to execute by initiating the fetch-decode-execute cycle. It begins in the fetch stage  801  to find a program instruction stored in the RAM  607  shown in  FIG.  5   . In this stage, the address in the program counter (PC)  804  is copied to the memory address register (MAR)  805 . After that, the PC is incremented to point to the next program instruction. The instruction found at the address described by the MAR  805  is copied to the memory buffer register (MBR)  806 . The instruction in the MBR  806  is then copied to the instruction register (IR)  807 . Finally in the decode stage  802 , the decoder of the CU  808  (corresponding to the CU  604  shown in  FIG.  5   ) decodes the contents or opcode part  703  shown in  FIG.  6    of the program instruction into a command signal or a set of command signals. The final stage of the instruction cycle is the execute stage  803  in which the CU  808  sends the command signal to a selected component, e.g., the ALU  809 . 
     In order to explain some involvements of computer hardware components in implementing the embodiment in accordance with the current application, steps in  FIGS.  3   a - 3   b    of Block  400  shown in  FIG.  1    are used as examples to explain the hardware related the instruction cycle. 
     After the computer  401  shown in  FIG.  3   a    has been attached with RDS  301  shown in  FIG.  3   a    and the grading program has been activated, the student-files and reference-files in the RDS  611  shown in  FIG.  5    (corresponding to RDS  301  in  FIG.  3   a   ) which have been converted into ASCII and are copied into the memory of the RAM  607  shown in  FIG.  5   . 
       FIG.  8    is a block diagram of the CPU of the computer showing the inter-connections of its important components and the RAM  903 . The program counter (PC)  901  (corresponding to the PC  804  shown in  FIG.  7   ) of the CPU is pointing to the address of the program instruction, say, “sr1.ReadLine,” which was corresponding to the instruction: “The 1 st  line of the student-file is read” of Step S 405  shown in  FIG.  3     b.  The address in the PC  901  (corresponding to the PC  804  shown in  FIG.  7   ) is copied into the memory address register (MAR)  902  (corresponding to the MAR  805  shown in  FIG.  7   ). A signal is now sent down through the address bus to the RAM  903 . The CU  909  sends out a memory read signal, and the contents of the address in the MAR  902  are copied through the data bus to the memory buffer register (MBR)  905  (corresponding MBR  806  shown in  FIG.  7   ). If the data fetch stage is an instruction, it will be copied into the instruction register (IR)  910  (corresponding to the IR  807  shown in  FIG.  7   ). As the first instruction has been fetched, the system is at the end of the fetch stage  801  shown in  FIG.  7    of the instruction cycle. The PC  901  is incremented by 1, so the system is ready to read the next program instruction when the next fetch-decode-execute cycle starts. 
     Now, the program instruction needs to be decoded. It is sent though the internal bus to the instruction register (IR)  910 , where it is split into two parts. The first part is the opcode, which, in this example, the bits  11  to  14  of the digital program instruction. After decoding, this is the command signal that the component of the microprocessor will carry out. The second part has the 11 bits and it is the operand. For this case, the addressing mode is 1. Hence, it is an address in the RAM  903  where data will be read from and written to, depending on the operation. For example, the CU  909  translates or decodes the opcode into a command signal, say, “LOAD FROM RAM.” 
     Now, the command signal will be executed. The operand of the program instruction in IR  910  is copied to the MAR  902 . As it provides the address of the data to be loaded, the data at this address is then loaded from the RAM  903  and passed up the data bus to MBR  905 . However, if it is not an instruction but simply data, it is then passed to the accumulator (AC)  906 . This is the end the first cycle of the fetch-decode-execute cycle. 
     In the second cycle of the fetch-decode-execute cycle, the PC  901  is at next program instruction to be fetched, in this example, which is the program instruction for “included an item in the list box in Step S 406  shown in  FIG.  3     b.  The program instruction opcode and operand are placed in the IR  910 , and the PC  901  is incremented by 1 again. The opcode of the program instruction is decoded, while the address in the operand of the data to be acted upon is placed in the MAR  902 . The instruction turns out to be, say, “WRITE TO LIST BOX.” Hence, the address in the MAR  902  is the address of the memory of list box for the data in the AC  906  to be placed back into the RAM  903 . It takes two instruction cycles to read data from the memory and place it back into the memory of the list box. 
     Similarly, in this example, the program instruction, for “store in the output file” in Step S 406  shown in  FIG.  3   b    is fetched, decoded and executed by the same fetch-decode-execute process. The only difference is that the MAR  902  contains the location/address of the output-file. 
     In another example, the comparison of the data in student-file with that of the reference-file in Step S 408  shown in  FIG.  3     b,  The PC  901  points to the memory address that is related to this operation. Then, this address is copied into the memory address register (MAR)  902 . A signal is now sent down through the address bus to the RAM  903 . The CU  909  sends out a memory read signal, and the contents of the address in MAR  902  are copied through the data bus to the MBR  905 . As the data fetched is an instruction, it is copied into the IR  910 . After the first instruction has been fetched, the system is at the end of the fetch stage of the fetch-decode-execute cycle. The PC  901  can be increment by 1, so that the system is ready to read the next instruction when the next fetch-decode-execute cycle starts. 
     Now, the data needs to be decoded. It is sent through the internal bus to the CU  910  for being decoded. So, here the CU  910  translates the opcode into a command signal, say, “LOAD FROM RAM” instruction. Next, the command signal will be executed. The operand is copied into the MAR  902  to provide the address of the data to be loaded. The data at this address is passed up the data bus to the MBR  905 . If it is not an instruction but simply data, it is passed to the AC  906 . This is a completion of the fetch-decode-execute cycle. 
     In the second fetch-decode-execute cycle, the PC  901  now holds a new address, so this is the address of the next program instruction to be fetched. The instruction opcode and address operand are placed into the IR  910  from the MBR  905 , and the PC  910  increases by 1 again. The opcode of the program instruction is decoded, and address in the operand is placed into the MAR  902 . The opcode is decoded and turned out to be, say, “COMPARE,” which is command signal to instruct the computer to compare two pieces of data. Then, the new data in the address of the MAR  902  is fetched from the RAM  903  of the address provided by the MAR  902 . The new data is eventually ends up in the AC  906 , along with the results of the previous instruction cycle. The two values of data in the AC  906  are passed into the ALU  907 , where they can be compared, as it is instructed by the opcode. The ALU  907  now acts as a digital comparator. If the result of the comparing is equal, the status register  908  has the value of 1 (one), if the digital comparator is made of AND logic gates. 
     In the third fetch-decode-execute cycle, the PC  901  holds a new address in the RAM  903  for a program instruction to add the value in the variable, count, which is located in the RAM  903 . It is for keeping track of the score of the correct answers of the homework. 
     In the ensuing fetch-decode-execute cycles, the total score in the variable counter is then calculated for percentage, letter grade by the ALU  907  which now acts as a multiplier and divider. Finally, the end results are stored in the list box, and output-file. 
     However, if the result of the comparing in the second fetch-decode-execute cycle in not equal, the status register  908  has the value of 0 (zero), and the correct answer in the reference-file is copied into the memory of the list box and the output-file. 
     The fetch-decode-execute cycle continue until the end of the student-file. 
     ADVANTAGES 
     From the description above, one can visualize a number of advantages of the embodiment described in the current application. The advantages include: 
     (a) The grading software in this embodiment has a GUI which gives teachers some conveniences in using a computer to grade students&#39; work. By a click of the computer-mouse, they can start, stop the program, or apply different-scoring weights effortlessly to calculate the scores to reflect the degree of difficulties of homework questions. 
     (b) The grading software in this embodiment doesn&#39;t need editing or modifying to grade students&#39; work from different classes. As a result, teachers with little or no programming skills will be able to use this grading software. 
     (c) The grading software in this embodiment can score textual answers. Students will be able to send their answers in texts to their teachers for electronically grading. Thus, it will eliminate the requirements of using multiple-choice questions and answer sheets. 
     (d) The embodiment described in this current application help teachers finish grading their students&#39; homework sooner. As a result, students will get their graded homework back before they will forget all about what they did in the homework. This will enable students to dissect their wrong answers so that they learn from their errors. 
     (e) The embodiment described in this current application gives feedbacks in the forms of graded homework for informing students about their efforts in doing homework and understandings in the subjects being taught. 
     (f) The embodiment in this current application greatly reduces teachers&#39; time in grading students&#39; homework. 
     (g) The embodiment in this current application gives teachers more time to write lesson plans. 
     CONCLUSION, RAMIFICATION AND SCOPE 
     Accordingly, one will see the methods for grading scholastic work of this embodiment can be used to grade students&#39; work with less time, easily and conveniently. Teachers don&#39;t need to get online to post their homework on database servers. As a result, they will not waste their time in making homework questions necessary for posting on them. The embodiment of this current application has the additional advantages in that: 
     (a) The cost of an implementation of this embodiment is very low. Most schools can afford to use this grading software, because most of the computer programs for this implementation are free. Some software like the text editor, Notepad, comes with Microsoft Windows Operating System. If students do not have the Microsoft Windows Operating System in their computers, they will be able to get it for free by downloading the Notepad from the Internet. They will need this text editor to make the plain text files of their answers to questions in homework. Fortunately, they won&#39;t have to pay money out from their own pockets to buy this text editor. 
     (b) Other components for the implementation are also inexpensive. Regular personal computers or existing computers in the schools can be used or re-purposed for this implementation. 
     Although the embodiment of the current application for a patent has been disclosed in details and contained many specificities, these disclosures should not be construed as limiting the scope, but as merely providing some illustrations of several, other embodiments which are apparent to people who are skilled in the art. For example, teachers can store student-files and reference-files in different, document folders in the word processors in teachers&#39; computers instead of storing them in many RSD&#39;s. Teachers can use several e-mail accounts to receive e-mails from their students to avoid sorting out students&#39; e-mails. The grading software can also have more than two, different, scoring weights. Thus, the scope should be determined by the appended claims and their legal equivalents rather than by the embodiment disclosed.