10年级的时候,娃的学校要求必修一门历史课: honors world history, 他说他不感兴趣。
正好他在研究数据库,于是我说,你这样吧:把所有历史大事,用 relational database 记录下来,于是他把历史事件分门别类,有政治的,有宗教的,有艺术的,有文学的,有战争的,有科技的,再按起始日期,终止日期,有关的国家,民族 等等,统统放在数据库里,而且可以做出表格,图形,地图,动画,,,,各种的 visualization. 即学习了历史,又学习了数据库。
11年级的时候,又选了 AP US History 这门课,其实这只是 world history中的一部分,只要把国家选成美国,历史大事就都出来了,他轻轻松松得了 5分。
12年级 AP European History 也是一样,驾轻就熟,也得了5分。而且在学习过程中,发现了 relational database 的很多不给力的地方,觉得用 graph database (四个 nosql 数据库里面的一种)更给力,于是他又学习了 Neo4j,做了一个有关历史graph database,利用 node 和 edge,更清楚的揭示了历史的内在规律。
relational database 是记录 时间,地点,谁干了什么事。其中可以对 时间,地点,谁 index。而graph database 不用index,所以非常多的历史数据的调用就很快,而且 graph database 是 通过 node(瓦特)接 edge (发明)蒸汽机 (另一个node),然后蒸汽机 又通过edge(比如用于)到另一个node (火车),这样就把历史学活了。
从来没有背诵历史,就这样在玩数据库的过程中,把历史给学了