高职院校开设基于计算思维的程序设计课程初探*
2015-02-18毛睿刘闻慧
◆毛睿 刘闻慧
高职院校开设基于计算思维的程序设计课程初探*
◆毛睿 刘闻慧
针对目前传统计算机程序课中存在的问题,提出基于计算思维的课程教学模式,并在高职院校开设基于计算思维的程序设计课程,以Python语言为载体,实践并总结培养学生计算思维课程的改革要点,并希望以此为契机,为高职计算机学科中的其他课程教学提供一种可以借鉴的改革模式。
计算思维;程序设计;Python语言;翻转课堂
10.3969/j.issn.1671-489X.2015.24.101
1 研究背景
随着学生的计算机基础越来越好,现在的计算机入门课程知识已经显得过于基础,不足以引发学生对计算机课学习的兴趣。本文主要以Python语言作为载体,探讨如何对计算机入门课程进行改革,在课程中引入对计算思维的培养。
2 教学现状
在传统教学中存在一系列问题。
学生的计算机基础参差不齐 有的学生之前接触过大量的计算机知识,对教师讲的入门知识不以为然,认为学习这门课没有意思;而有的来自偏远落后地区的学生之前没有计算机的学习条件,总也学不会,加上其他学生学得很快,自己就会产生自卑心理,而放弃学习。
没能将学生的学习兴趣正确加以利用 学生在初接触计算机时其实是抱着很浓厚的学习兴趣,可是一旦接触到复杂的算法和需要很强逻辑能力的程序时,课程开始变得枯燥,这时候学生学习兴趣大减,甚至开始厌烦。大多数的学生就因为程序代码拼写错误总是不能运行出结果而放弃对程序设计课程的学习。若教师能在学生学习兴趣浓厚时抓住学生的心理对教学内容进行适当调整,就能很好地引导学生度过这段厌烦时期。
忽略了对思维的培养 在以往的教学中,总是更倾向于教师讲学生听,以教师为中心,在这种教学模式下学生太被动,心理上容易疲乏,从而学不到想学的知识或者很容易忽略重要的知识。教师太过注重教会学生,而往往忽略了思考问题的这个过程。讲程序设计课时,学生往往只把教师的例题敲出来运行成功就停了,没有做进一步的延伸思考。学生这样的学习更像是打字和记忆力的训练,根本没起到锻炼思维能力的作用。
为了顺利通过考试,学生很容易将自己的学习重心放在学习的结果即成绩上,而忽略了对自身思维的培养,教师和学生为了提高通过率而将课堂变成备战考试的地方。学生因为更关注问题的答案而非解决问题的过程,所以未能形成一种有效的思维模式,大多数学生题目做对了就再也不去做进一步思考。事实上,这样并未能完成学生来到大学培养思维能力、学习能力和动手能力的最初目标,甚至适得其反,将大量的时间花在死记硬背上,学生还未毕业就已经将知识忘记,达不到培养计算思维的教学目的。
3 以培养计算思维为目的的课程改革
云南交通职业技术学院开展以培养高职学生“计算思维能力”为核心的、计算机类课程的教学改革,并希望以此为契机,为高职计算机学科中的其他课程教学提供一种可以借鉴的改革模式。为将“计算思维能力”的具体培养目标付诸于教学实践,在原有教学实践的基础上,通过开设Python程序设计课程,以其为载体,达到培养目标。
Python代码的书写规则近似于英语语言,更与计算机算法中的“伪代码”极其相似,学生更易于拼写,减少了书写错误的概率。对于计算机基础课程来说,Python更适合计算机知识不太扎实的入门者来学习。而Python自身的IDLE在Windows和UNIX上都有着很好的支持,学习者只需要进行简单的入门学习,就可以在短时间内写出效率高的代码。由于抛开了对专业背景的依赖,使得没有经过系统的计算机学习的学生也能快速掌握并进行编程,大大提高了学生的学习兴趣。
Python强大、开源免费的类库使得开发和测试更加方便,可以自行扩展库,实现自己的特色,这也增加了程序设计课程的趣味性,给有编程爱好的学生提供了广阔的扩展空间。故选择Python语言作为计算机程序设计课的入门语言,在课堂中主要从以下几方面做改革。
1)针对计算机基础参差不齐的学生,笔者分别针对非计算机专业学生开设Python程序设计Ⅰ课程(40学时),针对计算机专业学生和已经掌握Python程序设计Ⅰ课程的学生开设Python程序设计Ⅱ课程(40学时)。
非计算机专业学生大多数没有系统地学习过理论知识,只是对计算机知识有浓厚的兴趣。所以在课程讲授时,多选用简单易懂的案例,循序渐进,根据学生的接受程度来适当增减教学内容,力求让每一个学生都能够自主完成一段程序再进入下一个知识单元。
计算机专业学生具有理论知识功底,且大多数已经学习过其他的编程语言,故采用分组教学法,尽量选择实际生活中应用着的案例,分组讨论分析,作业也分组完成,让学生在小组讨论的过程中巩固并系统地掌握知识点。
40学时的课时设计,每周刚好安排一次两个学时的课程,目的是为了留给学生充足的课外时间去引发思考和学习。对于已经有计算机基础的学生来说,他们更愿意在基础知识之上去开发自己感兴趣的内容来学习,而在学习过程中才会引发更多的思考和问题,达到自主学习的目的;对于毫无计算机功底的学生来说,课程如果安排得太过紧密,反而会把他们已经引发兴趣却还没有消化的知识丢弃,久而久之,学生越来越跟不上进度,也就丧失了学习的动力,所以笔者选择了每周两个学时的课时设计。
2)让兴趣成为学生自主思维的动力。根据观察,非计算机专业的学生容易对长时间的理论知识学习产生厌倦情绪,而更容易对程序运行出的结果产生兴趣。故在讲授时,先由生活中随处可见的简单算法引入,如欢迎消息框、登录验证等,当学生发现他们也能够生成这样的小代码时,便会激起自主思考的欲望,他们会越学习越发现问题,越有问题就越想学习。
计算机专业的学生又不相同,他们的注意点不再被简单的算法吸引,但是复杂的程序又容易让他们失去信心,所以选择了一些实用的程序让其小组分段分析,如手机APP应用中的一段、游戏插件中的一段,学生知道所学程序与生活应用息息相关,就算面对略微复杂的程序也不会失去动力,反而会主动查阅资料去研究学习。
3)启发自主思考,培养计算思维。在传统的程序设计课程中,学生仅仅是将教师的案例敲击出来运行没有错误,就停止学习和思考了,这样丝毫起不到锻炼学生思维能力的作用。因此,在教授时,笔者采用适当的翻转课堂模式,先把课堂需要的知识点提前发给学生课前学习,在课堂上再用10~15分钟时间理顺知识点,就开始针对不同基础的学生分发难易程度不同的案例:先让学生利用所预习知识编写伪代码,实在不行的学生也要能用框图或文字表达出思路;然后教师讲解,再对例题提出更多问题,如此往复,以训练学生独立的思维能力。
在讲授时,教师不再单纯给出答案,而是由问题引入,一步步阐述自己的解题思维过程,分步引发学生再次思考。由于学生在课堂之前以及课堂中就已经自主思考过,在教师讲解时就容易抓得住重点,针对自己思考过程中的问题再次反思。经过这一系列过程,学生不但牢固掌握了知识,也不再单纯依赖教师“解惑”,而是掌握了自己发现问题、思考问题的学习技能。
4)考试模式的改变。大多数学生对大学学习的心态已经变成“拿够学分就好”,根本不会自主有目的地培养自己,所以笔者降低了期末考试在成绩认定中的比重,增加了平时案例完成情况的分量。平时每完成一个案例,就直接给学生评分,并计入期末成绩,这样学生平时也不会太松懈,到学期末又不至于太紧张。
4 研究结论
基于计算思维的课程教学模式,应以培养学生主动思维为主,充分发挥学生的主观能动性,要通过教师的引导让学生爱上学习、自己发现问题、主动求解问题,而教师教授的重点要由原来的解答问题变成培养学生自主解答问题。然而,学时太少往往会让学生无法获取到足够的基础知识,到学期末的时候,仍然只是掌握了皮毛。对于学习积极性较弱的学生,这种过分依赖于其课后自学的模式反而会让其一无所获。因此,如何权衡课堂学习时间与学生自主学习的时间,仍然是值得再探索实验和深究的问题。■
G712
B
1671-489X(2015)24-0101-02
云南省教育厅2012年“云南省高等学校教学改革研究项目”;云南交通职业技术学院2012年“质量工程科研项目”“在程序设计课程中引入培养‘计算思维’的教学实践”。
作者:毛睿,云南交通职业技术学院交通信息工程学院,讲师,研究方向为计算机应用;刘闻慧,云南交通职业技术学院交通信息工程学院副教授,研究方向为计算机应用(650500)。