C程序设计课程教学研究

2018-08-07 07:12包淑芳
中国绿色画报 2018年5期
关键词:程序设计程序算法

包淑芳

【摘要】:计算机信息技术现在已经被广泛的应用到各个领域,在生产生活中起到的作用也越来越重要,这样就使得计算机技术在大学课程中的重要性得到了提升。其中C程序设计为计算机课程的基础部分,同时也是计算机考级的要点,对培养学生专业能力具有重要意义。本文浅析C程序设计课程教学。

【关键词】:C程序设计;多模式教学法

【引言】:C程序设计课程是计算机专业本科的核心课程,它的培养目标是使学生掌握正确的程序设计方法、具备良好的计算思维能力。通过对该课程的学习,学生不仅要掌握高级语言程序设计中数据类型、句法、语法等基础知识,还要掌握在实践中如何运用这些基础知识的思想和方法,进而养成独立思考的习惯和利用计算机解决实际问题的计算思维能力,进而为后续计算机课程,如数据结构、操作系统、算法设计等打下良好的基础。

1建立科学完整的课程内容体系

1.1理论教学环节

本课程的教学内容包括“语法知识”和“程序设计”两条主线,两者并重。第一条主线———“语法知识”:以程序设计语言必须具备的功能(数据类型和流程控制)为重点,旨在使学生熟练掌握基本语法知识,具备扎实的理论功底。第二条主线———“程序设计”:包括问题分析、建立数学模型、算法设计和编码、测试等方面,重点讲授程序设计的思想和方法以及程序设计风格,使学生能从更高的角度认识该课程的学习目的,不局限于对语言本身的学习和编程技巧的掌握,更看重对语言应用能力的培养,并在课程中引入软件工程的思想,指导学生编写规范的程序。具体内容及学时分配如表1所示。

1.2实践教学环节

为了分层次培养学生的编程能力,我们在实践教学环节中设计了3个层次的题目供学生练习,即基础性题目、设计性题目和综合性题目。这些练习题目可以帮助学生分别从知识点掌握、简单程序编写和大型程序设计三个层次上掌握语言知识、逐步提升程序设计能力。根据知识点布置的基础性题目,偏重基本知识的熟练掌握,学生在自动评判上机测试系统上完成;具有一定难度的设计性题目,要求学生能将1~3个知识点综合运用并落实到具体程序的编写、调试中去;综合性题目是为优秀学生设计的,要求应用软件工程的思想和方法编写大型程序,解决实际问题。在实践教学中,考虑多样性和灵活性,为学生提供选择的余地,鼓励自主学习。基础性题目题库10套,必做6套,其余选做;设计性题目,每一类包括6题,必做3题,选做3题;综合性题目8题,规模在1000代码行以上,全部选做,提交作业形式是程序和相关文档。

2 C程序设计课程教学优化措施

2.1教学模式调整

以提高C程序设计课程教学质量为目的,对传统教学模式进行更新。就现状来看,很多C程序设计课程将重点放在C语言,并不符合学习规律要求,这样就需要将教学重点调整到C程序设计本身上来,包括程序设计思想、方法与算法,重视学生形象思维训练,培养学生C程序设计专业能力。例如,将全班30名同学身高输入,输出最大值。对于此问题的解决要点是选择合理的算法,即以结构化程序设计目的为依据,确定任务内容后,对任务进行向下逐层分解、逐步细化,直到满足一个要求为止。为使得学生体会和理解这一思维方式,更直观的了解程序设计过程,教师不能向以往一样直接进行讲解,而是要引导学生从问题分析入手,促使学生自己逐步找出各个求解步骤算法,并用N-S流图描述,最终完成程序编写。对于实例问题,通过初步分析可知求解过程可分为三步,得到第一层N-S流图,然后对各部分进行求精,且对某部分进行求精时,可以忽略对其他部分的要求。求精步骤1:输入30个学生身高信息,定义一个一维数组h,并用一个循环来控制输入,N-S流图如图1所示:

求精步骤2:求30个学生身高最大值,选取第一个数值,将其设置为最大值max,然后逐一与剩余数值进行大小比较,N-S流图如图2所示:

步骤3:仅需要一个输出语句,无需进行求精,完成最大值问题的算法求精工作。将所有步骤N-S流图综合整理在一起,便可得到最终综合算法N-S流图,如图3所示,根据此N-S流图便可完成程序的直接编写。

应用此教学方法进行教授专业内容,教师并不是单纯的对语法细节、解释程序和运行结果进行讲解,而是通过一个问题解决的全过程来向学生说明,并且在整个过程中学生也可以参与进去,激发学生的学习兴趣。应用灵活的模式进行教学,不仅可以让学生更好的掌握C语言规范,同时还可以完成实际问题的处理,培养学生C程序设计思想,掌握程序方法与算法。这样在学生在后期遇到编程问题时,便可以灵活的运用,具有可以解决实际问题的编程能力,而不是单纯的C语言。

2.2提高教学灵活性

对于C程序设计课程教学内容,因为复杂程度比较高,想要提高学生对专业内容的掌握效果,需要保证其对学科具有较高的兴趣,可以在学习过程中发现问题,并积极解决问题,成为整个教学活动中的主导者,改变以往以教学为中心的教学模式。因此,教师应提高教学的灵活性,增多问题数量,引导学生在解决问题过程中学习,提出问题后由学生自主进行思考、讨论与解决,经过分析后可以更深入的掌握学科内容。例如C语言数据类型概念的教学,为保证学生可以切实体会到一般整型数据、长整型数据、单精度数据以及顺高精度数据所能保存范围的差异,可以使学生模仿求1到100间所有自然数之和方法来计算5,且将求阶乘变量s定义为短整型,学生可以短时间内得出正确结果。然后改为计算8,学生能够快速将循环变量终值更改为8,得到正确结果。而一个负数-25216,结果表示出现了“数据溢出”现象。这时学生便遇到了问题,教师便可提醒学生对程序进行部分修改,将求阶乘变量s变为长整型,计算得到正确结果。并按照此中方法,依次将程序修改为20和40,通过发现问题、解决问题过程,确定一般整型数据、长整型数据、单精度数据以及顺高精度数据所能保存范围的不同。

结语

计算机基础课程的教学尤其是程序设计语言的教学是一个系统工程,教学方法也应丰富多样,不能单纯地认为哪一种方法优,哪一种方法劣,应当采用多种教学方法的优化组合。在程序设计语言的教学实践中,我们还要不断探索新思路、新方法,为提高学生的计算机应用能力和创新能力而努力.

参考文献

[1] 黄静,高延英,杨宇姝.基于计算思维的程序设计课程教学模式研究[J].计算机教育,2017,05:51-54.

[2] 刘在英,杨平,张丽晓.程序设计课程实践教学模式的探讨[J].实驗室研究与探索,2016,10:156-159.

猜你喜欢
程序设计程序算法
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
给Windows添加程序快速切换栏
Travellng thg World Full—time for Rree
简化化学平衡移动教学程序探索
“程序猿”的生活什么样
学习算法的“三种境界”
算法框图的补全