-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTo Do
1243 lines (857 loc) · 51.3 KB
/
To Do
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Demo Teacher:
demopass
Demo Student:
lh258
lh258
BUSINESS / MARKETING TO-DO'S
Look at Allen Maxwell's Snowbird app to see if I can help him to improve his code
See if pagination loads all rows before index view, or if it only loads one page.
If so, his app can be made far smoother with queries.
Find other collaborators
It seems I've reached a point where it's foolish to continue all this work that I'm doing on my own. Is it time to seek other teachers to help develop study guides and lesson plans?
Is it more important to seek additional software devs to get the site up to speed?
Is it more important to seek investors so that I can pay salaries to the other people who are helping?
Lately, I'm feeling more like the GoalTracker feature might be more useful to a wider variety of teachers. (At least, it might be more useful sooner). Spreading that feature is
a more attainable goal than spreading the DeskConsultants feature. Is it foolish to change the main business plan at this point? If I do change the plan, how does that affect
my decision for proceeding with content writers, coders, or investors?
How about this plan:
Continue developing GoalTracker myself until next spring.
In Spring, pursue opportunities to spread the work to other teachers. Get a few more teachers using the app and giving feedback.
Then I'll have something to pitch to companies/investors
Content takes a backseat, because it isn't very useful for GoalTracker, only for DeskConsultants. Only develop what I need for my own students.
Look into Investors
Angel Investors seem like the best route to pursue at this point
First, cover expenses such as Certification and Hosting
Then try to secure funding to pay coders and content-creators
If possible, use some funds for marketing
Make the landing page do a better job of explaining and selling the app
Make three videos
One to explain the need for this app
One to explain the evolution of why it needs to work this way
One to show samples of the app in action
Upload videos and link to them on social media
Look at which teacher's forums I should have a presence on
Tag other teacher's related profiles on Twitter
Connect on LinkedIn
Private Repo on Github
Keep reading at
https://devcenter.heroku.com/articles/ruby-memory-use#why-memory-errors-matter
Instance ID i-054caa3fa55680a24
IP Address 34.207.161.220
Subnet ID subnet-651f5a4b
2.92 Students_Needed in Code
Replace any uses of old students_needed method with column
Tests
Erase method
answer_quiz_randomly should only answer the quiz. Not begin it.
Fix terminal prompt to show current branch
Fix git both links
/home/ubuntu/.rvm/gems/ruby-2.6.0/gems/will_paginate-3.1.0/lib/will_paginate/view_helpers/link_renderer.rb:27: warning: constant ::Fixnum is deprecatedime: 00:08:16, ETA: 00:01:41
2.93_DIFFERENT_KEY_TYPES
V Make three different key icons.
V Show them in the student's key pool.
V Clicking on a key removes that TYPE of key from the student's holdings.
V Now check keybox updating for a whole class at a time.
Get in the habit of precompiling before pushing to heroku
FAIL["test_choose_consultants", Minitest::Result, 231.56674220700006]
test_choose_consultants#Minitest::Result (231.57s)
Expected false to be truthy.
test/integration/consultancies/consultancies_show_test.rb:335:in `block in <class:ConsultanciesShowTest>'
******************************************
IMPORTANT UPDATES FOR SUMMER 2019
******************************************
Errors, fixes, and tests (see below)
Tests to Add
Market suggestions from Mr. Korn
Solid plan for public objectives and questions
Huge list of labels for questions
Write Update Plan
Default Term Date Plan
Materials Site (Easier browsing of all study guides)
Teacher-graded questions
Objectives need official names and catchy names
Allow for teachers to see and edit student passwords
Small, important visuals
Consultant points as a method of determining consultant topics
Desk Consultants Improvements (See Below)
Key improvements
Return student requests
Multiple-correct questions
Reports for quizzes and unused keys
List of missed questions
Quiz Editing
Edit Questions
Spiral Review
“I don’t want the rest of my keys to this objective”
Sign up Mr. Z School to receive BAT
End-of-term Stuff
Archive Classes
****************************************
UPDATE WISHLIST, SUMMER 2019
****************************************
Less-important small fixes
Better objective suggestions
Dojo-style currency-giving
Hall pass app
Student can start quiz by clicking keys
Add multiple, already-existing students to a class at once
Objective Permissions
Consultancy Back-tracking
Teacher Adjusting Consultancy
Archive a class at the end of a school year
Slunk
WRITE UPDATE PLAN
Make a plan for how to roll out updates after more users are using the apps.
DEFAULT TERM DATE PLAN
Plan to update default term start and end dates each year
Give mentor teacher a notice if the school's term dates haven't been set.
MAKE A SOLID PLAN FOR TEACHERS WHO WANT TO USE PUBLIC OBJECTIVES
But maybe they don't want to use other teacher's questions.
Also, look into what happens with a public objective that uses private labels.
Maybe don't allow public objectives to use private labels
Likewise, public labels shouldn't use private questions
CURRENT TERM SCORES
Bugs are going to happen with current implementation, using a column model when other classes might be set to different terms.
Probably need to make a method that picks out the quiz scores.
Quiz will need a “date completed” column, so it isn’t just going on the “date updated” column. This approach will allow for
QUIZ EDITING
Teachers need to be able to update scores for students questions and quizzes
Would be really cool to offer the option to add the student's answer to the list of acceptable answers
HUGE LIST OF LABELS FOR QUESTIONS
Best solution brainstormed so far is to make a "label-viewer" mini-app.
Whenever labels need to be chosen, show that app.
It will expand and contract the list based on some choices.
The current method of choosing labels is sloppy and cumbersome
Current idea is to bring up a section when the user pushes "Choose Label"
The pop-up offers all the labels, better organized
Ideally, the window would be a pop-up. But not until I get better at testing javascript
ERRORS, FIXES, AND TESTS
Reinstate javascript testing
Fix vulnerabilities that are noted in e-mail
Using stars toward grade isn't working
Live site has errors in student searching. It occurred when trying to add Melissa Suess to 7th period
Update or remove all skipped tests
Worksheet didn't seem to attach when an admin created a new worksheet while attaching.
Can I learn how to test file uploads in a reasonable time?
Test that a "user" is added to a worksheet as it's uploaded
Shrink picture for apple, label, etc. They should all be the size of the key.
Figure out how to make the link to be the color that I've asked.
In the meantime, I think I acutally like the blue background for tables with a list of files
The list of all files, accessed through the content page, needs at least one of these two solutions:
Either fix the color of the link text, or put a background color on the table. Or both.
There is a block in the D/C algorithm that probably has no effect
Right now assets compile is set to true. This was a solution to images not appearing in heroku.
But the article mentioned that this causes a performance slowdown. So keep looking for better solutions.
A teacher's Class list is showing all classes, even before invite is accepted.
Could probably use a better line than this one: assert_no_text("Teacher Since:") when testing redirection to profile.
Button should say "Finish Quiz" if it's on the last question.
Look into adding multiple records at once with rails and SQL.
If possible, add new ObjectiveStudents this way
The sign-up screen looks like crap
Don't show zero-priority objectives in suggestion list
Should check for assign_permission on the back end to prevent url hacks
Not allowing me to remove 3-2 as a pre-req from 3-3
If student buys item that sold out after he loaded page, it appears to student that purchase is working.
This tutorial looks helpful for fixing the problem:
https://www.tutorialspoint.com/ruby-on-rails/rails-and-ajax.htm
README for loading only specific jquery-ui components.
https://github.com/jquery-ui-rails/jquery-ui-rails
If a teacher signs in, but doesn't have a school, send them to school-choosing view
Test and re-route for incomplete school info
Admin should be able to destroy students
And schools
But what happens to students and teachers when their school gets destroyed.
This can probably wait for awhile
Deleting a consultancy from its own show page isn't working right now.
Block access to goals until a distant future update when the functions related to goals can be improved.
Can erase most of the javascript for choosing goals, targets, checkpoints, and achievement
Or maybe not, since I'll need to replace the best-in-place to get my tests working.
Either that, or I need to update my tests to RSpec
Repeated apple icons need to be different icons
Searching by student number threw an error
Set_objectives_and_scores should be a model method so that it can be better tested
Index of consultancies should show created_at
So I can get rid of display_date
Make sure last_consultant_day also works by created_at
Remove 'hide_scores' from the javascript
Note for the user that an objective cannot be deleted from a class if it is a pre-req for an other objective. Also note which objective we’re talking about.
Check whether dialog5 is still needed
See if this bit of scss should be re-inserted:
.field_with_errors {
@extend .has-error;
.form-control {
color: $state-danger-text;
}
}
If a due date is updated to something that isn't a date, back-end needs to change that.
Remove references to 'class_and_edit'
Replace "spacer" and "small_spacer" with padding
Switch the image and text on big links
"Teacher Since" should move to the teacher-editing screen
Resetting points_this_term should set them to nil, not zero.
Warning that running DC again will delete the previous arrangement from the same day.
Cannot delete a teacher because of the hanging commodities
Navmenu on the quantities is weird
Need a navmenu when giving keys to a whole class
Option to mark consultancy permanent without giving keys
Or better yet, just don't give keys for objectives that have no questions.
You could install the exception notifier, which will send you an email for every 500 error including a full stack trace.
When choosing pretests, the objectives should be listed in order by name
Show the number of questions that each objective has
Big link should probably show the icon before the text
Undefined method 'order' when searching for objective
Error upon admin saving new objective
Updating question quantities should give a flash message
Pictures Index needs pagination
Confirm removing <Seminar 1073514> from your classes
Fill-in Questions need at least 8 answer choices
Update seminar_bucks_earned or school_bucks_earned each time a new currency is added
Or when an item is purchased
Refer to those when loading the view
When editing objectives, etc reroute to objectives index instead of profile
Links are hard to see after used
I think it does take away pretest keys if a class is set to no longer be a pretest.
But does it do the same if the objective is removed from the class entirely?
Giving pretest keys should be based on whether the student already has a pretest score.
To prevent weird things from happening if a student is enrolled in two different classes and the teacher takes away a pretest.
Or if any teacher takes a pretest then gives it back, we don't want to give those students new keys to complete.
Can I re-name the "present" attribute of the seminar student? That's already a ruby word.
For the sake of performance, the method "set_pretests" should only be called when pretests are changed. Right now, it is getting called when
anything about the seminar is changed.
Check pagination everywhere it occurs
Don't block the "Desk Consultants" icon when it isn't availble. Instead, re-route to a screen that explains what is needed.
LESS-IMPORTANT SMALL FIXES
Dry up the four buttons shown in the bottom of seminar navigation
See what pages they should be included on
Note that Mr. Z school recommends against naming a commodity "Star" or "Gem"
MARKET
Mark fewer items delivered in school market
Or mark all items delivered in school market
- The units of money should not use the dollar sign. Instead, I think it would be good to either use a letter 'Z' with a line through it (every dollar is called a Z buck) or letting the teacher choose from various symbols for their own dollar.
- Using decimals (at least 0.25 and 0.50). Actually this suggestion came from a student of mine who thought that the MrZ Marketplace would be a good way of teaching and learning decimal operations
(I think I might have already implemented the next three)
1. Buttons for school only on profile page
2. Classes have option to see purchased items for that specific class
3. Visually separate the buttons in the teacher view
CONSULTANT POINTS AS A METHOD OF DETERMINING CONSULTANT PLACEMENT
Need to rework the sytem so that students don't get blocked off from being consultant until they
have already been.
DESK CONSULTANTS IMPROVEMENTS
Don't place an apprentice who has 80 or 90, but do allow placing an apprentice who has 60 or 70.
Probably try that as a last resort, though.
Continue trying to avoid placing a consultant who has scored 100
But allow it, if needed. That will help the algorithm be more thorough.
Make sure to offer extra points to students who end up in that position.
Go by these numbers, not seminar.consultantThreshold
Instead of iterating through apprentices, iterate through the groups and find an unplaced
apprentice to put into the group.
This should better use the consultants who were chosen.
And minimize the need for replacing those consultants into different groups.
No assigning students to topics where they already have keys
DON'T assign a student to a topic if she already has any keys. Right now it's set to do that as a last resort. But that doesn't work when doing D/C sessions two days in a row.
With this change, I might also need to adjust the way that it looks at needed students. So that Sasha wouldn't be counted as somebody who needs that topic.
Desk Consultants should have “Max Group Size” for topics such as Chess.
There should also be Max Number of groups, so that I don’t end up with more than four groups doing chess when I have four boards.
DC should NOT go back and place students into groups if they've already passed the objective. New learning is more important than having a group
KEY IMPROVEMENTS
When students take a paper quiz, the keys should go away after the score is entered
Term-changing needs to offer getting rid of teacher keys, dc keys, and unfinished quizzes.
Updating a pre-test shouldn't give keys to students who have already assessed in that objective.
Don't give keys for quizzes that have no questions
BETTER OBJECTIVE SUGGESTIONS
Keep track of which objectives are not good for doing outside of a D/C environment
BROWSING OF ALL STUDY GUIDES
Teachers can browse all study guides
Should check for assign_permission on the back end to prevent url hacks
Figure out why D/C sometimes throws an error.
Not allowing me to remove 3-2 as a pre-req from 3-3
Term-changing needs to offer getting rid of teacher keys, dc keys, and unfinished quizzes.
Updating a pre-test shouldn't give keys to students who have already assessed in that objective.
Fix git remote address
Erase skipped tests
Live site threw an error in 6th period. Insert/Update violates foreign key constraint. Trying to add a student to a team.
Index of consultancies should show created_at
So I can get rid of display_date
Make sure last_consultant_day also works by created_at
2.89 SMALL, IMPORTANT VISUALS
When editing a question, the box prompt is way too small.
Edit quantities and point values screen is cluttered.
Log out/log in needs some padding from the edge.
Icons should be the same size.
Can I fix the way that icons overlap button when user zooms in?
Submenu buttons should be equal size
The colors are too busy with all the different buttons.
Basic Info Icon doesn't make sense.
Submenus needs a ribbon or something to set it apart.
Don't need the edit button below teacher's name
Page to update pretests for a class should list those objectives in order
Footer message should be random like the header message.
Links are hard to see after used
TEACHER-GRADED QUESTIONS
Quizzes that have no questions shouldn't give any stars at all.
Shouldn't even allow the student a response.
Even after I make the update that allows for teacher-graded questions, this will still be an issue
Because quizzes like rotations still cannot be submitted online. For now.
Prevent user from deleting an objective from a seminar if that objective is a preassign for another.
That's why some objectives cannot be deleted. I need to find out what they're pre-reqs to.
I think the DC algorithm is working a little too hard not to place a consultant who has scored 100.
But don't fix that until after I implement consultant stars
It was really struggling to make the seating map in Coding Class, where the pre-reqs are really stacked.
"Create New Students" button should show up on the class edit page
ALLOW FOR TEACHERS TO SEE AND EDIT STUDENT PASSWORDS
Add a "student_password" column to user.
This credential can be used to log in for students. It can be seen and edited by the teacher.
Login method checks for authenticate on regular password, then for a match on student password
Will need to link teacher to edit passwords from student edit page
Would be nice if first page leads teachers to the printable version, but that page also has a link to edit all usernames and passwords at once
I took away references to seminar.shouldShowConsultLink.
add some info to explain to teachers that it is needed to use DeskConsultants
Move one_unfinished check to obj_stud
Then put that method back into user.quiz_collection
Are the sponsors affected by the fact that classes allow multiple teachers?
Look up whether my architecture will work better if change the model instead of using a column in the join table
Seminar :has_many :pretest_objectives
This approach seems like I can ruby some things a lot better
OBJECTIVE PERMISSIONS
Ensure unauthorized user cannot edit objective
Set permissions for all actions
Alternate display if there isn't edit permission
Messages about not editing public objectives need to appear in all submenus.
There should be a direct link to quantities
Show extent even if user cannot edit
Unskip all of the objective-viewing tests
How does the message work no for objectives that have no labels?
Don't give consultant keys for an objective that has no questions
When adding keys to an objective, if a class doesn't include the objective, user gets message
"Doesn't include this objective"
Would be nice if there were a button to add the objective.
CONSULTANCY BACK-TRACKING
Don’t allow teacher to run a new consultancy in the same day if it’s already set to permanent.
Make this clear.
Make an option to delete the consultancy.
This needs to be implemented in a way that takes away student keys and resets the last consultant day.
Should there be a note to remind teachers to mark students as consultants?
HALL PASS APP
Student enters number.
Screen shows who is using the hall pass.
(Tracks time somewhere)
Flashes red if student has already used hall pass twice this week.
Or too many times in a term.
SLUNK
Manage a class game of slunk
RETURN STUDENT REQUESTS
Update consultant days when student changes her preference request
Update pref_requests to work by -1, 0, 1
Updating through request screen
Existing SeminarStudents
Set request to nil if teacher changes an objective to priority zero.
Make sure that the student's request is present in the seminar
When student changes class
When objectives are removed from a seminar
Update student requests if pre-reqs change
This only matter if pre-reqs change after the request is made.
Highly corner case, but worth a small update.
took away the line in the desk consultants algorithm that checks whether an apprentice is ready for her
request.
STUDENT PURCHASED ITEMS
Buttons for school only on profile page
Classes have option to see purchased items for that specific class
Visually separate the buttons in the teacher view
OBJECTIVES NEED OFFICIAL NAMES AND CATCHY NAMES
Display the official name on a pre-test
And in the Objective index
Option to change in objective index
Display the catchy name in desk-consultants and teacher-granted quizzes
EDIT QUESTIONS
Edit multiple questions at once
Show more of the question prompt in the index
And less space between questions
Show the number for the question so that it can be searched more quickly when there's a small error in one question
PRE-REQS OF PRETESTS
If an objective is a pretest, then its pre-reqs also need to be pretests
MAIN TEACHER CAN REMOVE OTHER TEACHERS
Main teacher needs to be able to remove other teachers from a class
COMMODITY CONTROLLER PERMISSIONS
Finish controller permissions to ensure authorized access to commodities
And they should probably be dried as well
Objectives can be marked as a "non-standard" assessment.
If so, it will skip those objectives when assessing readiness during a pre-test
It will still consider those objectives for readiness for the rest of the school year
DELETE COMMODITIES
Still needs to maintain a record of the commodity_students purchased. At least until database maintenance.
STUDENT CAN SEE A REPORT OF ALL BUCKS RECEIVED
TEACHER CAN SEE A REPORT OF ALL BUCKS GIVEN
REMEMBER WHETHER TEACHER WANTS TO SHOW "ALL OBJECTIVES" OR CURRENTLY-USED OBJECTIVES
TEACHER CAN CREATE COMMODITIES FOR A SINGLE SEMINAR
Mentor teacher can create new teachers who are automatically verified
All of these admin teachers can create new students without placing them into a class
Only stars and gems will offer the use button
Teacher can allow and disallow the use of stars and gems in a specific class
Cannot delete star or gem commodity
Teacher can edit her individual commodities
Teacher can open and close availability for certain commodities
Don't allow teacher to delete stars
WATCH FOR DELETIONS THAT AFFECT OTHER USERS
For example, if you try to delete an objective where other teachers' students have taken quizzes.
Might need to have an alternative to deletion, such as archiving, or hiding.
TEACHER CAN TAKE CLASS CURRENCY (IN CASE OF A MISTAKE)
Admin teachers can create new students without placing them into a class
Teacher can make a comment while giving some currency
Currency moves with student if student changes classes
Teacher can give bucks to whole class.
Screen that allows unchecking boxes from certain students
Custom controller action that loops through whole class
ADMIN CAN SEE CURRENCY REPORTS FOR STUDENTS AND TEACHERS
LEVEL 2 ADMIN CAN GIVE TEACHERS MORE BUCKS
LEVEL 2 ADMIN CAN REMOVE A TEACHER FROM THE SCHOOL
aqui
aqui
QUIZ FINISHING
Show the number of keys left in the quiz report
If student has scored 100, then end-of-quiz message reads, "You have scored 100% on this objective. There is no need to take the quiz again."
GEM MARKET
Students can buy gems
Gems can be used toward class reward
Gems can be sold back to the market
Teacher can see account values for whole class
Account values screen includes commodities owned and the total value
Screen to keep track of progress toward reward
Teacher can name the reward
Allow teacher to reset reward
Re-establish new reward target based on number of students in class
Allow teacher to customize whether stars and gems can be used in their class
But many commodity attributes need to be set school-wide
(The main reason to focus on prices school-wide is to reduce competition within a class period)
Change the supply (number per student per term)
Standard price
Day when new items are released
Limit teachers to the number of bucks they can give
Based on number of students that teacher has
School-wide leaderboard of most class currency
(only tracks savings account, not commodities)
Only shows bucks from current term.
Class-wide leaderboards of most class currency
Allow a commission on specific classes to change the difficulty compared to other classes
Students gain daily interest on their savings accounts
Future update:
To make the game more fair for students who arrive late, I would like to reset the leaderboard at some point.
This will also reign in students who begin making ridiculous levels of interest
But resetting the leaderboard means that I need to set everybody to zero assets.
How do I do that without robbing students of what they've accumulated?
FLUCTUATING PRICES
Prices of stars and gems fluctuate based on supply in market
current_price is updated daily
Each item has a standard price.
Item's price will equal standard when the supply in the store equals that item's standard supply.
I think standard amount should equal about five weeks worth of production
Current price is updated daily. (so that first period doesn't have a huge advantage for being able to buy first)
Current price is based on standard supply / current supply * standard price
Add a flat amount to each to ease the spike on ridiculous price increase
Flat amount is 10% of standard supply
Examples
Standard supply 600 (120 x 5 weeks)
Current supply 900 (Students have bought hardly anything for 2 1/2 weeks)
700 / 1000 = 0.7 * 5 = $3.5
Current supply 200
700 / 300 = 2.3 * 5 = $11.67
Triple the standard is maximum price
Students or whole classes can opt out of the price fluctuations.
The default is to be opted out.
MORE DETAILED REPORT FOR STUDENTS TO SEE HER SCORES
Also, stop putting students as apprentices where they have passed the objective at the consultant threhold.
At the end of a quiz, DC needs to offer students “I don’t want to use the rest of my keys”
There's too much space with all he headers and stuff at the top. Condense that.
END-OF-TERM STUFF
Give teachers an option to delete unfinished quizzes at the end of a term.
This will prevent students from finishing quizzes that they started in a previous term
In the same view, also give teacher the option to erase keys
This will only erase teacher keys and dc keys. Not pretest keys
TESTS FOR UPDATING SCORESHEET
Alert teacher if she's leaving with unsaved changes.
NON-QUIZ OBJECTIVES
Some objectives, such as paper cranes and tessellations, won't ever offer a quiz.
So there shouldn't be an option for quiz keys.
And they should be skipped on the student's quiz offerings.
TESTS TO ADD
Deleting a picture
Searching
Right now there's not empty message when there's a student from another school that could show up.
Make sure Admin can find all students
Deleting a consultancy deletes its teams
Test that incorrect user cannot delete any records from models with correct_owner function
Ensure that database inputs are sanitized
Test failing at creating a record, then fixing it. Needs to apply to creating a new record and also to editing an existing record.
Objective
Label
Picture
Question
The current extent of an item needs to be checked by default
Objective
Label
Picture
Question
Add enough question fixtures to test pagination in index
Same with labels
objectives
Students
Users
The piece of the DC algorithm that places straggling students should also check for the priority of the learnrequest, and whether the student has passed preReqs
If teacher reached "Create New Objective" through a seminar view, re-route to that seminar. If not, re-route to user page.
Test that consultant_days doesn't include other seminars
Test that a limited number of groups are created if many students are qualified to connsult.
With priority 3's
And total consultants
Are_some_unplaced test failed once, but it usually passes. I think it failed because @student_10 became a consultant, so he wasn't in the unplaced group.
Test that checkpoints are displayed in the correct order?
Navigating Seminar_Student view. Certain fields should be visible/invisible
Test the navribbon in the seminar edit view.
I tried writing tests for the navribbon in the student class page, but the visible tags weren't working in the capybara tests.
Student using the sub-tabs to navigate the seminar_student view
Mr. Z School needs to test a student visiting when there is a teacher comment.
Should I enforce that term start and end dates are sequential? I think I should
Test that absent students cannot be chosen as consultant
Need a test to check the correct amounts displayed for quiz results
Correct label for stars for pre-test and normal
Correct amount of stars for pre-test, normal, and second try
Make sure that default password is equal to username.
Make sure that teacher can change password.
Or maybe just reset it.
Desk consultants test need to ensure that no request go with a student who isn’t qualified for that request. Or even better, change the request when readiness is changed (which happends after pre-reqs are changed).
ALLOW QUESTIONS TO HAVE MULTIPLE LABELS
Quia had that aspect right. I should be able to edit a quiz to have
Name the coordinate with two non-zero values
Name the coordinate where the x-value equals zero
Name a point given the coordinate with two non-zero values
Name a point given the coordinate where the x-value equals zero
If I allowed for multiple labels on question, I could meet all of these ideals
without having to author four different labels
INCLUDE PARENT E-MAIL FOR STUDENTS
E-mail students when a checkpoint deadline is coming up
Might need for the teacher to do that manually
Or maybe an e-mail can be scheduled when the goal is set.
Also e-mail parents
E-mail when a comment is made on a student's goal
OBJECTIVES EDITING VIEWS
Editing objectives should get the same treatment as seminar editing and student view.
Then get rid of the forced redirection to quantities, etc.
Don't show the regular navribbon while editing label quantities.
QUESTIONS YOU MISSED
Students can pull up questions they missed on quizzes.
CONSULTANT STARS
If a classmate from your consultant team earns growth stars, the consultant earns half that many growth stars. (Round up)
If the classmate has never taken the quiz before, no growth stars will be earned. But the consultant can earn 1/4 of the teammate's fresh stars. (Round up)
Consultant stars should probably be a separate model, just like growth stars.
They're dated, so the teacher can look at consultant stars for a specific term.
TOTAL STARS
Show the total number of stars that a student has earned within a term.
One option is to count all of the quizzes that were taken during the window that the teacher designates.
It's a bit weird, since a student might get 3 stars for "Angle Concepts" during Term 2, and then earn 5 full stars again for "Angle Concepts" during Term 3.
That student will also earn some growth stars.
I'm leaning toward this option, to give more favor to students who improve from a 9 to a 10.
Then again, this student is probably the consultant, so she's probably earning consultant stars in addition to the growth stars.
Another option is to only count the improvement, which is the growth stars.
If so, there should be a "growth star bonus" with a minimum of 2 or 3 stars if the student shows any improvement at all.
This option might hurt the grade a bit for students who only improve from a 9 to a 10. That's only 4 stars, if there's a full bonus. This student would need to complete an extra quiz to stay
caught up with the students who earned 8 stars for taking a quiz that they hadn't taken before.
Perhaps the app could find the average between these two options?
ADJUSTMENT STARS FOR STUDENTS WHO JOIN A CLASS LATER
How to pro-rate stars to make things as fair as possible for new arrival students?
It will take a few rounds before the newer student can have a turn to be consultant.
And the new student won't be earning many growth stars until she finishes all of her pre-tests
I think I should re-initiate the solution that involves giving that student the median number of total stars to begin with.
But give a little more than the median (maybe 75%) to account for the other aspects.
LIST ABSENT STUDENTS IN DESK CONSULTANTS
Test that absent students are featured in a separate section in DeskConsultants, not the main section
INCLUDE GOALS IN SCORESHEET
And in student's total scores
EASIER SEARCHING
Searching needs to collect results that are similar to what the user typed.
And it isn't downcasing results like it use to. User must match capitalization to find results.
ACCESS
The "Questions" controller needs before_action stoppers
And the questions_index_test needs to test for them
And check which other models need similar updates
Look again at Hartl's section about not editing admin via the web.
Ensure that students cannot url into unauthorized objectives
Check before_action for security of student page
APPEARANCE
Most buttons should be turned into big links
There are too many buttons on teacher show page.
Move most of them into "content-creation" view.
Create icons for
Benchmark
School
Move Student, green arrow pointing right
Remove Student, red arrow pointing left
Clean up Nav ribbon
Margin on the subtitle under EM Education
Header links are hard to see
If I can't figure out how to make the header stay fixed above the columns, then I at least need to split the table into smaller tables
Use CSS for before/after margin on div class="singleOption" instead of using </br>
Better icons for DConsult, etc.
Put icons on all of the buttons, such as "Create a New Label" and "All Labels" The "All Labels" icon should include more labels than the regular.
"Add rows for ten more students" should be a big_link. Look at all other buttons that should be changed to big links like this one.
Consistent cell size in scoresheet
Consistent cell size in desk-consultants
Zebra striping for scoresheet columns?
Take a closer look at fonts
Look at css for headings
A better visual for the student's total stars can include some big stars for 10 and some giant stars for 100
Small icons for each class period
In the scoresheet, don't show cell border unless cell is focused
STUDENT ALL-GOALS VIEW
Student can open a screen to show all of her goals
Select box for choosing target needs to be smaller
Due date is shown when student checks her main profile
UPDATE CHECKPOINT CHOICES UPON GOAL CHOICE
When teacher chooses a goal, the checkpoint options for that goal are automatically updated
Same for when student is choosing a goal
Move the checkpoint choices to the same screen
TESTING OF PICS
How do I test that pics are uploaded and changed?
# assert_not_equal old_pic, @user_p.image
# Learn how to test this some day
MECHANISM TO ALLOW USERS TO GIVE FEEDBACK
CLEAN UP JAVASCRIPTS AND STYLESHEETS
http://thesassway.com/beginner/how-to-structure-a-sass-project
ORGANIZING PICTURES
Organizing them by label, the way I am currently doing, is a bad idea. Teachers cannot use community pictures for their questions because they cannot
edit the labels of a picture. Instead, I should prompt the user for whether she wants to be offered pictures from Algebra, Geometry, etc.
Pictures will be associated with those domains.
Find a better way to organize the other long lists, too
"Labels" comes to mind first
ADD INFO BUTTONS FOR ALL FIELDS ON ALL FORMS
Look for all places where users might need a little extra help/advice
There's a blanked-out info button to explain pre-requisites in the objectives form.
<button type="button" class="btn btn-info" id="btn-info1">?</button>
The jquery for showing those info buttons needs to be dried down to one single function.
AUTO-UPDATE TOTAL
The "total" field in the scoresheet should update upon changing one of that students' scores.
Scoresheet show mean and median for objectives
ACCOUNT ACTIVATIONS
Since the teacher's profile shows a request for them to activate their account, it should also include a link to send a second activation email.
Or get rid of that message until I do have that taken care of.
CHECK MAILERS
Are they working properly since I reloaded the app?
CURATED CONTENT
Should have another type of user called "Content Creator"
Admin or content creators can curate questions.
Teachers can choose whether their students will see all questions, or only curated questions.
CUSTOM DISPLAY FOR DESK CONSULTANTS
Teachers need to be able to choose how many groups wide their display is.
Someday, consider allowing different-sized groups. Maybe now?
FRIENDLY WARNINGS BEFORE ANNOUNCING
Errors for updating scores to invalid values in the scoresheet
STUDENT REQUEST UPDATING
Update a student's learn_requests when that student passes an objective.
If that student had learn_requested to learn the objective she just passed, her learn_request should become neutral.
Remove the part of the D-C algorithm that checks whether student has scored below 100 in his request.
PICTURE NEEDS EXTENT
Pictures that are uploaded need to have a column for public/private extent
And a column for user
Test for all the results of extent that are tested for in the other models
Test for picture AND FOR QUESTION should include changing the extent
******
BEGIN SERIOUSLY ANNOUNCING THE APP
Quora article: Which websites should a Front-end developer look up to for inspiration?
Finish viedoes to explain/market the app
Try to recruit several teachers to begin using and providing feedback
E-mail teachers who had an account in the old app.
Talk with MaryAnn Moore
******
ALLOW FIVE LEVELS OF PRIORITY
Instead of 3
STUDENT ALSO HAS A REGULAR PASSWORD
In the future, students will also be able to have a regular password when they turn 18.
This password cannot be seen or changed by the teacher.
VIEW A SINGLE GOAL
Also needs to be able to zoom in on one specific goal_student, for conferencing with that student
View should be the same for both teacher and student
STUDY LINKS
Create "link" model
Teachers and admin can add links to outside websites
Ideally, they will be links to games and practice activities
Each objectives can be associated with links
Teachers can set those links to outside websites
Students can view them and follow the path.
MORE QUIZ UNLOCKS
Unlock quiz if student has clicked at least two "study links"
That part should go into the Score model.
Don't show a quiz available if it has no questions