多级分解的教程呈现方式 - mindpin/knowledge-space-net-lib GitHub Wiki

思路来源

复杂问题多级分解和合并思路

理念与用途

编程教程具有一定的特殊性,它试图从头到尾阐明一个经过一定思考过程的,有一定结构的,经过一定调整的代码逻辑实现方法。
由于这种特殊性,传统意义上的从头讲述到尾的线性图文文档无法在编程教程中做到理想的阅读效果。

例如:
http://blog.csdn.net/touchsnow/article/details/19071961
这篇文章,包括许多的图片和大量的代码段,但是由于他是从上到下阐述的线性图文文档。因此 ben7th 认为他的阅读效果并不理想。无法对不同知识层级的用户达到灵活适应,也给读者以较大的阅读压力。

因此 ben7th 希望参考 复杂问题多级分解和合并思路 的思想,设计一种编程教学文档的非线性呈现方法,以达到以下目的:

  1. 用户可以非线性地对教程进行阅读,可以从高层级向低层级自上而下展开,也可以自下而上收敛
  2. 在阅读教程过程中,始终清楚每个节点正在解决的问题,或者正要达到的目的
  3. 在用户知识水平不足,或者不熟悉的地方,可以更详细地展开,或引导用户进入更细致的知识点学习场景
  4. 在一些细粒度的,不再展开的节点,可安排一些带有一定互动性,趣味性的交互方式。使得用户“参与”到教程中,不输入一行代码,而能感受到实现代码的成就感。

这样的非线性呈现方法,首先将用于 500行编程 的内容策划。

开发阶段前期工作

mockup原型 by ben7th

逻辑设计

多级分解的教程逻辑模型

算法脚本和原型小程序实现 by kaid

描述复杂问题的 xml json 格式 by lifei

复杂问题分解的具体数据格式

开发阶段中期工作

API设计 by ben7th, lifei

复杂问题分解模型编辑的HTTP API

开发阶段后期工作

todo

⚠️ **GitHub.com Fallback** ⚠️