MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues.
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)
Teacher's helper, student's friend (Rainbow 1981-09)
WELCOME |
---|
Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al |
See Recent Changes. | About this site. | Join the E-Mail List or Facebook Group. | Contact me with updates/questions.
This page was last updated on 11/5/2020. Total Pages: 744. Total Files: 994.
Home / Publications / Rainbow / Rainbow 1981 / Rainbow 1981-09 - Teacher's helper, student's friend (Rainbow 1981-09)
For the teacher amongst us, GRADER can be a reaI boon!
However, we would also emphasize that GRADER can easily be adapted for keeping up to date records on a single student. By using GRADER, the student would be able to chart his or her progress throughout a grading period and know where he stands at all times. It’s also a good way for parents to keep track of how a student is doing.
We will go through GRADER part by part so it will be easier to adapt It, if necessary.
Lines 10-25 initiate the program and ask for the type grade you will be compiling, Because, in our use, the reading grade only has daily averages, we wrote a special routine for reading grades at lines 600-780. This could be your whole program if all grades are weighted the same.
Lines 60-110 and 120-180 do the actual computation of grades. Since this particular program was written for third grade level, there are a lot of children who make 100's, especially on daily work. To eliminate the tedium of entering all those 100's, we added the subroutines 340-380 and 390-430 to make the inputting of 100's much easier. This really cuts down on the time it takes to enter the grades.
We chose to enter the grades as a string and then take the value of the string so we could assign the word "end" to break out of the grade input loop. While it would have been just as easy to use something like "IF S>150 GOTO 110" and then use any real high number, it seemed easier to use an easily-recognized word to break out of the loop.
Please also note lines 70 and 140. These take care of mistakes. If an incorrect grade is entered, just enter the incorrect grade again as a minus. That not only reduces the total by the incorrect number, it also reduces the number of "chances" by one, lines 110 and 100 take the average of the types of grades.
Line 190 is where the allocation of weight to the types of grades is made. In this instance, teats are worth one-third and daily work two-thirds. These percentages are easily changed to heat whatever needs you have.
The remainder of the program is devoted to the printout. Quite a bit of attention was paid to this because, in the situation for which it was written, a great many students are "traded" for either enriched or remedial work. The printout, including the name, subject, number of "chance," total points and number of 100's constitutes a full report to the student's "home" teacher. It means once the grade are computed, than do not have to be re-recorded elsewhere.
Also, to make life easier, the program is set to "form feed" for a 66-line piece of paper. This mikes the whole report easier to deal with.
There are certain economies which could have been employed to save memory space, particularly in the printout image statements, but, since this program fits very comfortably in 4k, we did not see that as necessary. Of course, you need Extended Color Basic to use the PRINTUSING statement, but. If you do not have that, it is easily convertable.
The listing:
2 '********************** 3 '* GRADER 2.1 * 4 '* (c) FALSOFT 1981 * 5 '********************** 10 PU$="GRADE" 20 INPUT "SUBJECT";UP$:SB$=UP$+PU$ 25 IF UP$="READING" THEN 600 30 CLS 40 INPUT "STUDENT'S NAME";A$ 50 GOSUB340 60 INPUT "enter DAILY SCORE (OR END)";S$ 70 IF S$="END" THEN 110 75 S=VAL(S$) 80 IF S<0 GOTO 320 90 N=N+1:D=S+D 100 GOTO 60 110 Z=D/N:CLS 120 GOSUB390 130 INPUT "enter TEST SCORE (OR END)";T$ 140 IF T$="END" THEN 100 145 T=VAL(T$) 150 IF T<0 GOTO 330 160 M=M+1:B=T+B 170 GOTO 130 180 Y=B/M:CLS 190 X=(Y*.334)+(Z*.666) 200 CLS:PRINT 205 IF LC=4 THEN PRINT#-2, PRINT#-2,"":LC=1:GOTO210 207 LC=LC+1 210 GOSUB400 220 PRINT#-2,"" 230 PRINT#-2,"DRILY AVERAGE ",:PRINT#-2,USING"##.##",Z 240 PRINT#-2,"TEST AVERAGE ",:PRINT#-2,USING"##.##",Y 250 PRINT#-2,CHR$(31);"GRADE AVERAGE ";:PRINT#-2,USING"##.##",X:PRINT#-2,CHR$(3 0) 260 PRINT#-2," FOR YOUR INFORMATION..." 270 PRINT#-2,"":PRINT#-2,"DAILY PAPERS";:PRINT#-2,TAB(13);:PRINT#-2,USING"##";N;:PRINT#-2,TAB(18)"POINTS";:PRINT#-2,TAB(23);:PRINT#-2,USING"#,###",D;: PRINT#-2,TAB(29)"......(Student made"N"100's on dally work)" 280 V=N+M:F=D+B 290 PRINT#-2,"TOTAL TESTS";:PRINT#-2,TAB(13);:PRINT#-2,USING"##",M,:PRINT#-2,TAB(18)"POINTS";:PRINT#-2,TAB(23);:PRINT#-2,USING"#,###";B;:PRINT#-2,TAB(29)"..... (Student made"K"100's on tests)" 300 PRINT#-2,"CHANCES";:PRINT#-2,TAB(13);PRINT#-2,USING"##";V;:PRINT#-2,TAB(18)"POINTS";:PRINT#-2,TAB(23);:PRINT#-2,USING"#,###";F 310 GOTO 448 320 N=N-1:D=S+D:GOTO60 330 M=M-1:B=T+B:GOTO130 340 INPUT "NOW MANY 100'S DID THIS STUDENT MAKE IN DAILY WORK";N 350 Q=N*100 360 N=N+H 370 D=Q+D 380 RETURN 390 INPUT "NOW MANY 100'S DID THIS STUDENT MAKE ON TESTS";K 400 Q=K*100 410 M=M+K 420 B=Q+B 430 RETURN 440 PRINT#-2,STRING$(8O,"*") 445 PRINT#-2,CHR$(18)""CHR$(38) 450 PRINT#-2,"" 460 N=0:D=B:Z=0:S=0:T=0:M=0:B=0:Y=0:X=0:V=0:F=8:Q=0:K=0 470 GOTO30 480 R=LEN(SB$):C=42-A:PRINT#-2,CHR$(31);TAB(C/2)S0$ 490 PRINT#-2,CHR$(30);TAB(37)"FOR";CHR$(31) 500 A=LEN(A$):C=40-R:PRINT#-2,TAB(C/2)A$;CHR$(30) 510 RETURN 600 CLS 610 INPUT "STUDENT'S NAME";A$ 620 COSUB340 630 INPUT "enter DAILY SCORE (OR END)";S$ 640 IF S$="END" THEN 680 643 S=VAL(S$) 650 IF S<0 THEN N=N-1:D=S+D:GOTO630 660 N=N+1:D=S+D 670 GOTO630 680 Z=D/N:CLS 690 GOSUB400 700 PRINT#-2,"" 710 PRINT#-2,CHR$(31);"GRADE AVERAGE ";:PRINT#-2,USING"##.##";Z 720 PRINT#-2,CHR$(30) 730 PRINT#-2," FOR YOUR INFORMATION..." 740 PRINT#-2,"":PRINT#-2,"GRADES";:PRINT#-2,TAB(13);:PRINT#-2,USING"##";N;:PRINT#-2,TAB(18)"POINTS";:PRINT#-2,TAB(23);:PRINT#-2,USING"#,###";D;: PRINT#-2,TAB(29)".....(Student made"N"100's on daily work)" 750 N=0:D=0:Z=0:S=B:Q=0:H=0 760 PRINT#-2,STRING$(80,"*") 770 PRINT#-2,"" 780 GOTO600
Links
See this article as it appeared in the magazine
Virtual disk with programs from Rainbow magazine 08-1981: File:Rainbow 1981-09.dsk