试谈C语言程序设计创新教学与实践

更新时间:2024-01-26 作者:用户投稿原创标记本站原创
摘要:《C语言程序设计》是计算机类专业必修基础课,其课程创新改革思路是创建基础实战和项目实战“两阶段”教学环节,在项目实战环节中以软件工程思想为指导,并借助数据结构的算法,以C语言程序设计为工具实现阶段子目标直至项目完成,从而实现学生在知识点掌握和程序设计能力的阶梯递升。
关键词:基础实战 项目实战 程序设计 软件工程 C语言
:A DOI:10.3969/j.issn.1672-8181.2013.23.040
1 引言
《C语言程序设计》课程是高校计算机类各专业开设的一门专业必修基础课程,教学目标是通过本课程,向学生介绍结构化程序设计的基本思想与策略,使学生掌握程序设计的解题思路,能够设计解决理由的算法,能够更熟练地掌握基本的结构化程序的设计策略。从而为后续的课程打下坚实的基础。
本文以软件工程思想为指导,借助数据结构的算法,以C语言程序设计为工具进行代码实现,培养学生分析、解决实际理由,既保证课程教学质量又能更好地服务后续专业课程,取得了良好的教学效果。
2 《C语言程序设计》教学目前状况分析
经过调研和分析发现,《C语言程序设计》课程教学存在以下理由:第一,该课程的性质和地位重要,属于理论与实践并重的专业基础课程;第二,该课程通常在大一新生的第一学期开设,在新生对计算机基础知识尚未完全掌握情况下,难以做到学生对C语言的深刻理解和熟练运用;第三,该课程课学时大为压缩,实验教学仅能保证对C语言基本程序结构和简单算法等验证性实验内容,无法保证项目集中实训的正常实施;第四,教师普遍反映课堂教学中认真投入学习的学生较少,学习兴趣不浓。第五,即使面对生活中的实际理由,学生从逻辑思维层面能够理解并分析得出解决方案,但由于对该课程的动手技能掌握较差,无法将逻辑思维有效转化为程序设计语言,在挫伤学习积极性的同时为后续课程无法顺利展开埋下了伏笔。
3 《C语言程序设计》教学创新实践
C语言程序设计集抽象性、逻辑性和实践性于一身,如果能够在课堂教学和实践教学环节方面有效解决好这三方面的衔接关系,必定能够有效激发学生的学习兴趣,营造师生互动的教学氛围,让学生轻轻松松汲取养分,从而大大提高教学质量。
3.1 《C语言程序设计》教学内容之创新实践
教学内容创新主要体现在教学内容的选材方面和教学内容如何教的方面。首先,教学内容选择学生日常生活中能够接触到的趣味性浓、实用性强的学生成绩管理系统、公交一卡通管理系统、超市购物管理系统、图书管理系统等仿真项目进行教学。其次,应该从专业课程体系的角度出发,以软件工程为指导思想,引导学生进行项目的需求分析、画出项目功能图、功能模块的程序流程图、将编程逻辑转化为C语言程序编码实现、进行程序功能测试、撰写实验报告等,从而培养学生逐步理解和掌握在分析理由的基础上,如何细化解决理由的策略与步骤,使得在《C语言程序设计》项目教学过程中,学生既能够轻松掌握C语言的语法、培养其逻辑思维能力,又能加深其对程序设计的结构化、模块化设计思想的体会和锻炼其程序开发实战能力。同时,可以在学生成绩排序方面引入数据结构中的冒泡排序等,在吸引学生学习的同时又有意识地为后续课程进行铺垫。
3.2 《C语言程序设计》教学环节之创新实践
教学环节创新实践主要体现采用项目迭代教学法[1],其关键是将选取的教学项目划分为覆盖课程核心知识点的一系列迭代任务。在课堂教学中,以系列迭代任务为主线,将教学所有知识点打乱、重组,以真实项目开发的顺序进行教学,从而实现了以迭代任务为阶段目标,由浅入深、由易到难,既让学生体会到了真实项目开发的过程,又吻合了学生的学习心理特点,随着阶段性任务的不断实现,系统功能不断增强的同时,学生的学习兴趣也不断由淡到浓,学习态度也化被动为主动,从而循序渐进地推动了教学进度,成功实现了教学目标。
《C语言程序设计》教学环节分为基础实战环节和项目实战环节,具体实践如下:
第一,环节1:学习最简单的Hello程序,再过渡到个人简介。从核心知识点出发,让学生掌握主函数、打印输出语句和换行符。
第二,环节2:个人简介的互动升级。从核心知识点出发,让学生掌握人机互动,scanf( ),格式输入输出制约符、变量、常量和数据类型。
第三,环节3:简单加法测试系统。从核心知识点出发,让学生掌握随机数、编译预处理指令、运算符、赋值、if语句、for语句。
第四,环节4:简单Hello程序升级,圆面积函数调用。从核心知识点出发,C语言程序设计创新教学的与实践由专注毕业论文与职称论文的www.808so.com提供,转载请保留.让学生了解、掌握和运用函数调用。
在上述基础实践之后,学生基本上能够进行简单C语言程序设计和实现。此时,引入“学生成绩管理系统(简称:SS)”,进行演示,让学生通过演示功能进行分析、总结概括该系统具备哪些功能,并在教师指导下画出系统功能模块图并进行任务分解。系统具体实践如下:
任务1:SS系统主菜单的功能实现:考核主函数、Prinf( )、换行。
任务2:SS系统主菜单的逻辑制约功能实现:考核函数调用、While语句、Switch-case语句、printf( )等。
任务3:SS系统学生成绩录入模块的功能实现:考核scanf( )、数组、while语句、for语句、换行、赋值、数据类型、结构体、文件写入等核心知识点。
任务4:SS系统学生成绩读取显示模块的功能实现:考核文件读取,while语句等。
任务5:SS系统学生成绩查询模块的功能实现:考核循环、运算符等。
任务6:SS系统登陆功能实现:考核字符串、for循环等。
在上述任务中,基本覆盖了C语言程序教学中的核心知识点。此外,该系统还具有修改学生成绩信息、删除学生信息、清空学生成绩信息、按要求进行学生成绩排序、按要求统计学生成绩等相关功能模块。3.3 《C语言程序设计》实践方式之创新实践
在实践环节,教师们普遍发觉学生在课堂教学中能够听明白和理解,但是却无法将其有效转化为代码实现。对于这种情形,本文笔者的实践创新主要采用了程序层次填充法,以简单加法测试系统为例,具体实践如下:
层次1:撰写基本的Hello程序并运转。
层次2:定义两个变量表示加法的两个操作数,从键盘获取输入并显示。
层次3:显示出形如“3+5=”的运转结果,等待用户输入加法结果。
层次4:用if语句判断用户输入的结果是否正确,如果正确加20分,否则不加分。
层次5:如何将两个确定的加法操作数用随机数来代替并实现。
层次6:系统一共出5道题,如何用for语句来完成该程序。
层次7:如果学生成绩为80分以上为优秀、60分以上为良好,不及格为需要努力,如何使用if语句或者switch语句来实现。
通过程序层次填充法,学生能够按步骤、按知识点由易到难,由简单到复杂,轻轻松松按部就班地完成C语言程序设计的实践环节,真正达到理论联系实际,提升自己的实战技能,不断推动课程的深入开展。
4 《C语言程序设计》教学环境之倡议
通过多年的教学,笔者倡议教学环境应结合传统板书与现代多媒体技术相结合的方式。主要体现为:课堂教学采用板书教学,容易显示程序的动态生成,利用写板书的缓冲换取学生的理解缓冲,再辅以PPT进行功能演示、图片展示等,能够有效提升课堂教学效果,而一味使用多媒体技术,抛弃传统板书,只能换来诸多弊端。在实践教学中,要求根据实验室大小布置1-2个投影幕布,便于教师现场演示;学生机位布置合理,适用于小组讨论;提供网上收发作业、远程辅导等功能,便于实践教学顺利开展。
关于教材的选择,教师应该选择以项目为引导,任务驱动的国家规划教材,能够融会贯通,合理地将知识点串联起来进行项目分解,重组教学,方可收到好的教学效果。
5 《C语言程序设计》教学创新之实践
本文在教学创新实践中,通过项目驱动教学,关键在于培养学生分析理由、解决理由的能力,使其在教师引导下潜移默化地“内化”软件工程思想,通过系统功能分析知晓“要做什么”,在C语言理论教学过程和实践过程中引导其“如何实现”,最后在实现教学目标和完成项目的同时让学生知道C语言“可以干C语言程序设计创新教学的与实践由提供海量免费论文范文的www.808so.com,希望对您的论文写作有帮助.什么”。
本文笔者自2011年以来试行《C语言程序设计》教学创新实践教学,将同等难度的期末考题就不同年级学生进行对比,教学效果差异对比如表1所示。
表1 不同教学策略下成绩对比一览表
从表1可以看出,试行教学创新策略的班级,平均成绩要高出近10个百分点,记忆类题型得分率较为接近,但应用题型的得分率高出了22个百分点,而且优秀率也提高了9个百分点,这些数据表明采用创新教学策略对学生就C语言知识点的掌握和学以致用方面的综合能力有较大提高,并且尖子生培养更为突出。
参考文献:
[1]陈战胜,王廷梅,李明.项目教学中应用迭发策略的研究与实践[J].计算机教育,2010,(7):130-133.
[2]罗杰红,胡建荣.基于“四驱式”阶梯递进的《C语言程序设计》课程教学体系设计与实现[J].职业技术教育,2009,(17):28-29.
作者简介:陈战胜(1979-),男,山西晋城人,博士,讲师,研究方向为算法设计、无线传感器网络、高等职业教育,北京联合大学应用科技学院,北京 102200
王廷梅,北京交通大学计算机与信息技术学院,北京 100044

点赞:8798 浏览:33822