以目标为导向的C语言教学尝试

2015-05-15 10:25王新峰徐洪智陈园琼
现代计算机 2015年6期
关键词:C语言研讨知识点

王新峰,徐洪智,陈园琼

(吉首大学软件服务外包学院,张家界 427000)

以目标为导向的C语言教学尝试

王新峰,徐洪智,陈园琼

(吉首大学软件服务外包学院,张家界 427000)

将企业高效的以目标为导向的管理机制应用到C语言教学中,通过对学习的三个主体学生、教师、教材分析确定三个目标:掌握实用的C语言知识、职业化素养的培养、分析和解决问题能力的培养。并通过平时能力测试和研讨式教学来确保目标的达成,通过改革期末成绩考核标准对结果进行验收。

C语言;目标导向;研讨式

0 引言

C语言是软件工程专业学生的第一门专业课程,也是最基础的课程,可以说C语言学得好不好直接影响着学生的学习兴趣和将下来专业课程的学习,所以教好C语言是很重要的教学任务,但传统的C语言教学存在一些问题:学生反馈知识太难,学了用不上没兴趣,教师偏重C语言语法讲授等[1]。C语言教学改革一直是学院主抓的重点,笔者有丰富的大企业软件开发的经历,现尝试将企业高效的以目标为导向的管理机制引入到C语言教学之中,进行一次新的尝试。

以目标为导向的管理机制的优点有:方向性强,参与的每个成员都清楚知道自己要做的事及整体最终要达到的目标。效率高,在达到日期的压力下,会激发更多动力。对工作成果的考核更容易,通过目标是否实现及实现的效果进行考核评判即可。

1 目标的确定

1.1 目标制定前的分析

学校的目标是为了让学生掌握知识,提高能力,因此在目标致定时需要考虑跟目标相关的主体,这里分为:学生、教师、教材。

(1)学生

我院学生都是软件工程专业,这个专业对计算机编程能力有很高的要求,学生必须掌握扎实的C语言功底和实际动手能力,同时学生的数学普遍不好,因此在教学时要注重实际操作,理论讲解要简单实用。

(2)教师

本门课的教师有着丰富的开发经验,能从实用角度出发讲解知识,而教学经验不足,把握课堂能力和整体知识点连贯性能力不强。教师方面需要一个现成的教学方案来支持。

(3)教材

教材选用谭浩强的教材,这个是目前高校最流行的教材,选用本教材的好处就是:知识点全面,应用广泛,学生能在网上找到需要的资料,这两点都有利于自学。

1.2 目标的制定

目标制定要符合SMART原则(S=Specific(明确性)、M=Measurable(可衡量性)、A=Attainable(可达成性)、R=Relevant(相关性)、T=Time-based)(时限性)。通过分析确定了本次教学目标:在一个学期内让学生掌握实用的C语言知识,同时能用职业化的思维方式来解决具体问题,教师通过能力测试和研讨式教学来确保目标的达成,具体目标说明如下:

(1)掌握实用的C语言功底

根据实际开发需要,确定主要知识点有:三大结构(顺序、选择、循环)、一维数组、函数(重点)、指针、结构体。对于这些重要知识点要花更多时间,同时要结合实际,讲解生动。如函数知识点,这是重中之重,函数分为四个部分:函数名、参数、返回值、功能体。为了加深学生理解,可以用电风扇来类比,电风扇写成函数如下:函数名(电风扇)、参数(电、风级、摇头)、返回值(风)、功能体(电能通过电动机转成动能,带动叶子转动,产生风)。

对于那些不太实用的知识,不纠结在语法上,不要求学生死记硬背知识点,但要告诉学生如何使用这些知识点,例如运算符的优先级,++,--的使用。如需要写a+b*c--/d这样的表达式,在实用开发中的解决办法是:把c--拆分出来,再用()把需要一起的括起来,最终结果这样:c--;a+(b*c)/d;这样看起来不会产生误解,读起来也更方便。

(2)职业化素养的培养

软件工程专业毕业将来从事的是IT职业,如果在学校期间学生就开始注意职业化素养的养成,不仅能提高竞争力,同时还能更快地融入到企业中。在IT行业里,职业化的体现在于:良好的代码风格和模块化的思维方式,这两点需要在一次次的实践中养成。

为了养成对代码风格的重视,规定不按通用代码风格写出的代码,作业实践都不计分。如表1是在要求学生严格按照通用的代码风格写出的代码对比,功能一模一样,但看上去右边的明显更加专业。

表1 代码风格对比

模块化就是功能化,功能化也就意味着函数化,所以在学完函数之后,之后布置的作业和实验题都需要用函数。在一个完整的代码里,要求至少需要三个功能部分:数据的输入、数据的处理、数据的输出。

(3)分析和解决问题能力的培养

C语言是一门实践性的课程,对动手强力有很强的要求,培养学生的动手能力也是最终的目标。独立分析和找到办法解决问题的能力的培养,只能通过一次次的实际操作形成,本院正在推广的研讨式学习方案能很好的达到这个目的,有关研讨式在下节中重点讲。

2 通过过程来确保目标的达成

目标的确定完之后,最终能否达成需要各方面的努力,而具体的实现方案是根本保证。重点介绍下研讨式教学方案[2]。

2.1 研讨主题确认

通过前面的目标分析,确定了C语言主要的知识点,这些就是研讨的主题,根据知识点设计相应的问题,如表2所示:

表2 研讨主题表

鉴于篇幅限制,只介绍下为什么主题一确定为求BMI指数,求BMI指数用到公式:指数(BMI)=体重(kg)÷身高^2(m),这个要用到顺序结构,在得到结果之后为了确定指数的标准要通过选择的嵌套实现,另外这个指数每个人都有,学生可以用来测试自己的指数,能激发兴趣,中国参考标准如下:

表3 BM I中国参考标准

2.2 与学生的沟通

需要把整体研讨方案跟学生提前讲清楚,让他们知道本课程的学习安排做好心理准备,再随机把学生分成5~6人一组,每一次研讨之前就把问题提前布置下去,让学生自行讨论。

2.3 具体的研讨

研讨的流程如下:

①随机抽取一组上台讲解他们的方案:包括PPT讲解思路,源代码展示结果(时间10分)。

②介绍完之后,其他学生提问讨论(5分钟)。

③讨论完开始打分,一个组最终得于由学生(50%)+教师(50%)组成。

④一次课随机4~5组,之后剩下10~15分钟左右教师讲解涉及的知识点。

2.4 如何保证研讨式的进展

改革评分体系,C语言最终成绩=研试式得分(40%)+平时能力测试(30%)+期末考试(20%),这样的评分会给学习创造动力——每次做得好都会直接影响最终成绩,同时也造成一点压力——不能偷懒,想只在期末考试时临时疯狂背书来获得高分是不可能的。

3 目标的验收

为了确保目标的达成,及时的测试和跟进是重要的监督手段。而目标的验收不能仅局限在最后一次,如果最后一次出现问题则没有时间来调整,需要分阶段检查。本课程采用平时能力测试+期末考核验收方案,每个月进行一次平时能力测试,把本月的重点知识都列出来,做个简单的小测试(时间15~20分钟),课程结束后再进行一次期末总考核。

这样的测试方式有很多优点:

①测试的结果更加真实,时间短学生没有时间抄袭。

②能找出学习跟不上的学生及时督促和帮助,本门课程通过第一次平时测试就找出2名沉迷网游的学生,通过谈心和课堂时重点关注,在第二次测试时成绩从20提高到65。

③考核更公平合理,学生不会因为一次期末考试发挥失常而得到很低的分数。

4 结语

通过以目标为导向的教学改革,取得了不错的成效,学生在面对一个问题时自己能独立分析和查找资料解决,综合素质明显提高(很多害羞的学生最后都能上台介绍方案)。

通过观察也发现本次尝试存在的一些问题:①由于分组是按5~6人进行,存在部分学生产生依赖感。②本尝试大大增加了教师的工作量,从研讨式选题,组织讨论,不同方案讲解,统计成绩等过程都增加了工作量。总的说来这是一次有益的尝试,需要在后续做进一步的完善。

[1] 刘晓锋,吴亚娟.计算机专业《C语言程序设计》教学与教学改革[J].四川师范学院学报,2004,24(l):34~36

[2] 覃遵跃,周清平.研讨式教学在Java语言课程中的应用[J].计算机教育,2014(18):55~58

Attempt of Goal-Oriented C Language Teaching

WANG Xing-feng,Y U H ong-zhi,C HEN Yuan-qiong
(School of Software and Service Outsourcing,Jishou University,Zhangjiajie 427000)

Applies corporate goal-oriented and efficientmanagementmechanism to the C Language teaching,through three learning objects which are students,teachers,textbook analysis,identifies three objectives:master C Language practical knowledge,professional accomplishment culture,ability of analyzing and solving the problem of culture.Through the usual ability test and research teaching to ensure that achieve their goals,through the reformation of the final grade assessment criteria to acceptance of the results.

C Language;Goal Orientation;Discussion

1007-1423(2015)06-0067-04

10.3969/j.issn.1007-1423.2015.06.017

王新峰(1986-),男,江西九江人,硕士研究生,助教,研究方向为嵌入式系统设计

徐洪智(1974-),男,湖南长沙人,博士,副教授,从事领域为软件工程专业教学与管理

2014-12-30

2015-01-28

陈园琼(1985-),女,湖南张家界人,硕士研究生,助教,研究方向为大数据、嵌入式、操作系统

猜你喜欢
C语言研讨知识点
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
基于C语言的计算机软件编程
GSM与FDD、NB-loT融合组网研讨
柑桔无公害栽培技术研讨
高职高专院校C语言程序设计教学改革探索
关于G20 的知识点