Category Archives: Uncategorized

Goals of Programing Learning Camp based on Life Framework Theory

这里的目标只是作为导师的一些内容规划。但我们希望每个参与的学习者都花一些时间想一想自己的学习目标是什么,并在学习引擎上记录下来。 初级目标 初级目标是我们希望每个学习者都能够达到的。选择参加这个学习营的学习者,我们希望你们能至少朝着这个目标努力。 体验编程,了解编程怎么回事,以后想深入的时候随时可以继续深入。编程虽然需要掌握的东西挺多,需要付出时间,但你可以很从容,没有焦虑,在需要的时候付出时间学到自己需要的层次 学习生命中心,抽象建模,复杂系统,和自己的专业与工作联系起来,在生活和工作中能够运用 能够与自己工作或生活中需要打交道的程序员进行交流,甚至让他们感觉可能你比他们更懂编程。比领域专家更懂该领域,这本身就是优秀的程序员经常干的事情,因为我们经常需要对不同的领域进行数字化,必须对这些领域有本质的了解。你也将获得这种能力。 学会如何去探索事物本质的能力,如何拆解,如何整合,如何做实验搞清楚每一个独立的部分,等等。 学会知识学习中的抽象建模能力,包括善于抓取自己学习上的重要体验的能力,可以更高效的进行学习。养成反思的习惯,学会什么时候慢下来,什么时候快起来。快速实验,快速试错,勇于探索和尝试,快速迭代,需要反思的时候能够高效的进行反思。什么时候快什么时候慢,有时候欲速则不达,这是个艺术,需要自己去体会和把握。 能够写一些简单的代码,不再有代码恐惧症。 可以用抽象建模的方法设计并实现一些复杂度比较小的程序。 终极目标 挑战:半年时间内达到优秀的职业程序员素质,甚至达到优秀架构师素质。并对生命框架理论有较深入的掌握,能够比较广泛的运用。

Posted in Uncategorized | Leave a comment

Speech on Life Framework Theory

中文版 My recent online speech at Himalaya Apprentice: From Everyone Photography to Everyone Programming: Life Center, Abstract Model, Complex System.Let’s talk about Life Framework Theory! Part of the speech can be read in the article on Himalaya Apprentice (Chinese only). … Continue reading

Posted in Uncategorized | Leave a comment

Programming is to build

Paracraft的编程学习是从搭建开始的。很多人会纳闷,为什么学习编程要从搭建开始?我们的回答很简单,编程就是搭建! 编程其实就是用很多的指令搭建出一个很大的软件出来,就像在Paracraft里用方块搭建出一个大的建筑出来一样。大家看这段条块式编程的截图,就很形象的可以看出来许多的指令搭建出来一段程序。另一幅截图里则搭建出了两段代码,如同Paracraft世界里搭建了两个建筑一样。 图1:指令的搭建 图2:两个程序的搭建 熟悉Paracraft的小朋友都知道,如果有什么经常需要使用的建筑模块或者角色,可以使用方块进行建模,生成可以重复使用的BMAX模型。比如说建筑里的斗拱,或者屋顶的瓦片,可以用方块搭建出来可以复用的模型。房间里的桌椅也是一样,我们可以用方块搭建出来桌子或者椅子,然后重复的放置在不同的房间里。这跟编程里把重复使用的功能模块包装成指令或者函数是一样的,需要能够识别和提取通用的功能,并进行抽象建模生成可以重复使用的模块,这样的抽象建模能力正是编程里的核心能力。 图3:使用Paracraft制作的动物Bmax模型 图4:学生使用Paracraft方块搭建的坦克Bmax模型 指令的封装,也是一种模块化。其中有些指令是更底层的,被上层的指令反复调用。这就需要学生具有很强的抽象提取能力。而学生也可以去创造新的指令,可以是更底层的可以被很普遍的调用的通用指令,也可以是上层的更方便的做某些事情的指令。这些不正是搭建吗? 而这些底层的指令则代表了对那个层次的理解,或者说那个层次的抽象模型。就好像斗拱屋瓦等代表了对中国建筑的理解一样,或者说是中国建筑的抽象模型。你可以看到,从外在形式到内在实质,编程不就是搭建吗? 图5:使用Paracraft搭建的中国特色建筑 当孩子们需要去搭建一个相当大型的场景的时候,就需要学会如何拆解,如何抓住主要特征,如何迭代的分层的去完成,如何再组合不同的模块构成完整的作品,这些都是软件编程里的核心能力。 孩子们之所以热爱Paracraft,正是因为他们热爱搭建,通过搭建去创造复杂的生命。看看孩子们创造的各种过山车或者跑酷游戏,或者充满各种机关和故事的解密游戏,或者他们回忆校园生活的再现宏伟的校园建筑且饱含深情的动画电影,等等,无不是充满生命的作品。 图5:一个9岁孩子搭建的跑酷游戏 图6:一个9岁孩子搭建的跑酷游戏 而软件编程,正是创造生命。同物理世界的很多东西不同,没有哪个软件不是在创新。因为如果哪个软件不是在创新的话,我们可以直接复制之前的同样功能的软件即可。软件的复制/再生产的成本是0。所以软件一定是在创新的,不会重复的造轮子,程序员无时不刻不在创造新的生命,或者探索和思考可以创造什么样的生命,对他人有用的生命。所以创造完整的作品对于程序员来说,有着至关重要的意义。 Paracraft,正是以创造生命作品为核心,哪怕是年龄很小的孩子,也都有可以去创作的作品,并且在Paracraft里,孩子们可以创造完整的作品。随着技能的增长,他们可以逐渐创造更加复杂和有挑战性的作品。在创造复杂性和有挑战性作品方面,Paracraft可以说是没有上限的。 软件编程是通过搭建的方式去创造复杂的生命作品。 这就是我们对编程的理解。在软件行业里,我们发现优秀程序员应有的素质是普遍缺乏的,这些素质,简单的讲,其实就是搭建创造生命作品的能力,比如如何做抽象建模,如何拆解,如何抓住特征,如何分层,如何迭代,这些都需要很强的空间感知能力和与复杂空间交互的能力。这些素质的欠缺,正是我们传统的编程教育的狭隘片面造成的。传统的编程教育缺乏对软件编程的核心本质的理解。Paracraft编程教育,正是要解决这个问题,实现真正完整的编程教育。正如Alan Kay所说,认为软件编程就是逻辑是普通人对编程的严重误解。 所以,编程就是搭建!一切从搭建开始!

Posted in selflearning, Software, Software Education, Uncategorized | Leave a comment

Best Software Learning Platform

本文目前只有中文版。 在安格指导学生学习编程。学习编程的人不多。虽然表示对编程学习有兴趣的人比较多,但大多数人似乎都因为传统的对编程的刻板印象,以为学编程就是跟机器打交道,而大多数人是畏惧机器的,所以并没有进入真的编程学习阶段。 我一直认为每个人都应该学习编程,希望能够普及编程教育。编程其实不难,但是现在大家学编程,从一开始就给学生灌输很多和机器相关的概念,而大多数人对机器并不感兴趣,所以变成只有对机器感兴趣的人才会去学。另外,传统的观念,主要的强调编程里的算法或者所谓的逻辑推理,也把大多数人拒之门外。 发明最短路径算法的Dijkstra说:太糟糕了,我们给这门科学取了个这样的名字:“计算机科学”,这就好像把脑科学叫做“手术刀的科学”一样本末倒置。我们今天终于可以看到这个危害的结果。 图:发明最短路径算法的Dijkstra 真正学过理工科的同学都知道,计算机科学/软件编程绝不是门单纯的理工科。在我看来,它是人文学科和自然学科之间的桥梁,是人类世界与物理世界之间的桥梁。这是软件编程真正吸引人的所在。互联网之父Bill Joy就深情的描述过他第一次接触编程时那种看着思想转化成可以在机器上运行的代码并显示出结果的美妙感觉,这也正是他对软件编程一见钟情的原因。Python之父Guido则主张,软件编程是人类继写作(即书面表达)后发明的更深刻和优越的思想表达工具,是新形式的知识载体,每一个人都应该学会编程,编程会成为未来评估文盲的标准。 图:互联网之父Bill Joy 那么普通人如何学习编程呢?我觉得最好一开始的编程不要和机器相关。我们需要找到一个大多数人可以玩起来的“玩地”,而大多数人对机器是不感兴趣的。 那么大多数成人都感兴趣的是什么?在每个国家,社交网都是大众最普遍使用的软件,比如微信,微博,facebook, twitter。所以我觉得成年人学习编程的玩地应该是管理他们的社交人际关系,资讯和知识的获取。另外要让他们脱离机器来学习编程,那么就应该让他们在网页上进行编程,比如有网页版的在线编辑器,可以写一些简单的代码,初步体验编程。 比如,我可以在朋友圈或者微信群里发小的编程示例,大家在上面直接就可以开始尝试些编程。这是大家比较熟悉和方便的方式。 大家可以在网页上编程来管理自己的人际关系和获取的信息,可以把搭建好的程序分享出来给大家。平台会提供基础的编程指令,用以对人际关系或者资讯做基本的操作。大家可以用这些指令来编程。普通人都可以很方便的尝试编程,有很强兴趣和天分的可以搭出自己的微信或者facebook出来。比较困难的网络连接和高并发,平台或者编程语言本身会自带相当程度的解决方案,网络编程和高并发不会成为普通人搭建大规模应用的瓶颈。 其实web2.0时代也有些类似的让普通人可以“编程”的平台,如yahoo的pipe。 让大多数人能够编程从而更好的享受互联网带来的种种便利,也是大家当时共同的认识。但是当时很多的做法,只是让普通人对数据的简单操作,并且排斥了编程语言,不敢让大众学习编程语言。不使用编程语言的话,能做的事情很少,也很不方便。那个时代(大概05,06年),学习编程语言可能还是大众比较难接受的事情。但今天,大众心理上已经强烈的感受到学习编程的需求,只是大多数编程学习要求他们去学习大量的机器,并且一开始就要学机器,所以很多人虽然想学,但视为畏途,把很多对编程感兴趣的人挡在了门外。所以,今天,应该可以让大众们在社交和资讯获取领域找到他们可以学习编程的“玩地”。并且,使用编程语言来编程,他们是可以打造出微信,facebook这样的大的应用出来的。 这将是个非常好的互联网生态,非常丰富和健康。平台只提供编程基础设施,提供丰富的基本的组件。大家想要怎么管理自己的社交关系或资讯,都可以用自己的方式去管理。不用像今天这样,受制于微信,facebook。拥有自己的信息,拥有自己的应用! 以上讲的主要还是管理个人的人际关系和资讯,也就是人和信息。其实再深一些,就是知识,也就是对“重要体验”的管理。让大家通过编程把重要体验玩起来,去扩展,分享和交互。这就是未来真正的知识平台。 到时,大家拥有的就是一个真正可编程的世界! 每一个人都应该学习编程,但不是每一个人都要成为职业的程序员。今天软件行业里大量的软件管理人员和产品设计人员等等,都没有什么编程经验,技术人员与产品人员之间的沟通有着巨大的鸿沟,很大程度上影响着软件行业的健康发展。我们认为这是很不正常的,问题的根源就在于我们的编程教育把大多数人挡在了门外。而我们这里设想的,通过更好的面向大众的编程教育,不光可以让普通人都能够更好的获取互联网带来的力量,让互联网摆脱今天的巨头垄断的沉闷局面,也可以解决软件行业最大的问题,让软件行业走向健康发展的道路。 所以,总结一下,一个好的编程学习平台,应该是大家都很熟悉的领域,和每个人的生活相关,大家喜欢去学,愿意去学,有基本的指令和组件,可以通过编程在里面进行各种创造。最好平台或者编程语言本身已经解决了大部分的网络连接和高并发的问题,让用户可以更专注在他们熟悉的领域。 儿童最好的编程学习平台 那么,我们再来看儿童编程学习,Paracraft正是满足了这些条件。 孩子们非常热爱搭建,喜欢创造,尤其是带有美术的创作。这些就是Paracraft的3D世界给孩子们提供的“玩地”。创作出来的作品可以分享,他人可以欣赏并重复使用。 而Paracraft所基于的NPL语言,本身就是模拟人类大脑高并发工作原理的编程语言,用户不需要了解太多的网络底层和高并发细节的知识,就可以创造高并发的网络应用,这也在很大程度上让孩子们不是必须先大量了解机器才能学习编程,普通的孩子就可以创造出大规模的网络应用。 我们的期望,同上述的成人世界的编程学习一样,未来孩子们可以创造出无数的“并行世界”(ParaWorld),教育者们也可以为孩子们设计出各种富有教育意义的世界,比如学习生物,数学,物理,古诗词的3D世界等等。 同样的,Paracraft未来也会是儿童最好的社区,是儿童的可编程世界!

Posted in Uncategorized | Leave a comment

Man and Machine

本文只有中文版。 编程教育是重建艺术与科技的桥梁的教育,因为软件编程就是艺术与科技的桥梁,是人文学科与自然学科的桥梁,是人类世界与物理世界的桥梁。 由机械化生产和机器大生产催化的现代化进程,也是人类逐渐变得机械化和机器化的进程,为机器化大生产服务的教育尤其如此。 当你只需要在某个行业做操作性的工作时,你是不需要学习的,你只需要存储一些记忆,比机器高级一些,能够记住该行业很多的术语和操作步骤,成为高级的机器就可以了。 我不是只指工厂里的工作,那个时代大部分的工作都是如此。但是软件编程这样的需要对人类生活和物理世界的方方面面进行数字化的工作,需要不断的进行新的领域的学习或者做更底层的抽象的理解,是需要很强的学习能力的。 由软件催生出来的人类的数字化时代,创新成为重要的生产力来源,所以学习重新成为人类社会的重要需求。被现代化教育人为割裂以方便人们记忆的分门别类的学科重新需要互联互通。艺术与科技也绝不是鸿沟,更不应该让科技发展压制艺术与人文的发展,那是非常危险的进程。 通过生命空间的感知,我们让科技成为艺术和人文的一部分,已经停滞多年没有重大突破的科学也会重新迎来发展的春天。 人类逐渐机械化机器化,不光是我们的教育深受影响,我们的科研也深受其害。 这一方面是因为现代化进程中形成的现代教育扼杀人的学习能力和创造能力(用剥夺玩的方式,以所谓的“学习”的名义。名为学习,实为培训,培训高级机器人。),连爱因斯坦也说很庆幸自己没有被现代教育给扼杀掉。当然,爱因斯坦受教育时还在现代教育形成之初。到了今天已经相当成形的现代教育可能已经把所有的爱因斯坦扼杀光了。 另一方面是因为催生现代化的人类近代自然科学,在当时可谓是光芒四射,取得了巨大的突破。人文科学开始普遍的采用自然科学的研究方法,尤其是非常生硬的要把所谓的人的主观完全排除出去,这样其实也就把人类的感知也排除掉了。 提出生命中心的克里斯多夫亚历山大指出笛卡尔的主客观分离是现代科学发展的基础,也造成了现代科学的缺陷。他提出生命中心,正是要重建主客观的正确关系,在新的科学里将它们重新统一起来。 作为建筑师的亚历山大对软件编程的发展影响极大,他对软件业的期待也非常大,认为程序员是真正能够实现他的思想的人。 其实现代科学的发端,来自于文艺复兴里对艺术和人文的全面的追求和探索,科学作为这个探索的有机组成也蓬勃发展起来。但人类的进程,资本逐利的力量,在现代化进程中,让艺术人文与科技逐渐割裂开来,对生命的感知被广泛的忽视,在各个不同的领域,我们都可以看到生命的感知是如何被忽略的。 比如大家普遍的把数学,物理,甚至编程这样的学科认为是需要很强“逻辑思维能力”的学科,所以很多人会很快的认为自己不擅长这些学科是因为自己的“逻辑思维”不强,自己更擅长艺术方面的学习。 我最近看一本满是逻辑思维题的书,翻下来发现所有的题其实都是建立在空间感知基础上的,空间感知解决了80%甚至90%以上程度,然后最后一点就是他们说的所谓的那种线性的“逻辑思维”。这本书讲解的解题答案基本上是在讲最后那百分之十几的逻辑部分,而忽略了作为基础的空间感知的那部分,所以搞得好像这个逻辑思维很难。但是如果被忽略的空间感知和思维没有被忽略掉,书上所有的题目都很容易。所谓的逻辑思维,如果以空间感知为基础,其实是很简单的。 这种艺术与科技的分裂,正是现代科学的发展逐渐变得停滞多年缺少重大突破的一个重要原因。改变这个状况,就需要重新把对生命的感知带回来,重新建立艺术与科技之间的桥梁。软件作为数字化的生命,作为关于生命中心的科学,正是被亚历山大赋予厚望的原因。科学的进一步的飞跃,必须回到文艺复兴时期那样的艺术与科学的充分融合,我们需要我们这个时代的诸多的达芬奇。 当然,诞生于机器化大生产时代的计算机科学自身也深受其害。发明最短路径算法的Dijkstra说:太糟糕了,我们取了个这么糟糕的名字,“计算机科学”,这就好像把脑科学叫做“手术刀的科学”一样。 图:发明最短路径算法的Dijkstra 所以今天的大学的计算机科学专业培养出来的大量的是不合格的程序员。在软件日益进入我们生活的方方面面的今天,对优秀的程序员的需求是个巨大的缺口。大学计算机专业培养的学生大多只能像普通工人一样完成些比较小的既定的任务,探索能力,设计能力,创造能力都很差。行业需要的大量产品设计,项目管理人员竟然不是计算机科学专业毕业的,几乎没有写过一点代码,遑论对软件有好的理解。现代化教育的学科割裂在软件行业也制造了无数的灾难。 艺术与科技的分裂,也严重局限了我们的人工智能研究。今天的人工智能研究,绝大多数都停留在统计算法层面,远远谈不上智能。除了极少数的人,今天的人类世界太缺少能够在整体层面思考人工智能的人。我们百年来的现代教育给我们的今天带来了巨大的困境。 人工智能可以是人类掌握核力量后又一个可以摧毁我们星球文明的技术。三体里的设想,警告不要让外星文明知道我们地球文明,因为外星文明很可能比我们的技术要高出很多,可以轻易的消灭我们,就好像我们踩死一只蚂蚁一样。 我觉得这个设想是有问题的,因为如果外星文明真的拥有比我们发达许多的跨世代的技术时,这样的外星文明一定是已经解决了内心困境的文明,否则早就把自己玩死了。我们的地球文明如果没有解决自己心内的问题,仍然在人文艺术与科技割裂的道路上一路狂奔,我们还能延续多久,是个巨大的问号。虽然人类的进化优势依靠的是大脑的智能,但是如果智能没能发展成智慧,人类主宰地球的时间长度可能还不如四肢发达的爬行动物恐龙。 所以,在软件日益普及,人工智能成为风口,人工智能教育也成为编程教育的风口的今天,我们需要思考,我们要的到底是什么样的人工智能?是让人类社会进一步机器化机械化的人工智能?还是把人类真正解放出来,让人类能够充分追求自身的生命自由实现生命价值的人工智能?我们的生命自由,生命价值到底是什么?

Posted in Uncategorized | Leave a comment

Life Education

The beliefs, methodologies and practices of Self-Directed Education have been shared and discussed quite extensively, if not with the general public, at least within the SDE communities. Of course, a lot more work still need to be done to publicize … Continue reading

Posted in Scientific Study, selflearning, Uncategorized | Leave a comment

Volunteers needed

中文版 Open Source Learning has applied to be the local group of ASDE. We need a couple of volunteers to help this effort. You can be at any city of China serving needs of people of your city. If you … Continue reading

Posted in Uncategorized | Leave a comment

近代大师出身

发这样的东西,一定是要做些说明的。可能没什么意义。只是个人突然感兴趣,想弄出来看看怎么样。人物是按照维基百科上的某一年份出生人物页面来人工提取的。因为基于维基,自然受限于维基本身。这点,客观的讲,维基的收录经过十几年的发展,应该还是比较齐全的,当然自然也会现代的人物收录的比较多包括很多只是有点新闻的人物。另外因为是根据本人的熟悉程度,故主观性比较强。根据个人的喜好,一般会优先把文学家艺术家学者放前面。因为个人爱好体育,所以也会包括著名的体育人士,何况体育也曾是中国很长一段历史时期可能是唯一的大众流行文化。本不想加入政治人物,因为政治人物每个年代都会有,但是文学家艺术家不见得每个年代都会有。但是还是加入,主要还是给大家提供一个时代的参考吧。外国人只大概拣了最有名的,因为很多也认不出来。另外收录时一目十行的查看,所以遗漏的恐怕不少。图快,不够严谨,欢迎有兴趣的朋友做份更严谨的出来。我这个就权当是抛砖引玉。 每一年出生的人物一般第一行的是大陆的,第二行是香港的,下面一行是台湾的,再后面就是新加坡,日本,美国等。 另外,1962年以后的没有在维基上去按年份查该年份出生人物页面,因为人实在太多了。所以1962年以后的只是凭借记忆想到几个名人,然后查了他们的出生年份。不过感觉70以后能称作大师的人物实在太少。 另外附上这次在维基百科上做研究性阅读后收集整理出来后的知识包。 拣几个有趣的说说。说说光辉灿烂的几个年份吧。 1971 中国互联网历史上光辉灿烂的一年 1969 1962 香港娱乐圈光辉灿烂的一年 1952 1941 1940 1912 1911 1910 1896 1895 卓别林和希特勒是同一年的。蔡元培和霍元甲是同一年的。还有好多有意思的同一年的,自己找找看。 以下是该表 ————————————————– 1977 郭玉闪 孙继海 1976 黄章(魅族) 柴静 许知远 刘国梁 李湘 夏雨 张效瑞 翁帆 梁咏琪 舒淇 王力宏 林心如 吴恩达 罗纳尔多 1975 … Continue reading

Posted in selflearning, Uncategorized | Leave a comment

Recent efforts

Here are our recent efforts, you are welcome to be part of this open process towards future learning, which we think should be self-learning for everyone! In a way, the current discussions there help summarize what we have learned in … Continue reading

Posted in Uncategorized | Leave a comment

Why people don’t work hard with good social welfare

People often say that countries with good social welfare lose the drive for economy because people don’t have incentive to work hard anymore. The inherent assumption is people are naturally lazy so they don’t work if they don’t have to. … Continue reading

Posted in selflearning, Uncategorized | Leave a comment