我的这几年R语言教学经历
这篇推文是知乎《如何评价PsychoR团队的R语言课程》中我的自问自答,解释了我为什么会组织PsychoR团队,并且一直坚持在做R语言的培训。
因为一些原因,接下来2年我不得不暂停我的培训课程,团队的一切活动也已经停止。但希望我的理想和所做的工作的影响仍然能够延续下去。
我学习R语言的经历算是比较有趣。看过我早期答案的人和上过我课的同学,知道我本科是学中医的。那会儿大量的时间都投入在了临证和读古籍当中,所以本科没有学过高数,也没有认真学过英语。不过学校还是开设了医学统计课,开始学习医学统计的时候,就感觉这门课很重要,同时那段时间网上的中医和现代医学之争也比较激烈,我感觉统计学可能是能够看清这些问题的一门学科,所以希望能够深入地学习下去。限于学校的统计学教学水平,我开始上网收集和学习统计学的资料,在知乎的一些答案当中,看到了国内统计学重要的交流社区——统计之都。在阅读了统计之都的一些帖子后,看到很多的讨论者都在提及R语言的重要性,限于临床任务繁重,也没有认真学习,只是把它默默的记了下来。
后来小小工作一段时间之后,决定考研。成功跨考了心理学之后,当时以为学心理学的都会编程,都会高级统计,因此就用了整个暑假恶补编程和统计学知识。把《R语言实战》和《R语言编程艺术》当中所有的代码全部都自己复现了一遍,又通过对代码的调试了解了一些更深入的统计学知识,算是心里有了一点底,就当是学会了R。结果开学以后和导师一说自己会R,马上就派给了一个和301医院合作的人脸识别项目。为了做其中的算法,又花了一个学期把常见的机器学习算法实现了一遍,积累了一些经验,这次终于敢说自己好像真的用R来做一些简单的数据分析了。
那时周围的同学有不少找到我,说想询问一下R和数据处理方面的问题。因为感觉零零散散地解答重复问题很占用精力,而且我确实喜欢用讲解作为自己的一个学习方式(考研时我的复习方法是找到目标院校的硕士师兄师姐,给他们讲专业课,请他们给我挑错),所以就想着组织一个小组共同学习吧。
那时只是把讲课作为了一个业余的小活动,但是真正让我把这件事重视起来,却是余嘉元老师给我的影响。在16年的全国心理学大会上,有幸受到了余嘉元老师的认可,后来他常常会带着我参加一些会议,言传身教教授我一些东西。某次余老师带我与几位国内的心理学教授们一起吃饭,席间我问了一个一直在困扰我的问题——导师们是如何解决招到的学生的技能,尤其是数据分析和编程能力,与研究需求之间存在较大差异的问题的。更具体地来说,我是希望了解到老师们是如何培养学生这方面的能力的,是否有一个渐进式的阶梯或者完善的培养思路。当时某位老师说,他认为这些完全应该靠自学,大意是认为自学这些技能是一个硕士生基本的能力,而不是导师应该去关注的。
但是我不同意。
我知道我当初学R会学得比较快,是因为我已经有了很多的前置知识。我在小学五年级的时候开始接触网络渗透,初中的时候抱着一本汇编教程翻来覆去,高中的时候一直拿着鸟哥的书研究服务器运维。虽然哪一个都没有学得很清楚,但这些经历让我在研究生阶段所接触到的数据科学和编程知识并不感到陌生,对于一些底层的概念也能很快掌握。即使是有些问题我并不了解,也能迅速定位到相关的专业领域让我查找资料。而这些都是我能很快学会这些东西的基础,而并不是有些老师一直夸我的“善于自学”。
如果缺乏前置知识,想要自学数据分析与编程其实没有那么容易。所以我认为前置教学与引导是必要的。因此,在我的讲课当中,一直在默默给学生渗透简化版的计算机科学和网络相关的知识,希望能为社会科学专业中,需要应用到这些知识的学生,总结出最精当的背景知识,让他们真正能很迅速地学会,更重要的是,让他们感觉这些东西并不难学。
于是我回到学校后,真正把我的R课程当作是一件重要的事情重视了起来。借着厦门R会议的机会,我和余老师一起拜访了厦门大学的WISE R CLUB,向他们讨教系统化培训和团队建设的经验。随后我在天津师大把第一批的PsychoR团队建立了起来,重新系统化地做了R的培训课程,并在学院连续教了3期,还分别邀请了余老师和统计之都的陈堰平老师来学院做了分享。
再后来,统计之都的魏太云和冯凌秉两位主席找到我,提出统计之都要为我的工作提供支持。此时,在大家的帮助下,我算是真正开始接触统计学的圈子,先后接触了吴喜之教授,统计之都编辑部的诸位大拿,人大、北大的顶尖学生,还有历届R会议中各学科领域的优秀参会者。同时在华南师大,也组织了第二批的PsychoR团队,每位成员不同的学科背景中的需求、极强的科研热情和扎实的学术功底,都在不断地启发着我。在他们的帮助下,不断地完善着我对数据分析和对统计学的理解,并把中国R会议的心理学分会场和全国一些高校的R培训稳定地做了下来。
也正是这些经验,让我越发地发现科研领域中数据科学的教学是一个系统性的工程。我们常说的业务知识,统计知识和编程知识三大项,与科研中不同的学科特色,以及可重复等思潮相碰撞,会产生不一样的火花。如今我在培训中开始涉及简单的命令行、服务器运维、虚拟化、版本管理等知识,正是看到了这些技术在科研领域中会产生意想不到的应用效果。而这些都不是简简单单数据分析或者编程课可以概括的,更像是“科研计算机技能课”,而我正朝着这个方向去努力。
而恰好因为一些原因,开始接受荣格学派的心理咨询训练,也让我慢慢能够更深入地理解参加课程的学生心中那些犹豫,恐惧和无奈。受到凉意的工作坊的启发,我开始尝试将心理咨询的一些技术也融入到我的课程当中。
于是,关注学生的广泛的计算机知识背景,专注于解决学生在科研中可能遇到的一切数据科学问题,并借由心理咨询技术解决学生学习中的畏难感,更希望学生能够上完我的课程后能够顺利地发展下去,就是我现在课程设计原则的总结。
为了实现这个目标,我也在不断迭代着我的课程内容。到目前为止,除了案例课程(这几乎完全是团队成员做的,我没有作出什么贡献),我的课件已经迭代了5、6次,每次都不断精简,以期能够缩短学生学习所花的时间,尽快投入工作; 同时在课件内部构成贴近科研实践的应用案例和相互联系的逻辑,提高学生的学习效率和技能实用性。
限于一些原因,在接下来的两年中,我会暂时冻结 PsychoR 项目。但是只要有这个需求还在,那么我(相信还有曾经在我们团队当中的每一位成员)还是会站到服务大家的一线。毕竟我们团队的Slogan——用数据科学拓展心理学的未来,我们还在坚持着这一份信念。
致谢
感谢余嘉元和吴喜之两位教授,几年的言传身教,让我懂得了什么样是真正的学者,什么样才是大家风范。
感谢统计之都的前辈们,提供了无数的机会开阔了我的眼界,让我不断接触学界和业界的前沿。
感谢我在硕士和博士期间所接触的老师们,在我做各种活动时都给予了充分的支持,让我能把这些项目都一一能做起来。
感谢我的个人分析师,真正把我带入了心理咨询的门槛。
感谢我的亲人,在我做这些与学业无关的事情时永远都作为我最可靠的后方。
最后,感谢PsychoR团队的每一个人。没有团队成员的奉献,我绝无可能完成这些工作。
希望未来我们还能用数据科学,拓展每一位心理学学生的未来。