众所周知,Python编程课程是目前市场上的风口之一,市面上的竞品非常多。我们在这个赛道里耕耘了四五年,也积攒了一些经验,从去年开始一直希望可以在自己的课程平台上线一套Python编程课程。
这篇文章和大家分享一下目前的进展和下一阶段的计划。
先简介一下目前的课程体系。我们在Python这方面主推的课程包括:
Python编程课程系列
这个系列主要是从浅到深地介绍Python编程方方面面的知识,主要的参考文献是《Python核心编程》的第一部分和《Fluent Python》。这个系列目前设计了16章,每一章大概有5-10个课时,每个课时设计的时长为15-30分钟。
Python数据分析系列
这个系列主要讲述Python的数据分析工具箱和如何使用Python做数据分析,主要的参考文献是《利用Python进行数据分析》、Python数据分析库的官方文档,以及我的本科统计和计量教材(几十本,就不一一列举了)。
Django搭建商业级网络应用
这个系列主要是利用Django + REST Framework来搭建商业级网络应用,案例是上架这个课程的课程平台。除了讲框架和Web相关知识,还会讲如何做跨平台的App和小程序应用,另外还会讲很多有益的工程实践,比如测试驱动、版本控制、CI/CD等等。
第一阶段计划上线的课程包括Python编程课程系列的前三章和Python数据分析第一章,全部为免费试听课程,计划上线的DDL为今年年底。
其中,Python基础课的前三章分别是
· Python有哪些应用,如何学习Python等;
· 安装Python、配置Python开发环境;
· Python快速入门。
Python数据分析的第一章主要是
· 数据分析的框架、如何用Python做数据分析。
无论是从教学本身,还是从互联网产品设计的角度,这部分的课程都非常难设计。
从教学目的的角度来讲,这部分需要完成基础概念的铺垫,为后续课程铺路,因此既不能讲过多的东西,又要把后期需要用到的点都讲透,界限非常难以把握。
从产品设计的角度来讲,作为免费试听课,是用户体验检验产品是否好用的关键,后续的转化都依赖于高质量的试听课程。后面的课程反而容易设计,在用户有一定基础并且建立信任以后,只要按部就班地逐步而上就可以。
编程课,特别是Python编程课,在教学上有它的特别之处。Python编程课是一个很容易建立短期反馈的课程品类,操作性比较强,学习者做出来和做不出来都可以立刻通过编译器取得反馈。目前国内的高等教育课程都偏向于演绎式的逻辑体系,非常不适合这种实操性课程。另一方面,如果只有实操没有理论,又容易陷入机械化的初级职业培训,对于学员水平的提升也没有帮助。
录播课这种形式又给这种实操性强的课程带来了一些限制。
学习者往往在操作的时候会遇到各种各样的未知问题,课程制作方需要在无数次的重复中尽可能把这些问题都找出来,在入门阶段的设计中,或是避开这些问题,或是妥善地安排内容。在学习者还是小白的时候,他们往往是没有判断能力,不知道如何解决问题,过多的问题会特别打击新手的学习热情。
由于成本和时间限制,很多学习者会优先考虑录播课;从规模的角度考虑,一个大型课程平台也必须要有高质量的录播课。直播课可以作为补充,提供给有预算、希望更少走弯路的学习者,但规模也必然受限制。
为了减少每节课的压力,同时让知识点不过度碎片化,我们把课程的时间设置在15分钟,讲解的容量大概是Python教科书的一节。
视频课相比于文字课,最大的优点是立体,比如说我可以在讲这个内容的时候补充一下别的内容,通过我的语气、节奏等各种教学技巧来突出重点,讲解速度也就相对减慢了。
当然,需要减慢理解的学习者本身就是基础薄弱或者学习能力不足;通过文字教程即可入门的人群并不是视频课程的目标用户,这部分用户在整个市场中也较少,我们也为这部分用户设计了别的方案,比如可以参与实际生产项目的实战训练营。
另一方面,一节课又不能过长,过长的时间会容易让用户感到疲劳,番茄学习法推荐的时间一般为25分钟,算上进入学习状态和做练习题的时间差不多刚刚好。
高等教育这个在线教育的细分市场,需要在当下碎片化的趋势和深度学习必要的时间精力注意力限制之间做好平衡。过度碎片化,可以吸引一时的流量,但最终会缩短产品生命周期;为了保持教学效果,必然要在转化率上有很大的牺牲,因此发掘单个用户的价值、提高单个用户的转化度和粘性很重要。
比如,在课程平台的各个角落设计提示,引导用户按照更科学的学习方式学习,注意在课程开始前强调学习方法并且让每一个用户都接收到;
课程体系需要不断完善扩大,让花费大价钱获取的用户可以在平台上有更长的用户生命周期;
定期的学习提醒可以大大提高学习效果,也可以促进用户活跃度。这些都需要课程平台配合课程本身做很多打磨,这也是我们自己定制课程平台的主要原因。
下面介绍下一阶段具体课程内容的优化计划。
Python快速入门的课程被分为了7节。
第一节讲Python中的基本单元”语句“,以及各种运算符。
在讲解的过程中发现,语句是一个不太有必要对新手强调的概念,没有这个概念其实也可以正常地入门。运算符往往和具体的数据类型或者控制语句相关,单独讲就需要把后面的内容都拉出来讲一遍,所以没有单独讲的必要。而Python的基础为对象,很多时候都需要用到一些基本的对象操作,可能需要先提一下。另外,一开始写不对程序出现各种报错也是很常见的,所以错误和异常的概念也需要先提。
综上,第一节打算调整为:
弱化”语句“的概念,仅简单提到概念,在后续的内容中提到具体语句的分类;
删除运算符相关知识,放到后面必要的内容前讲,比如在数字类型里讲算术运算符,控制语句里讲逻辑运算符和成员操作符;
增加”对象“、”属性“、”方法“、”函数“的基本使用方法;增加”异常“的概念,在后续的内容中有新的报错类型就制造例子讲,比如讲到字典就讲KeyError。
调整以后,这一讲的内容会不太有重点,也不太有条理,主要需要依靠教学技巧来突出重点,教学效果也需要反复测试,会是迭代课程的重点。
第二节讲基本数据类型,第三节讲控制语句,这两部分都比较简单,内容也比较固定,不需要做太多调整。
第四节是函数,第五节是类和实例,第六节是模块。这几节的部分概念会在第一节里提到,所以这三节的教学重点放在如何自定义他们。
第七节是错误与异常,重点将会放在如何处理上,比如try-except和raise语句。
由于第一节的大幅调整,以及后面几节跟随的变化,新的课程内容会更加贴近学习者在学习中自然而然产生的困惑,并实现及时解答,整体也会更加有深度。
另一方面,砍掉不必要的列举扩展概念的内容以后,内容更加集中,预期多余的知识点会更少,让用户学完以后可以立刻写出一个简单的Python程序,并且可以直接入门Python的其他内容,比如数据分析或者Web框架,允许学员在学习其他内容的同时深入Python语法,让后续课程的设计可以更加灵活。
课程制作完成以后,会在量潮课堂官网(http://class.quanttide.com)上架,目前课程平台还在建设中。
