金融生计算思维培养探讨
2020-09-10王婷
王婷
【摘 要】随着人工智能技术在金融行业的深入应用,对金融专业学生的计算机水平要求也越来越高。计算思维能力的提升有助于学生更有效地使用计算机及进行二次开发,对金融生而言尤为重要。文章以Python程序设计课程的教学为依托,提供了培养金融生计算思维的一些思路和手段,实践表明取得了良好效果。
【关键词】计算思维;Python;金融专业
一、引言
计算机技术正在以前所未有的速度改变着大量行业的生态。员工们的职责,从相对低技术含量的数据收集整理、加工分析,过渡到流程分析控制、程序设计和决策方向。金融专业的各个方向,诸如银行、证券、财会的人力市场,已经开始感受到冲击:2017年,世界四大会计师事务所不约而同地推出了各自的智能财务机器人;2018年,商业银行裁员达到七万人以上[1];2020年3月,汇丰银行提出3.5万人裁员计划。投资银行也在持续裁员,但与之相对应的是,高盛加大了程序员的招聘数量。这些趋势,要求我们转变对金融专业学生的培养思路,增加更多的计算技术训练,以适应发展和转型的需要。
计算思维与逻辑思维、实证思维并列为三大科学思维[2]。它来源于计算技术的发展,促使我们用自动化、批处理的思路去分析问题、解决问题。自2006年,周以真教授提出计算思维的概念以来,计算思维的研究进展非常快。我国教育部高等学校大学计算机课程教学指导委员会在2015年发布的《大学计算机基础课程教学基本要求》中明确指出,计算机通识课程改革,要以计算思维为导向[3]。对于金融专业的学生来说,掌握计算思维并投入实际应用,将成为他们的必备技能。
二、金融生程序设计语言的选择
从无到有的创造,对每一个学生来说,都具有强大的吸引力。新生代大学生,由于长期接触电子产品,对程序的“无所不能”,早已心怀向往。从公共选修课的选课数据来看,微信小程序、app设计、网页设计、游戏设计等课程,供不应求。在这些课程里,最能让学生体会到计算思维魅力的,当属程序设计。对于非计算机专业的学生来说,能分配在程序学习上的时间有限,如果语法过于繁琐,一学期结束时,仍在语法细节上纠缠,看不到多少实际的运行效果,更看不到对本专业学习和工作的支撑作用,势必打击学生编程的兴趣,甚至进而影响到其学习其它计算机课程的积极性。所以需要选择一门合适的入门编程语言。
本校的计算机基础教学体系,本着以学生为中心的原则,在教育部高教司及高等学校计算机课程教指委的指导下,经过了多轮改革。从早期《大学计算机基础》的单一教学,到中期的1+N课程试点,直至建立目前的“宽专融”课程体系。其中程序设计课程,也经历过VB、C语言和Python的多种尝试。目前看来,Python比较适合用来做非计算机专业学生的编程启蒙和计算思维启蒙。
Python的主要弱点是执行速度较慢,硬件技术的飞速发展在一定程度上可以抵消这个弱势,而Python的优点则非常突出:
1)语法优雅简单,易学易懂;结构直观,以缩进的方式明确层次关系,便于理解和调试;面向对象,代码易于复用。
2)提供多达13万个标准库和扩展库,涉及数据计算、分析和处理的有NumPy、pandas、arch、pylab等,它们可以有效屏蔽底层的实现细节,以相对更接近金融学公式的写法来实现程序的设计思路,有助于学生将关注点聚焦于问题分析和处理方法。
3)有大量的字符串内置函数和推导式,便于矩阵类数据运算,为金融数据建模和计算提供了便利。
三、针对金融专业的Python教学设计与实施
(一)教学目标
教学目标主要设计为三个层次:语法教学方面,要求熟练掌握Python语言的基本语法,了解程序的调试方法,理解面向对象编程的相关概念和函数式编程模式,能熟练使用常用库。能力方面,要求学生熟悉常用计算机算法,能独立分析问题并编写代码形成自动化的解决方案。素养方面,提升学生的计算思维能力,包括进一步加深对计算机硬软件机制的了解,理解抽象、构造、递归和迭代等计算思维常用手段。
(二)教学内容
由于需要实现的目标比较多,我们将课程分为课内和课外两个部分,课内教学48课时课外自修24课时。在48个课时里,综合考虑语法、计算思维和金融专业三方面的结合,将理论知识充分融进实践应用中,有效提升学生用计算思维去分析解决问题的能力。
在教材的选择上,由于没有现成的面向金融专业的Python入门级课本,所以目前仍然选择了通用型Python教材,以董付国的《Python程序设计基础与应用》为主,适当补充数据分析处理方面的章节和案例,学时分配如表1所示:
课外学时主要用于学习知识点,课内教学主要以案例串联起相关知识点,实现学以致用、知行合一。案例按关键知识点分组,主要案例组设计如表2所示:
各案例组既有独立性,也有关联性。例如绘图中的数据,来源于数据分析和向量组。在每个案例组中,通常有两个渐进式的例题,由易至难或由共性到专业。例如阶梯式计算,由贴近日常的水电费计算,过渡到與金融相关的个税计算。在数据分析中,由学生的成绩分析,扩展至证券数据分析。比较复杂的案例,会使用两周的时间来完成。
(三)教学手段
由于时间紧,任务重,传统的课堂教学形式已经不能适应课程需要,所以本课程在开课之初的设计时,就穿插了多种教学手段,充分借鉴了目前比较成熟的翻转课堂模式。
在课外自学课时中,要求学生利用超星学习通、微信雨课堂等平台观看小视频进行预习并完成相应章节测试。在这个过程中,教师可以通过平台收集的数据,例如视频的重复观看次数,每个小题的得分率等,了解到学生在哪些知识点的学习上遇到的阻碍比较大,从而及时调整后续课堂教学的重点。有的放矢的教学,有效提高了学习效率。
课堂教学主要在实验室进行。课前以统调数据和测试成绩为依据,按每个班的特点,将学生划分为几种类型,例如语法细节掌握比较好的、算法思路清晰的、调试耐心的、表达能力强的等。在此基础上,将学生分成5人小组,每一组中尽量包含更多类型的学生。教师先进行知识点总结,然后引出课堂主要案例,提出部分思路,接下来由小组各自讨论实现的方法并编写代码进行验证。最终各小组形成解决该类问题的要点文档,并在班级群内传阅,以开阔大家的思路。这个分析、验证和总结的过程,就是不断锤炼学生计算思维的过程,让他们逐渐明了,哪些问题,用哪些手段,就可以变成计算机能解决的问题。让他们深刻理解到,有时候为了方法的通用性更强,代码的鲁棒性更好,我们会引入一些让问题看上去更复杂的元素。
课后作业要求独立完成,有选做和必做两个部分。选做题难度较高,不要求上交,正确答案一周后会直接公布在班级群中。
(四)评价标准
评价体系中增加对计算思维的考查部分,主要方法有二:一是将平时成绩在总评成绩中的占比提高到百分之五十,二是在期末考试中增加分析类题型。平时成绩中,除了常规的考勤、课前成绩和作业成绩外,小组的总结文档成绩占到百分之四十。文档不规定具体的形式,学生上交的有条目式、表格式、流程图式和思维导图式等。这部分成绩要求教师在日常教学中勤观察、严要求,避免有学生混水摸鱼。
(五)实施效果
以上教学施行了两个学期,从考查结果来看,百分七十三的学生初步建立了编程分析二维数据的能力,能生成直观化的数据分析图形,远高于前期C语言教学时百分之二十一的数据。程序设计题的得分率达到百分之八十三,为后续的金融大数据分析和金融时间序列分析等课程打下了良好的基础。
从收集的反馈数据来看,学生普遍表示难度适中,多数实验能够独立完成或检索资料后独立完成;在编程的过程中能体验到成就感,加强了学习计算机的兴趣和信心。部分同学主动提出,希望能得到后期自学的渠道和素材。
四、结语
为适应新形势下的工作环境,迎接人工智能时代的到来,金融专业的学生应及时转变计算机课程体系的重心,注重计算思维的培养和编程能力的提升。通过合理的设计,程序课与金融专业课可以起到一个良好的互相促进作用。专业课为程序课提供素材,提高代码的实用性,程序课为专业课提供实现手段,促进学生对公式和计算思维、自动化处理的理解。在后续阶段,一方面尝试引入各类竞赛和考级,以考促学,进一步激发学生的学习兴趣。另一方面,仍需加强跨专业合作,与金融专业教师增加交流和探讨,提供更多与专业结合更紧密的项目和案例。
【参考文献】
[1] 李焱、中国基金报(ID:chinafundnews 记者:乔麦)等. 21世纪经济报道[OL]. https://baijiahao.baidu.com/s?id=1652004691191396559&wfr=spider&for=pc ,2019.12
[2] 朱亞宗. 论计算思维———计算思维的科学定位、基本原理及创新路径[J].计算机科学,2009.4
[3] 教育部高等学校大学计算机课程教学指导委员会.大学计算机基础课程教学基本要求[M]. 北京: 高等教育出版社, 2016: 1