陈丽芳,静丽贤
(1.河北联合大学理学院,河北 唐山063009;2.河北联合大学 以升学院,河北 唐山063009)
目前,大多数高校将大学计算机应用基础课程分为两个层次进行教学:第一层次讲授计算机基础;第二层次讲授一门程序设计语言[1]。因此,程序设计课程是非计算机专业学生的公共基础必修课,一般都在大一的第二学期开设。该课程是大学生的第一门程序设计课程,其教学目的是在实践中逐步掌握程序设计的思想和方法,培养解决问题的思维习惯和能力。
茅以升实验班是我校实施创新教育的一个实验基地,他们来自各个不同专业,是每一届新生里的精英,计算思维能力和实践能力的培养对他们后续专业课程的学习及今后的工作开展都是至关重要的,因此,在教学内容和方法的选择上,既要让学生掌握程序设计的思想,又要培养计算思维和实践能力,使他们能够自己动手编程解决实际问题。然而,目前传统的教学方法与评价手段难以体现计算思维与实践能力培养的最终目标,如何在程序设计课程教学过程中对教学模式和教学方法及评价机制进行改革,是提高人才培养质量急需解决的问题。
因此,本文针对程序设计基础课程的教学方法进行研究,培养学生的计算思维能力;利用计算机分析问题、解决问题的实践能力,能够在后续的学习和工作中应用现代信息技术和工具环境解决自己专业领域中的问题。
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学的一系列思维活动[2]。从计算思维的角度,程序设计课程的目的不单是编写出特定的程序,更重要的是培养系统性的科学的思维方式。计算思维能力培养是大学通识教育的重要组成部分。计算机知识不仅为不同专业提供了解决专业问题的有效方法和手段,而且提供了一种独特的处理问题的思维方式。非计算机专业程序设计课程要求学生能够掌握解决实际问题的算法思想和算法设计,注重的是计算思维训练和实践能力培养。结合学生自身的特点,力求将计算思维与实践能力培养贯穿于整个教学过程中,对高校程序设计基础的教学有很大的指导作用,该成果的研究和实践,具有一定的推广价值。
程序设计课程学习的目的是应用,能够利用计算机作为工具解决现实生活和工作中的问题,编制利于使用的软件产品。因此,实践能力培养是体现理论与实际相结合的重要教学目标[3-5]。笔者通过教学研究和茅以升实验班课程的实践,根据学生普遍比较聪明、勤奋和接受能力强的特点和优势,将软件工程的思想和思维训练融入教学的各个环节。这对教师的知识面、能力、教学过程等有更高的要求,将大大促进教师业务能力的提升;能够激发学生的创新思维和动手实践的热情,从而提高学生的学习主动性和积极性;考核方式体现了基础知识掌握程度与实践能力和思维的综合性,能够进一步提高教学质量。
通过教学模式、教学方法及考核方式的改革,提高学生兴趣和自主学习能力;加强实践能力培养,提高人才培养质量,适应社会需求;将思维训练与软件工程的思想融合在教学的各个环节中,使学科知识与思维能力互相促进,共同提高。
茅以升实验班是从大一新生中通过考试选拔出来的佼佼者,是精英团队,他们具有自身的性格特征及环境特征。
1.性格特征
第一,普遍较敏感、爱面子,说不得。例如:上机实验时,调试程序出现错误不愿意请教老师和同学,认为“没面子”,自己宁愿花费更多的时间查询错误原因,因而浪费了大量宝贵的时间;第二,上课与老师互动积极踊跃,课堂气氛活跃,思维敏捷。但学的快,忘的快,复习不到位。
2.环境特征
实验班的学生是精英,各种校级省级大赛一定会从中筛选学生参加,课余活动牵扯过多精力,导致部分不擅长规划的学生用于学习的时间过少;由于课堂表现极佳,教师对学生有很高的期望,然而最后的结果却是:考试成绩不理想,不及格人数有的科目甚至超过普通班级同学,令任课教师们感到焦虑万分。
鉴于此,针对学生情况,制定符合他们特点的教学模式和考核方式势在必行。
1.教学模式改革
兴趣驱动教学:从兴趣驱动出发,结合实际生活中问题(例如:身高预测、小学生计算机辅助教学系统),在课堂教学中将工程化的方法应用于编制软件中,按照可行性研究、需求分析、概要设计、详细设计、编码、测试、调试的软件工程流程组织教学,真正的让学生理解做软件的整个思想和过程。在“做”中“学”,淡化基础知识的讲解,需要用到的部分学生课下自学。
项目驱动教学:以两个完整的教学案例作为项目研究,一步一步的贯穿完成,教师在教学中发挥引导和关键步骤点拨的作用,将学习的主动权交还给学生,以提出问题,解决问题的方式,引入结构化程序设计和模块化思想,实现计算思维的训练和实践能力培养的目标。以11级实验班为例,根据学生人数分组,66人分成11个小组,每6人一组,推选一名组长。每个小组分配内容相关的课程设计题目,随着课堂内容的深入,逐步完成,到学期末上交软件作品。
2.考核方式改革
课程设计:考核方式采用课堂答辩的形式,成绩=小组得分(40%)+个人得分(60%)。
小组得分:由11位组长讲解自己小组的软件,讲解其功能和特色,其余10个小组长和老师共同打分,老师(60%)+小组长们(40%),确定11个组的分数;
个人得分:组内互评,一名同学讲解自己所做部分,本组内的其余同学和老师一起当评委,为每位同学打分,老师(40%)+同学(60%)。
笔试:重点考查学生的语法结构等基础知识,以选择题和阅读程序为主,考查学生运用基础知识解决问题的熟练程度。
平时成绩:根据学生平时作业、上课和上机过程中的表现,综合评分。
比值分配:课程设计(60%)+笔试(20%)+平时成绩(20%)。
3.教学方法改革
第一,针对实验班学生的学情分析以及小班教学的优势,根据每个学生的特点引导他们制定自己的学习计划,合理安排好自己的时间;
第二,将软件工程的思想应用于程序设计课程中,使学生从接触第一门计算机语言就深刻理解程序设计的本质和流程,加强计算思维能力与实践能力培养;
第三,小组式教学模式设计,培养学生的团队合作精神。
结合本课程思维训练及实践性强的特点,将软件工程的思想应用于教学模式改革,实现计算思维的训练和实践能力培养的目标。在教学中采用可行性研究、需求分析、概要设计、详细设计、编码、测试、调试、应用与维护的步骤,完成整个软件的编制工作。每个阶段给学生留出时间完成自己小组的该部分内容,关键点教师引导。该教学方法极大的调动了学生的学习积极性和主动性,有利于创新能力的发掘和培养,颠覆了传统教学模式;考核形式的多样化,保证了基础知识的掌握并给学生留有充分的发挥空间,注重动手能力的培养。
通过完成课程设计作品并撰写课程设计报告,实现计算思维的转换,使学生进一步理解软件工程的思想,从总体上把握程序设计课程在整个软件制作过程中所处的位置,明确流程中其他环节的重要性;为后续课程的学习打下良好的基础,并能在工作中应用现代信息技术和工具环境解决自己专业领域中的问题。
本项目的研究和实践成果,符合未来人才发展需求。教学模式的改革充分体现了先进性、可行性,具有新颖性、灵活性和发展性。对本科计算机程序设计也具有一定的指导作用,同时具有较好的推广价值。
[1]余庆英,刘莉,陈传明.非计算机专业C程序设计教学方法创新[J].计算机教育,2010(10):118-121.
[2]苏海英.计算思维理论指导下的程序设计教学改革实践[J].现代计算机,2012(4):32-34.
[3]王重英.C语言程序设计教学改革与实践[J].软件,2012(5):111-113.
[4]杨征,程志君,张健东.程序设计系列课程教学改革研究[J].科教导刊,2011(11).
[5]李霞.以项目教学法构建C程序设计课程[J].运城学院学报,2011(4):72-74.