C语言程序设计实践教学的

点赞:10534 浏览:44664 近期更新时间:2024-03-29 作者:网友分享原创网站原创

摘 要:C语言程序设计课程是计算机专业课程体系中不可缺少的一门专业基础课,课程的实践性要求非常强,为了切实达到课程的实践教学目标,本文就该课程的实践教学体系设计、实践教学组织、实践教学方法及考核等方面,进行了体系模块的构建及改革探索,从而能够切实提高学生程序思维能力和实践动手能力和创新能力.

关 键 词 :实践教学;C语言程序设计;改革

中图分类号:TP312.1-4;G642

C语言程序设计课程在高校计算机类专业都有不同程度的开设,它是计算机类专业一门重要的专业课程,也是学生能否进入程序设计大门的开篇启蒙课.C语言是一门实践性非常强的课程,要求学生不仅实现程序设计的思维训练,更能够熟练运用C语言编写和开发出各类应用程序.因此,在C语言程序设计课程教学中,需要更多的实践环节加入整个教学环节,并进行统筹的设计和实施.为此,我们对该课程的实践教学体系重新进行了设计,依据整体设计调整了教学内容和实践教学方法,从而全面提高学生利用C语言来进行分析问题、编写程序和调试程序的能力.

1.课程实践教学设计

C语言程序设计课程开设时间为大一第一学期,是学生学习程序设计的开篇课程,学生的计算机基础参差不齐,而且学生的逻辑思维能力尚未建立.为此,我们确定了本课程的实践教学目标,课程的实践教学目标定位在培养学生计算机逻辑思维能力、程序设计逻辑能力,掌握程序设计语言解决常用问题的方法运用能力,并养成良好严谨的程序设计规范,也为了各专业开设的后续课程的深入学习奠定良好基础.

按照课程实践教学目标要求,我们对整个课程实践教学进行统筹设计,具体包含有三个层次:分别为实验教学、兴趣小组和课程设计教学.三个层次随着时间依次递进推进,相互包容,形成一个在时间和内容上立体的教学体系.

(1)实验教学.实验教学是在课程教学中主要的实践教学环节,依据学生接受能力及基础程度,将课程实验内容划分为基础知识验证型实验、基础应用型实验,综合应用型实验、创新设计型实验四类.

基础知识验证型主要着手解决基础相对较差的学生,让其能够有个平滑地过渡,同时让学生打好逻辑思维的设计基础;

基础应用型实验内容让要体现梯度层次,满足不同层次的学生为原则,增加一些趣味性、实用性较强的实验,锻炼学生对知识点的理解和运用能力;

综合应用型实验是针对多个互联知识点的综合运用及训练,培养学生解决复杂问题的能力,主要采用1-2个完整项目分解,迭代逐步实现的方式来实施;

创新设计型实验主要是培养知识内容的综合运用能力,内容采用教师提供项目需求,学生自足选题或自行选题的方式,分阶段提交并演示程序设计成果,最终完成整个实验项目内容.

(2)课外兴趣小组辅助教学.课堂实验缺乏时间和内容的广度,为了弥补这一不足,激发学生学习学习C语言程序设计的兴趣,也为了提升课程的课下环节的充实性,我们对所有学生进行了基础知识的摸底,根据不同层次,按照C语言的主要应用,组建了C语言不同应用方向的课外兴趣小组.学生按照每个人的兴趣爱好,选择相应用方向,自发组建小组,每个小组推选组长,制定出学习计划和学习总结汇报等可执行方案.任课教师向每组成员提供部分的案例和参考资料,并同步地组织小组总结汇报及指导,让学生依托兴趣将每个人的程序设计能力和潜力充分调动和发挥出来.

(3)课程设计的教学提升.有了课堂、课下的实践教学的相互补充和推进,在学期的后半段,我们将C语言程序设计的课程设计任务提前一个月下达,由于课程设计是整个课程知识掌握的汇聚与提炼,是培养学生工程设计能力的重要手段,更是全面提升学生团队合作,来进行分析问题、解决问题综合能力锻炼的很好地平台.C语言程序设计的课程设计内容一般为独立完成一个完整的应用系统为目标,自发组队,随机分配题目,采用课下分散实践,课上集中辅导及考核的方式实施.

2.实验教学改革实施

2.1 实验教学方法改革

通过分析现有C语言程序设计课程内容,我们改进和简化了现有实验教学方式,整个过程中我们一直采用两个原则作为实验教学方法主线.

(1)实验内容采用案例教学.基础实验性采用独立的案例教学,比如,三种程序设计结构的实验内容,即采用了九九乘法表的实现,从顺序结构实现一行“*”;再加入选择判断处理换行;再使用循环结构实现九行“*”;最后启发学生如何实现“*”转化为数值、如何调整循环控制参数调整变化为三角形形状.通过这种熟知的案例,将基础实验生动起来,从而解决学生程序设计逻辑思维的锻炼.

综合性应用实验采用迭代式的案例教学,将教学项目按照功能和知识点进行依次分解到每次实验内,让学生能够从浅入深、分阶段地逐步完成一个完整案例,并同步掌握了完整应用的实现过程.例如,在教学中,教师采用学生成绩管理系统、牌魔术系列游戏的实际、趣味案例进行实验教学的迭代教学,在每次实验中,不仅功能模块迭代实现,功能的实现知识点也采用迭代实现.

(2)任务驱动方式教学.每次实验,均采用任务驱动式教学,首先教师发放任务需求,并讲解任务实现所需关键知识;然后,要求学生按照标准的开发规范进行实现,规定时间提交任务清单及源码.从而,让学生逐步规范开发流程,并能够整体把握程序设计的关键技术和实现流程,同时通过实时调试,达到综合编程能力的教学目的.

应用举例,以学生成绩管理系统为项目总体任务,在学习控制语句时,下达第一次任务:使用printf、scanf实现学生基本信息的输入输出;在学习C语言基本控制结构后,下达新的任务:利用循环、选择语句编写本系统的登录验证程序和实现一个主菜单程序;在学习C语言数组后,实现学生的成绩录入、查询及修改和删除等基本操作;在学习C语言函数后,重新组织以上实现的程序代码,以函数的方式将各个子功能和主程序功能利用函数调用贯穿起来;在学习指针链表后,任务改为利用单链表动态管理系统的各项功能;最后在文件学习后,要求整个系统必须利用文件操作来实现系统的各项操作的存储化. 2.2 实验教学内容

依据实践教学目标,C语言程序设计实验教学内容按照以下5个不同的知识角度进行了设置.

(1)基础实验.基础实验项目共5个,各安排2学时.分别为运算符与表达式的使用、顺序结构设计、选择结构设计、循环结构设计及数组应用实验项目,通过基础实验的实践,学生能够掌握C语言程序设计的基本语法,能够熟练运用程序设计控制结构,能够掌握各种数据类型的组织和应用.

(2)复杂数据类型实验.该类实验旨在让学生逐渐理解掌握c语言处理复杂数据的几种形式,学会其数据类型的应用和区别.共设置了4个实验项目,各安排2学时.分别为数组应用2个,结构体应用2个.

(3)程序结构组建-函数.掌握程序结构的构建和组织,函数是一个主力军,学生需要掌握函数的设计和使用.共设置了2个实验项目,各安排4学时.一个是数组基础应用实验,另一个是结合前期的程序编写组织综合型实验项目.

(4)指针应用.指针是c语言的灵活性的杰出代表.学生需要熟练掌握指针这一特殊的数据组织形式和处理方法,从而能够将上述的控制、数组、结构体及函数有机地重组和包容进来.共设置了2个实验项目,各安排4学时,一个是熟练运用指针的综合实验,另一个是实现一个将指针与结构体、函数等知识融合的的综合型实验.

(5)数据存储实验-文件应用.文件的学习,是学生理解数据存储的方法和实现过程,从而形成一个“程序+存储”的闭环设计方法的锻炼.共设置了1个实验项目,安排4学时,实现一个相对完成的案例系统,如学生成绩管理系统基本功能,每项功能均需实现数据的文件读写等操作.

3.兴趣小组教学实施

为了充分挖掘学生程序设计的潜能,学科组织了该课程所有的任课教师,按照C语言的主要应用,组建了C语言不同应用方向的课外兴趣小组.小组主要分了四个方向,分别是信息系统开发、网络操作、游戏开发、嵌入式开发,学生自由报名,学生按照每个人的兴趣爱好,选择相应用方向,自发组建小组,每个小组推选组长,制定出学习计划和学习总结汇报等可执行方案.任课教师向每组成员提供部分的案例和参考资料,并同步地组织小组总结汇报及指导,让学生依托兴趣将每个人的程序设计能力和潜力充分调动和发挥出来.同时在每个月,各兴趣小组进行技术学习的总结汇报,学生的成果经过综合评定后,优先推选各类学院和学校各类竞赛和比赛.

4.课程设计实施

(1)课程设计安排与组织.在学期的后半段,我们将C语言程序设计的课程设计任务提前一个月下达,学生随机组队,每组2-3人.课程设计任务以项目任务书下达,各组随机抽选一份课程设计任务书,任务书在功能上、设计规范、和设计报告均有明确规范和要求,各组成员按照要求共同合作完成任务.

(2)课程设计考核.课程设计完成后,每组成员需按照要求,书写整理完整的设计报告,同时进行集中设计分组答辩.答辩小组将成员按照任务分工,逐一地将各自编写的应用程序演示,同时讲解核心的程序代码.教师评委依据改组的程序功能、模块划分、程序结构及数据存储,算法运用等环节,为每位学生逐项打分.最终的课程设计考核成绩等于设计过程(20%)+设计报告(40%)+答辩成绩(40%).


5.结束语

通过对C语言程序设计课程实践教学的改革,增强了程序设计学习的兴趣和积极性,程序设计整体水平得到了较大幅度地提高.学生不仅打下了扎实地基础技能能力,而且掌握了一套行之有效的项目实践经验和技巧.这也为学生在后期的计算机专业课程中学习扫清了道路和奠定了坚实基础.下一阶段,我们除了继续完善C语言课程实践教学内容之外,我们要组织学生自主开发适合自己的程序设计实验资源平台,将课程的实践过程监控起来,内容丰富起来,配套资源建立起来,真正地为课程实践教学提供持续地保障.