基于已有文献的“程序设计能力”元分析

时间:2022-09-21 02:57:59

基于已有文献的“程序设计能力”元分析

摘要:本文基于目前已有的关于“程序设计能力”的文献进行元分析,在此基础上,得到学者对于“程序设计能力”这一概念的普遍认识:程序设计能力是一个综合能力,共包含12个因素,这些因素构成了一个能力环。能力环包括三个层次,分别对应初级程序设计能力、中级程序设计能力和高级程序设计能力。通过界定具备“程序设计能力”人员的特点界定了“程序设计能力”的概念。

关键词:程序设计能力 内容分析法 能力环

Abstract: The article uses meta-analysis to study the references to ability of program design, by which it reaches consensus on its concept. The ability of program design is of a comprehensive ability, comprising twelve factors which form an ability ring. The ability ring contains three stages correspondent to the primary stage, the middle stage and the advanced stage. The concept of the ability to design the program is defined in the article by introducing the characteristics of the people who have the capacity to design the program.

Keywords: The ability to design program, Meta-analysis, Ability ring

程序设计能力是计算机专业学生必须具备的基本能力,关系到学生的学业成绩和未来发展。目前,关于这一研究领域,相关的文献数量非常多,本论文将基于这些文献进行“程序设计能力”的元分析。通过元分析,了解这一领域的研究现状、研究内容和研究方法。

1.关于“程序设计能力”的元分析

1.1数据来源

数据来源于中国知网()上发表的学术论文,首先登陆中国知网,进入检索界面,以“程序设计能力”为全文关键词进行检索。因为2014年还没有全年的数据,因此检索截至2013年,共检索到文献443篇。从文章发表数目来看,2005年之前,每年固定在1篇至4篇左右,2005年之后,文献数量呈井喷式增长,说明这一研究领域得到了较多学者的关注,文献数量折线图如下图所示。

1.2初步分析结果

在443篇文献中,以“程序设计”为关键词的有148篇,以“教学改革”为关键词的有63篇,以“C语言”为关键词的有56篇,以“教学方法为”关键词的有52篇,以“程序设计能力”为关键词的有44篇等等。

对这443篇文献的研究内容进行分析,发现大部分文献都集中于“程序设计能力”的这几个方面:

其一,提高程序设计能力的教学模式、教学方法:其中15篇文章使用了案例教学法,27篇文章使用了任务驱动教学方法,10篇文章主张以ACM竞赛来促进学生程序设计能力的提高。

其二,程序设计相关课程的教学改革:其中56篇文章是关于《C语言程序设计》课程的教学改革,35篇文章是关于《数据结构》课程的改革与实践,8篇文章是关于《VB程序设计》的教学改革,还有5篇文章涉及VFP课程教学。

其三,程序设计课程群的建设:有8篇文章是关于计算机专业课程群的建设。通过课程群(C语言、数据结构、面向对象程序设计、JAVA)的建设,打破学科之间的界限,对学生的程序设计能力进行连贯系统的培养。

其四,程序设计实验教学:有58篇文章是关于程序设计实验教学的改革与实践,通过改革实验方法、实验内容、评价体系,加强学生程序设计能力的培养。

1.3研究局限

这些文献的研究内容比较集中,主要集中在教学方法、实验方法、某门课程的教学改革上。研究方法多是思辨的方法,实证研究较少,很多论文都是基于经验的总结或是提出了一种理论构想,很少有数据的支撑。

虽然研究这一领域的文献数量很多,但是研究趋向同质性、重复性。本文将跳出对教学模式和教学方法的研究,追本溯源,回答什么是“程序设计能力”。

2.“程序设计能力”构成因素

每个学者对于“程序设计能力”都有其不同的理解,其中高被引论文(被引26次)中提到程序设计涉及“阅读判断、分析思考、抽象表达、综合创造”[1],在《立体化程序设计能力培养方法》一文中,作者指出程序设计能力培养不仅包含技能培养,还包含学生分析问题、解决问题以及创新能力的培养[2]。

尽管每个人的理解可能是片面的,但是如果综合上百个学者的理解,并将其进行提炼、升华,那么就可以从片面理解上升到全面理解,从经验分析上升到理论高度。

2.1研究方法

研究方法使用内容分析法。内容分析法是一种对文献内容做客观系统的定量分析的专门方法,其目标在于揭示文献所含有的隐性情报内容,是一种基于定性研究的量化分析方法[3]。在文献研究方面,内容分析法是使用率非常高的分析方法。

2.2研究过程

使用内容分析法对文献进行第二轮研究,找到所有对“程序设计能力”的概念或内涵进行描述的语句,并摘录到表格中(注:此类文献不足100篇。443篇文献中的大部分都只是提到了“程序设计能力”这一名词,并没有对其进行深入剖析)。对一些条目如“分析问题、解决问题的能力”进行拆分,拆分成“分析问题的能力”和“解决问题的能力”,并在表格中记录此条目的来源文献。得到的部分表格如下表所示。

对这些条目进行深入分析,将涵义相同的内容进行合并,如将“自学”与“自主学习”合并,将“程序抽象能力”和“抽象思维”合并,将“交流沟通”、“团结协作”、“团队合作”合并。在此基础上,统计条目重复出现的频次,并按照频次高低列出所有高频词(>=20次),如下表所示:

这12项思维与能力并不是并列的关系,心理学家阜南和卡罗尔都提出了能力的层级模型,指出能力的结构是按照层次排列的,参考心理学家对于能力的理解,我们将这12项思维与能力进行组合分类,形成了一个能力环,如下图所示。

在能力环的最里层,程序设计能力包含了算法分析能力、程序阅读能力、程序编写能力和程序调试的能力,中间层包含了分析问题能力、解决问题能力、抽象思维、逻辑思维,最外层包含了团队合作、自主学习能力、创新思维、批判思维。能力环的三个层次也体现了程序设计能力的培养是一个循序渐进的过程,对于刚刚接触程序设计的学生而言,掌握程序设计的算法、读懂程序、编写程序、进行程序调试,这些活动的不断升华构成了初级的程序设计能力。在此基础上,在不断学习程序设计课程的过程中,在不断运用抽象思维、逻辑思维分析各个程序设计问题、解决程序设计问题的过程中,学生逐渐形成了中级程序设计能力。对于高级程序设计能力,则更关注团队合作、自主学习、创新思维、批判性思维这些高阶思维能力。

按照能力的倾向性,能力分为一般能力和特殊能力[4]。在上图的能力环中,内层的能力是特殊能力,是与程序设计领域紧密相关的,越往上层,越抽象,到达最外层,能力成为一般能力,一般能力是能力的重要组成部分,程序设计能力需要“合作能力、自主学习能力、创新思维、批判思维”这些一般能力。另一方面,特殊能力的发展可以有助于一般能力的发展,在学生程序阅读能力、程序调试能力提高的过程中,一般能力也得到了提高。

以下对能力环中的最外层的一般能力进行分析:

批判性思维。当前国际上,学生的批判性思维能力是衡量人才培养质量的重要标准之一,学生的批判思维能力,在很大程度上反映了其创造力[5]。在程序设计领域,批判性思维可以帮助学生独立思考,对复杂的程序问题形成准确的判断,并不断进行自我纠正。

自主学习能力。在我们所处的时代,信息更新十分迅速,“学会学习”才能应对知识爆炸的现状。在终身学习的背景下,程序设计知识需要不断得到更新和替换,具备良好的自主学习能力的学生才能不断地将新的程序设计知识转化为程序设计能力,才能完成从“程序设计新手”到“程序设计专家”的转变。

团队合作。软件开发领域是智力高度集中的领域,仅靠个人的力量是难以完成几万行、几十万行程序代码的,这就需要团队协作,需要良好的分工、紧密的配合。团队合作能力涉及人与人之间的沟通、表达、交流等等方面。

创新思维。创新是信息社会的基石,是时代进步的动力,具备创新意识的程序设计人员,不再单纯是信息的消费者,而是信息的生产者,是有价值信息的贡献者。程序设计领域不能永远重复前人的设计,也不能永远在自己设计的系统上修修补补,软件开发需要推倒重来的勇气,需要不断挑战自我的创新。

基于上文对于“程序设计能力”各个因素的剖析,我们将给出程序设计能力的概念。国际上普遍被人们所接受的有关信息能力的描述都有这样一个特点,即描述具备信息能力的人所具有的一些特质[6]。受此启发,我们将从界定具备程序设计能力的人员的特点来界定程序设计能力:具备初级程序设计能力的人员,掌握了基本算法,可以读懂程序,并进行简单的程序编写,能够对程序进行调试和完善。具备中级程序设计能力的人员,可以在程序设计的过程中,较好地运用逻辑思维和抽象思维来分析和解决程序设计问题。具备高级程序设计能力的人员,更加注重团队合作,拥有较强的自学能力,能够灵活使用批判性思维,并不断创新。

3.小结

本论文基于文献研究,对涉及到“程序设计能力”的文献进行内容分析,并在此基础上界定程序设计能力的内涵。程序设计能力是一个综合能力,共包含12个因素,分别是:算法分析能力、程序阅读能力、程序编写能力、程序调试的能力、分析问题能力、解决问题能力、抽象思维、逻辑思维、团队合作、自主学习、创新思维、批判性思维。这些因素构成了一个能力环。能力环包括三个层次,分别对应初级程序设计能力、中级程序设计能力和高级程序设计能力,最后,通过界定具备“程序设计能力”的人员的特点,界定了“程序设计能力”的概念。

本研究致力于对“程序设计能力”的本质内涵的探讨,通过厘清“程序设计能力”的内涵从而为程序设计能力的培养、程序设计能力的评价等理论研究和实践研究打下良好的基础。本研究主要选用了中国知网的学术论文,对学位论文没有涉及,可能得到的结论有一定的局限性,如果选择了更多的文献资料,可能会对结果起到一定的修正作用。

参考文献:

[1]耿国华.程序设计能力培养模式的探索与实践[J].中国大学教学.2009,(3):30.

[2]周健,郑诚.立体化程序设计能力培养方法[J].计算机教育,2014,(2):56.

[3]郑文晖.文献计量法与内容分析法的比较研究[J].情报杂志,2006,(5):31.

[4]付建中.普通心理学[M].清华大学出版社,2012,(2):378.

[5]黄朝阳.加强批判性思维教育培养创新型人才[J].教育研究,2010,(5):70.

[6]杨宁.师范生教育技术能力发展:目标层次、影响因素与培养策略[D].东北师范大学,2013:15.

上一篇:试析劳动法律与人力资源管理的和谐共存 下一篇:河北省开展“以房养老”的可行性问题