Created
January 28, 2016 17:40
-
-
Save JoshCheek/6fa26bf203f4b19b806b to your computer and use it in GitHub Desktop.
Why students should invest in becoming good at their tools
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Why a student should invest the time to become effective with their tools | |
class Student | |
attr_reader :learned, :effectiveness | |
def initialize(effectiveness) | |
@learned, @effectiveness = 1.0, effectiveness | |
end | |
def practice(topic_difficulty, time) | |
# Current knowledge and effectiveness reduce the difficulty of topic | |
relative_difficulty = topic_difficulty / @learned / effectiveness | |
# The amount they learn is based on the time they put in, and how hard it is (see note at bottom) | |
learned_during_practice = time / relative_difficulty | |
@learned += learned_during_practice | |
end | |
end | |
# These reflect the same student, but in the latter case, they have increased their effectiveness by practicing their tools. | |
# Their tools either hinder them or help them, thus affect their effectiveness. | |
ineffective = Student.new(0.1) | |
effective = Student.new(0.2) | |
# 10 practice hours, on increasingly difficult material, we see there is already a significant gap | |
1.upto(10) { |n| ineffective.practice 20, 60 } | |
1.upto(10) { |n| effective.practice 20, 60 } | |
ineffective.learned # => 13.785849184900002 | |
effective.learned # => 109.9511627776 | |
# Double the practice hours, and we see the much more important detail: the difference is not linear | |
1.upto(10) { |n| ineffective.practice 20, 60 } | |
1.upto(10) { |n| effective.practice 20, 60 } | |
ineffective.learned # => 190.04963774880807 | |
effective.learned # => 12089.258196146295 | |
=begin | |
NOTE: | |
The math for the amount learned while practicing is oversimplified. | |
It's probably hyperbolic opening downward to reflect the Zone of Proximal Development (ZPD). | |
Something like y = d**2 - (x-d)**2 | |
My model is good enough to express the general idea, but not good enough to reflect reality. | |
The other model should be able to express how differences in difficulty can lead to stagnation of all students: | |
if it's too easy, no one is challenged so no one grows | |
if it's too difficult, no one understands what they did, so no one grows | |
or ineffective students catching up | |
target the ineffective students ZPD and they excel quickly, while effective students stagnate b/c the material is too easy | |
or effective students leaving them behind) | |
target effective students ZPD and they excel, while ineffective studetns stagnate b/c the material is too hard | |
=end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment