Last active
December 19, 2015 21:49
-
-
Save veryeli/6023361 to your computer and use it in GitHub Desktop.
Covering relationships from topictree
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
# To run: | |
# install graphviz commands | |
# Download topictree from http://www.khanacademy.org/api/v1/topictree | |
# open ipython or something and run the following script. Save the output | |
# as, for instance, covers.gv | |
# run: | |
# dot covers.gv -T ps > out.ps | |
# open out.ps | |
# Make it look better by playing with it and then let me know what you did! | |
import json | |
f = json.load(open('Downloads/topictree.json', 'r')) | |
def print_coverers(top): | |
if 'covers' in top and len(top['covers']) > 0: | |
for child in top['covers']: | |
print '"' + top['node_slug'][2:] + '"->"' + child + '";' | |
if not 'children' in top or len(top['children']) < 1: | |
return | |
for child in top['children']: | |
print_coverers(child) | |
print """digraph G { | |
size="5";""" | |
print_coverers(f) | |
print '}' |
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
2-digit addition [u'addition_1'] | |
2 and 3-digit subtraction [u'subtraction_1'] | |
Addition with carrying [u'addition_2'] | |
4-digit addition with carrying [u'addition_3', u'representing_numbers'] | |
Subtraction with borrowing [u'subtraction_2'] | |
4-digit subtraction with borrowing [u'subtraction_3'] | |
Basic multiplication [u'addition_1'] | |
Multiplying 1-digit numbers [u'addition_2', u'multiplication_0.5'] | |
1-digit division [u'division_0.5'] | |
Multiplying 3 digits by 1 digit [u'multiplication_1'] | |
Multiplication with carrying [u'multiplication_1.5'] | |
Multiplying 3 digits by 2 digits [u'multiplication_2'] | |
Multi-digit multiplication [u'multiplication_3'] | |
Division without remainders [u'division_1.5'] | |
Multi-digit division without remainders [u'division_1'] | |
Division with remainders [u'division_2'] | |
Multiplication and division word problems 2 [u'multiplication_1', u'division_1'] | |
Multi-digit division [u'division_3'] | |
Divisibility [u'prime_factorization', u'divisibility_0.5', u'divisibility_intuition'] | |
Decimals on the number line 2 [u'decimals_on_the_number_line_1'] | |
Adding decimals 2 [u'adding_decimals'] | |
Adding decimals [u'addition_4'] | |
Subtracting decimals [u'subtraction_4'] | |
Multiplying decimals [u'multiplication_4'] | |
Dividing decimals 1 [u'dividing_decimals_0.5'] | |
Dividing decimals [u'division_4', u'dividing_decimals_1', u'dividing_decimals_2'] | |
Discount tax and tip word problems [u'converting_percents_to_decimals'] | |
Equivalent fractions 2 [u'equivalent_fractions'] | |
Comparing fractions 2 [u'comparing_fractions_1'] | |
Adding fractions [u'adding_fractions_with_common_denominators', u'least_common_multiple'] | |
Subtracting fractions [u'subtracting_fractions_with_common_denominators', u'least_common_multiple'] | |
Adding and subtracting fractions [u'least_common_multiple', u'adding_fractions', u'subtracting_fractions'] | |
Dividing fractions [u'dividing_fractions_0.5'] | |
Fractions on the number line 2 [u'fractions_on_the_number_line_1'] | |
Comparing improper fractions and mixed numbers [u'comparing_fractions_2'] | |
Ordering improper fractions and mixed numbers [u'comparing_improper_fractions_and_mixed_numbers'] | |
Fractions on the number line 3 [u'fractions_on_the_number_line_2', u'fractions_on_the_number_line_1'] | |
Multiplying mixed numbers 1 [u'multiplying_fractions_0.5'] | |
Converting decimals to fractions 2 [u'converting_decimals_to_fractions_1'] | |
Ordering numbers [u'equivalent_fractions'] | |
Proportions 2 [u'proportions_1'] | |
Positive and zero exponents [u'multiplying_and_dividing_negative_numbers'] | |
Negative exponents [u'exponents_1'] | |
Fractional exponents [u'exponents_2'] | |
Exponent rules [u'exponents_2'] | |
Radical equations [u'linear_equations_3'] | |
Simplifying logarithms [u'multiplication_1'] | |
Simplifying logarithms 2 [u'logarithms_1'] | |
Reading pictographs 2 [u'reading_pictographs_1'] | |
Reading bar charts 2 [u'reading_bar_charts_1'] | |
Evaluating expressions in one variable [u'addition_1', u'multiplication_1'] | |
Writing expressions 2 [u'writing_expressions_1'] | |
One-step equations with multiplication [u'division_1'] | |
2-step equations [u'linear_equations_1'] | |
Equations with variables on both sides [u'linear_equations_2'] | |
Percentage word problems 1 [u'linear_equations_1'] | |
Absolute value equations [u'absolute_value', u'linear_equations_3'] | |
Multi-step equations [u'linear_equations_3'] | |
Expressions with unknown variables 2 [u'expressions_with_unknown_variables'] | |
Multi-step linear inequalities [u'linear_equations_3'] | |
Finding the equation of a line [u'solving_for_the_y-intercept', u'line_graph_intuition'] | |
Midpoint formula [u'adding_decimals'] | |
Graphing systems of inequalities [u'graphing_inequalities', u'graphing_inequalities_2'] | |
Graphing and solving systems of inequalities [u'graphing_systems_of_inequalities'] | |
Evaluating expressions with function notation [u'functions_1'] | |
New operator definitions 2 [u'new_definitions_1'] | |
Factoring polynomials 2 [u'solving_for_the_y-intercept', u'line_graph_intuition'] | |
Factoring difference of squares 2 [u'factoring_difference_of_squares_1'] | |
Radical equations [u'linear_equations_3'] | |
Multiplying expressions 1 [u'multiplying_expressions_0.5'] | |
Midpoint formula [u'adding_decimals'] | |
Simplifying logarithms [u'multiplication_1'] | |
Simplifying logarithms 2 [u'logarithms_1'] | |
Complementary and supplementary angles [u'complementary_angles', u'supplementary_angles'] | |
Vertical angles 2 [u'vertical_angles'] | |
Parallel lines 1 [u'corresponding_angles', u'same_side_exterior_angles', u'same_side_interior_angles', u'alternate_interior_angles', u'vertical_angles', u'alternate_exterior_angles'] | |
Parallel lines 2 [u'parallel_lines_1', u'corresponding_angles_2', u'alternate_exterior_angles_2', u'alternate_interior_angles_2', u'same_side_exterior_angles_2', u'same_side_interior_angles_2'] | |
Angles 2 [u'angles_1'] | |
Solid geometry [u'geometry_1'] | |
Special right triangles [u'pythagorean_theorem_1'] | |
Finding the equation of a line [u'solving_for_the_y-intercept', u'line_graph_intuition'] | |
Midpoint formula [u'adding_decimals'] | |
Evaluating expressions with function notation [u'functions_1'] | |
Factoring polynomials 2 [u'solving_for_the_y-intercept', u'line_graph_intuition'] | |
Factoring difference of squares 2 [u'factoring_difference_of_squares_1'] | |
Trigonometry 1.5 [u'trigonometry_0.5'] | |
Trigonometry 2 [u'trigonometry_1'] | |
Special right triangles [u'pythagorean_theorem_1'] | |
Radians and degrees [u'degrees_to_radians', u'radians_to_degrees'] | |
Graphing systems of inequalities [u'graphing_inequalities', u'graphing_inequalities_2'] | |
Graphing and solving systems of inequalities [u'graphing_systems_of_inequalities'] | |
Average word problems [u'linear_equations_1', u'addition_1', u'multiplication_1'] | |
Standard deviation [u'variance'] |
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
import json | |
f = json.load(open('Downloads/topictree.json', 'r')) | |
def print_exs(top): | |
if 'node_slug' in top and 'e/' in top['node_slug'] : | |
print top['node_slug'][2:] | |
if 'children' in top: | |
for child in top['children']: | |
print_exs(child) | |
print_exs(f) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment