首页 > 范文大全 > 正文

以专业基本能力培养为目标的C程序设计教学

开篇:润墨网以专业的文秘视角,为您筛选了一篇以专业基本能力培养为目标的C程序设计教学范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对目前存在的C语言教学过于偏重语法、忽视编程实践训练和程序设计思想培养等问题,本文从计算机专业基本能力的内涵出发,阐述了面向计算机专业学生的C语言教学四种能力的培养及教学模式,提出C语言课程“以应用为中心、以算法为基础、以培养实践能力为核心”的教学思想。

关键词:计算机;专业基本能力;C语言;教学改革

本科阶段是培养学生专业基本能力的最佳阶段。在计算机专业教学中,C语言程序设计与后续专业课联系密切,作用重大。但在教学中,师生都认为C语言涉及的概念比较复杂,规则繁多,容易出错,教师讲授和学生学习都感到困难,并产生畏难心理。本文从专业基本能力培养的角度探讨C语言程序设计课程的教学,这对于搞好计算机专业教学和培养合格的计算机软件开发人才均有重要意义。

1存在的问题

首先,C语言涉及的语法知识太多,教师教学时通常将教学重点放在语法知识的讲授上,所选的编程实例大多用于语法规则的验证和说明,学生即使记住了语法知识,也不一定能灵活应用。由于课程缺乏对学生程序设计思想的培养,学生独立编写程序的能力较差,学习该课程的积极性不高。

其次,程序设计课程重在实践,学生应在实践中掌握语法知识、编程技巧和思想等。而目前的实践教学过于强调语法知识的掌握,没有达到培养学生编程技巧和思想、提高学生分析问题和解决问题能力的目的,因此实践教学有待改进。

2专业基本能力的内涵

计算机专业的学生应该具有什么样的基本能力呢?蒋宗礼教授将计算机专业人才的“专业基本能力”归纳为四个方面[1]:一是计算思维能力,即运用计算机科学的基础概念求解问题、设计系统和理解人类行为。它选择合适的方式陈述一个问题,对一个问题的相关方面建模,并用最有效的办法实现问题求解。二是算法设计与分析能力,算法是计算机软件的核心和灵魂,而算法分析与设计是关于算法的方法论,是计算机软件设计的基础,分为分析算法的基本规律和原理、软件开发中实际问题的解法两方面。三是程序设计与实现能力。四是计算系统的认知、开发及应用能力,即系统能力,该能力要求学生站在系统的全局去看问题、分析问题和解决问题,并实现系统优化。其中,科学型人才以第一、第二种能力为主,以第三、第四种能力为辅;工程型和应用型人才则以第三、第四种能力为主,以第一、第二种能力为辅。对本科生的培养,不仅要通过恰当的课程体系体现出来,更要落实到具体的课程教学中。

3基于专业基本能力的教学实践

在大学里学习一门课程,不能简单地看成是对未来要进行这门课程内容的研究、设计和开发,而应关注是否在有限时间内最有利于学生专业能力的培养。C语言程序设计要让学生掌握语言的基本概念、语法、语义,以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性,培养再学习能力。

3.1开展启发式教学,培养计算思维能力

计算思维能力的核心是基于计算机考虑问题的求解。程序是计算的直接表现,因此可从程序设计开始培养学生的计算思维能力,而计算思维能力的培养离不开启发式教学。

教学过程中,教师以分析问题―建立模型―选定算法为重点,充分采用启发式教学,对学生的思维方式进行引导。在实施中,可以通过强化流程图或伪代码写作等途径强化思维训练。例如,在求解约瑟夫问题时,可以先给出题目,让学生理解题意,然后把问题分解成几个小问题:①对围成一圈的人进行值不为0的编号;②当留在圈中的人数大于1时,要一直进行报数,且把退出圈子的人编号置为0;③查找留在圈中的人的编号。针对这几个小问题,学生能很快画出问题求解流程图,很容易写出代码。这培养了学生分析问题、解决问题的思维能力,让学生知道如何思考,获得了编程的思路和技巧。

3.2强调理论指导实践,培养算法设计与分析能力

程序=数据结构+算法,这个公式表明了编写程序的基本要素及基本内容[2]。C语言程序设计课程的基本内容可抽象为以下三方面:①数据丰富,包括整型、字符型、浮点型等基本数据类型和数组、指针、结构体等复杂的数据类型;②程序的流程控制;③一些辅助工具,如文件操作等。其中涉及的不仅有成熟的理论,还有在限定规模下的设计,如一些基本问题的求解方法、处理问题的思路等,这对计算机专业的学生来说十分重要。

学习程序设计的目的是掌握设计程序的思路,学会用计算机语言来编写程序,以解决问题。所以,C语言程序设计课程的实践必须在理论指导下进行,教学重点应放在解题思路上,培养学生的算法设计能力。例如,求解冒泡排序时,在讲解什么是“冒泡”的基础上,教师可使用动画演示冒泡过程,加深学生的理解。算法设计与分析能力的培养可从简单的程序编写开始,逐步深入,通过大量实践让学生学会怎样设计算法,加深对理论知识的理解。

3.3加强上机实践,培养程序设计与实现能力

C语言是一门实践性很强的课程,很多概念都是在上机过程中加深理解的。在上机调试过程中,疑点或问题可以得到明确解答,学生能更好地理解课堂内容,提高编程和调试程序的能力及分析和解决问题的能力。如果同时出现问题的学生有多个,而辅导老师有限,可以将学生分成小班上实验课。C语言是大学生接触的第一门语言课,每个人的理解程度不一样,而且程序设计本身是“活”的,任何一个问题都不是只有唯一解法,因此,教师还可以将学生分为几个小组,有问题首先在小组讨论,使学生互为“老师”,还可以让学生通过实践分析对比不同算法,总结经验,提高实践能力。

3.4从全局看问题,培养系统能力

要让学生从全局看问题,培养系统观点和系统方法是非常重要也是较困难的。培养学生的系统能力要从教学的点滴做起。比如,可通过自顶向下的思想引导学生分层次考虑问题,把复杂问题逐步分解,逐步细化。教师要寻找合适的题目,使学生在学习课堂案例的同时运用所学理论自主解决问题。课程结束后,可安排一次综合的大实验,鼓励学生努力掌握系统的总体结构,提高综合能力。

4结语

C语言程序设计的教学以专业基本能力的培养为立足点,围绕“以应用为中心,以算法为基础,以培养学生的实践能力为核心”的思想,坚持知识、能力、素质协调发展和综合提高的原则,通过适当的实践探索,激发学生的探索意识和学习精神,对于搞好计算机专业教学和培养合格的计算机专业人才有重要意义。2009级计算机软件专业学生教学反馈的数据显示,在以培养专业基本能力为目标的教学模式下,大部分学生不仅提高了学习C语言的积极性,还大大提高了应用C语言解决实际问题的能力。

参考文献:

[1] 蒋宗礼. 编译原理课程与专业能力培养[J]. 计算机教育,2009(21):4-7.

[2] 赵飞,荆光辉,张润泽. 如何培养大学新生计算机语言编程能力[J]. 计算机教育,2007(10):13-15.

Discussion on C programming Language with Goal of Essential Professional Ability

TANG Wen-jing

(School of Information Science & Engineering, Ludong University, Yantai 264025, China)

Abstract: The present conditions of C language teaching are not optimistic. Many problems are found out, such as emphasizing grammar, ignoring practice of programming and training the idea of programming. Aiming to this, four ability training of students in computer major and its teaching model are explained about C programming language from the aspect of training of essential professional ability.

Key words: computer; essential professional ability; C programming language; teaching reform