基于问题导向的C语言程序设计教学改革与探索_薛冰冰
- 格式:pdf
- 大小:859.51 KB
- 文档页数:3
C语言程序设计教学中的问题及改革建议第一篇:C语言程序设计教学中的问题及改革建议C语言程序设计教学中的问题及改革建议摘要:对于计算机专业学科而言,C语言程序设计作为该专业中的一门基础课程,在实际教学的过程中,需要强化对实践教学内容的重视程度,以确保将理论与实践教学进行有机融合,在提高教学质量的同时,实现对学生专业实践能够的培养。
而在实际开展教学活动的过程中,如何结合现有教学中所存在的问题进行完善解决,以达成教学目标,亟待解决。
本文在分析当前C语言程序设计教学中所存在问题的基础上,为如何实现该课程教学的高效开展提出了对策。
关键词:C语言程序设计;教学;问题;改革;对策前言基于当前社会对人才所提出的高要求下,对于计算机教育专业而言,在实际践行教学活动的过程中,要想确保实现复合型技术IT人才的有效培养,则就需要积极的更新教学理念,创新教学方法并提高对实践课程的重视程度。
针对C语言程序设计专业学科教学活动的开展而言,基于当前在实际教学中所呈现出的一系列问题,就需要在明确教学目标的基础上,通过理论与实践教学的有机融合来实现对学生综合能力素质的有效培养。
一、当前C语言程序设计教学中所呈现出的问题(一)教学理念滞后,教学模式陈旧当前,在实际开展该学科教学活动的过程中,教师的教学理念滞后,依旧以传统灌输填鸭式教学模式来实现理论教学内容的传授,在此过程中,以教师为教学主体的教学形式下,学生长期处于被动地位,学习的兴趣与积极性不高。
同时,师生间的沟通交流频率低,教师在进行教学的过程中强调计算机等级考试的重要性,忽略了对学生计算机素养的培养。
基于此,整体上该专业学科教学的效率与质量明显偏低,难以有效达成相应的教学目标。
(二)学生现有基础参差不齐,教学缺乏针对性随着国内教育事业的不断发展,各级院校都在逐渐扩招,因此,这就在某种程度上导致学生本身的能力素质水平层次不齐,加上对于该专业的学生而言,在初高中阶段对计算机专业知识内容接触的较浅,所以本身能力素质水平有限。
2011年9月第26期科技视界Science &technology viewSCIENCE &TECHNOLOGY VIEW 科技视界C 语言程序设计实验教学中的问题及改革措施董永权(徐州师范大学计算机科学与技术学院江苏徐州221116)【摘要】培养学生的动手实践能力是C 语言程序设计实验教学需要解决的核心问题。
本文分析C 语言程序设计实验教学目前存在的问题,并提出了一些可行的改革措施。
【关键词】C 语言程序设计;实验教学;实验改革Problems and Reform Measures in Experimental Teaching of C Programming CourseDONG Yong-quan(School of Computer Science and Technology,Xuzhou Normal University,Xuzhou Jiangsu ,221116,China)【Abstract 】The key problem of C experimental teaching is to train students’practical ability.This paper analyses the problemsin the current C experimental teaching and proposes some measures to reform the experimental teaching.【Key words 】C programming ;Experimental teaching;Experimental reform0引言C 语言程序设计是计算机学科一门重要的基础课和核心课,其目的让学生在大量有效的训练下,掌握正确的程序设计思路和方法,让学生具备初步的应用程序开发能力,为学习后续计算机课程打下基础,对学生将来完成毕业设计有着深远的现实意义,更为重要的是让学生掌握程序设计语言的学习方法,具备较强的自主学习能力,在程序设计方法和编程语言不断推陈出新中,立于不败之地[1]。
科技资讯2017 NO.18SCIENCE & TECHNOLOGY INFORMATION科 技 教 育143科技资讯 SCIENCE & TECHNOLOGY INFORMATION 在当前社会对人才大量需求的背景下,各大院校就计算机专业教育而言,要想培养出高水平、复合型的技术人才,就需要转变教学理念,创新教学方法,增强对实践教学的重视程度。
就当前C 语言程序设计教学活动来说,缺乏实践教学环节,且教学中存在的问题太多,想要提高教学质量,就必须围绕着教学目标,合理规划教学内容,以培养出高水平、高能力的学生奠定基础。
1 C 语言程序设计教学存在的问题1.1 教学理念与教学模式陈旧在实际的课程教学过程中,教师的教学理念太过陈旧,依然坚持采用传统的灌输式教学模式,在讲授过程中教师成为了教学的主体,而学生在这一过程中一直处于被动接受的状态,学生的积极性难以发挥出来。
且学习过程中师生之间缺乏必要的沟通交流,在讲授过程中,教师忽略了学生计算机水平及创新思维能力的培养,致使整体学生的学习效率明显偏低,教学质量难以提高。
1.2 学生计算机水平参差不齐五湖四海的求学者来到一个地方,受到各自区域特点差异的影响,使得他们的学习程度各有差异。
经调查研究发现,对于个人计算机,一些学生从高中阶段就开始接触,而有的学生则上了大学才认识并开始学习计算机,由于这一差异,使得那些早已接触计算机,对计算机驾轻就熟的学生产生了一种懈怠心理,总感觉教师讲授的内容自己早已掌握,因此就不再认真去听课、学习,致使自己一直处于一知半解状态。
但另外一批没有C语言基础的学生尽管会感到学习难度大,在学习时会面临很多问题,但经过一段时间的学习与努力之后,他们的基础知识基本掌握牢固,后面的学习也就相对比较轻松、熟练,但也有的学生感觉到了难度,缺失了学习的积极性,时间久了,就会遇到很多难以理解的知识,日积月累,慢慢脱离了教师的节奏[1]。
吉林教育·教研23/2016《C#程序设计》是一门实用性很强的课程,是计算机应用技术及其相关专业的基础课程之一。
问题启发式教学的关键在于设置问题情境,引导学生发现问题并解决问题。
为此,设计与建设教学辅助平台,实现了教师为引导,学生为学习主体的启发式教学。
经过多年的实践检验,验证了问题启发式教学模式和教学方法的有效性,并取得了较好的教学效果。
一、《C#程序设计》课程教学现状分析《C#程序设计》课程是一门实用性很强的课程,简单易学。
目前,该课程传统的教学方法存在如下问题:(一)计算机专业的《C#程序设计》课程开设在大四的第一学期,由于进入大四之后,学生忙于找工作和考研,缺乏学习主动性,缺乏和教师双向互动的兴趣,教学效果不理想;反之,通信专业的《C#程序设计》课程开设在大二第一学期,他们在大一用了一年的时间学习C语言程序设计,理论功底比较扎实,但缺乏程序设计的抽象思维能力,所以对学习《C#程序设计》课程兴趣很高,互动性较好,教学效果较理想。
(二)以往教学采用闭卷考试的模式来考核课程的学习效果,而对于《C#程序设计》课程来讲,学生的分析问题能力,熟练的设计和调试程序的能力也是相当重要的。
采用多角度的考核方式,提高学生的学习积极性,将学生从死记硬背中解放出来,学会思考问题、解决问题。
社会在进步,《C#程序设计》课程也应不断更新。
传统的教学模式已无法适应当前IT单位对本科毕业生的程序设计要求,因此,需要一种新型的教学模式去解决问题,提高教学质量。
二、问题启发式教学在《C#程序设计》教学改革中的应用启发式教学是教学方法的总原则,教师和学生都是开展启发式教学的主体,启发式教学必须贯彻到教师的具体教学行为中。
启发式教学要取得好的效果,离不开学生的积极参与和配合。
为使启发式教学更加有效,更易被学生接受,在《C#程序设计》课程教学改革中做了以下尝试。
(一)选择合适的教材随着C#程序设计语言在社会上的使用范围越来越广泛,出现了越来越多的《C#程序设计》教材,而各个教材面向的对象以及对象的水平并不相同,我们选择了人民邮电出版社出版的《VisualC#.NET程序设计教程(第二版)》作为我们的主要教材。
c语言课程教学的改革与探索
C语言课程教学的改革与探索是一个值得深入研究的话题。
首先,应该改变传统的教学模式,从理论讲解转向实践操作,让学生更多地动手实践,以提高学习效果。
其次,应该引入新的教学方法,比如增加实验课程,让学生更多地接触实际的编程环境,以便更好地掌握C语言的知识。
此外,还可以引入新
的教学软件,比如Visual Studio,让学生更容易理解C语言的
语法和结构,以及更好地掌握编程技巧。
最后,应该加强学生的自主学习能力,让学生更多地参与到课堂活动中,以便更好地掌握C语言的知识。
总之,C语言课程教学的改革与探索是一个值得深入研究的话题,需要我们从多方面来改进教学方法,以提高学生的学习效果。
比如,可以引入新的教学软件,改变传统的教学模式,增加实验课程,以及加强学生的自主学习能力,等等。
只有这样,才能使C语言课程教学更加有效,让学生更好地掌握C语言
的知识。
教育教学Education &Teaching60 2018年第1期(第13卷 总第44期)C 语言程序设计课程是高校理工科专业的基础课,也是编程的入门级课程。
在某学院,该门课程是计算机、机械制造、印刷等理工科专业的必修基础课程。
学习该课程,目的是培养学生具有针对具体问题进行编程的能力,为软件开发奠定基础。
然而,在实际教学过程中,学生学习自觉性不高、动手能力差、语言应用能力不强,整体效果不理想。
笔者通过多年的教学,发现以下问题:1.C 语言语法规则多,内容抽象,对于首次接触编程语言的学生而言,难以理解,更谈不上应用;2.在教材方面,大多数是先理论、后实践,理论和实践的结合不紧密,学生记忆片面、不深刻;3.教学方面,教师大多用课本上的例子讲授语法,学生理解语法层次有限;4.学生学习完课程后,能按课本机械式掌握基本语法,但是缺乏程序设计的思维,动手能力较差。
针对以上存在的问题,笔者将项目教学法引入课堂,开展“以学生学习效率”为中心的课程教学改革,激发学生学习兴趣和热情,提高学习效率,培养学生的应用创新思维。
一、CDIO 教学模式介绍CDIO 是由美国麻省理工学院和瑞典皇家工学院等4所著名工程大学发起,全球23所大学参与合作开发的国际工程教育合作项目。
该项目以从产品研发到产品运行的生命周期为载体,让学生主动参与实践,有机融合所学知识和体悟“工程”理念[1]。
CDIO 倡导“基于项目的教育和学习”和“做中学,学中做”的教育理念,以应用型人才培养为目标,以项目为载体,将理论教学与实践相结合,强调培养学生自学能力、团队协作能力、沟通能力等。
将项目化课程教学引入到课程教学改革之中,对提高课程教学质量及应用型创新人才培养质量具有重要意义。
二、教学改革的措施(一)以学生为中心,突出学生学习的主体性传统的以教师为中心的“灌输式”教学方式,学生处于被动学习状态,一旦学生某个知识点不懂,便会跟不上、不愿听、不想学,最终形成恶性循环。
新工科背景下《C语言程序设计》课程教学体系改革探索随着新工科背景下的教学理念不断深化,C语言程序设计课程的教学体系改革也成为了教育界关注的热点。
在传统的C语言程序设计课程中,学生主要学习C语言的基本语法和编程技巧,缺乏实际项目的实践环节,导致学生对于编程实践的理解和应用能力不够。
为了满足新工科背景下对于工程实践能力的培养需求,C语言程序设计课程的教学内容和教学方法亟待改革和探索。
一、新工科背景下的教学理念二、教学内容的改革与探索1. 引入实际项目案例新工科背景下的C语言程序设计课程需要引入更多的实际项目案例,让学生从实际问题出发,在学习C语言的过程中通过解决实际问题来提升编程能力。
教师可以挑选一些实际的问题,如简单的游戏开发、嵌入式系统设计等,让学生利用所学的C语言知识,自己动手设计并实现一个小型的项目,从而培养他们的实际工程能力。
2. 开展跨学科合作C语言程序设计课程可以与其他专业课程进行跨学科合作,引入更多的实际工程实践项目。
比如与机械设计、电子电气、自动化控制等专业进行合作,开展跨学科的项目设计和实施,让学生在实际项目中学习C语言的应用,同时也了解其他专业知识,达到全面培养学生工程技术能力的目的。
3. 强化实验教学环节在C语言程序设计课程教学过程中,要加强实验教学环节,让学生通过实际操作来掌握编程技巧和解决问题的能力。
实验教学环节不仅可以帮助学生巩固所学知识,还可以培养学生的观察、分析和解决问题的能力,提高他们的工程实践意识。
1. 采用项目驱动性教学C语言程序设计课程的教学方法可以采用项目驱动性教学,即以项目为导向,通过设计和实施项目来引导学生学习C语言知识。
教师可以设计一些具有实际意义的小型项目,让学生围绕项目展开学习,通过项目的实施来提升编程能力和解决问题的能力,培养学生的工程实践意识。
2. 实施问题驱动教学C语言程序设计课程可以开展团队合作式教学,让学生组成小组,共同参与项目设计和实施。
一、前言《C语言程序设计》是高校理工类学生的一门必修课程,各院校开设C语言课程的教学目标是希望学生通过对该课程的学习不仅能够掌握高级语言程序设计的基础知识和基本方法,而且进一步培养和提高学生的程序设计和调试的能力。
因C语言程序设计的开课对象为大学一年级新生,且该课程内容抽象而生涩,不像可视化语言具体生动,导致大一学生感觉该门课程晦涩难懂,入门较难。
如果老师还按照传统的教学方法讲授,将造成学生对计算机的学习在刚刚开始效果,如菜单导航、窗口特效、文字滚动播放;然后一起分析源代码的结构,指出几个程序里面共通的技巧;然后讲授基本语法、语句、函数、事件触发器等内容。
最后,引导学生修改之前的案例,如个性化菜单导航、滚动文字播放时间及效果修改等。
MVC设计模式部分是本课程的重点也是难点,要求学生掌握业务逻辑和数据显示分离的方法组织代码,所以采用知识点讲解—代码分析—效果演示—知识点归纳的教学思路。
教学过程中,首先介绍MVC设计模式的由来,让学生充分理解MVC中各“角色”的功能与作用,基于同一个功能,如奶业公司的进库管理,分别采用单纯JSP开发方式,JSP+JavaBean的开发方式,以及采用MVC的JSP+JavaBean+Servlet的开发方式实现。
比较三种开发模式下的代码量、程度可读性。
这种基于案例的教学法有利于于促进学生主动参与课堂讨论,从而激发学生独立思考和创新意识。
最后,各小组进行项目案例成果演示。
通过演示成果,引导学生对不同方案的实施效果进行比较分析,总结出各自技术的优势与劣势以及各小组开发项目的经验。
案例教学与合作学习法结合的教学方法,一方面,在小组内部可以促进学生的团队协作能力的培养;另一方面,可以激励小组间展开竞争,培养学生的竞争意识。
在这种教学法中,教师不仅仅是“演员”的角色,更重要的是扮演了“导演”的角色,引导学生在一定的情境内学习,激发其体内的创造力与创作欲望,使其从内心真正渴望知识的学习。
三、《Web技术》课程的评价体系合理的评价体系是教学过程中不可缺少的一个重要环节。
本课程采用多角度相结合的综合考核方法。
考核成绩由平时成绩、合作学习作品成绩、角色成绩3部分组成。
平时成绩占30%,以课堂出勤、课堂表现为依据;合作学习作品成绩占40%,以小组所开发系统的效果为依据;角色成绩为30%,依据为该学生在合作开发项目中的角色表现。
四、结语通过对《Web技术》课程教学方法的改进,使教学模式由之前的学生被动接受转向主动参与。
在教学的过程中通过案例教学法引导学生从整体着眼搭建项目的结构,合作学习法促使学生采用团队合作的方式对项目各个部分详细分工,两种教学法相结合可以有效地增强学生的学习兴趣,提高教学效率。
参考文献:[1]张家军,靳玉乐.论案例教学的本质与特点[J].中国教育学刊,2004,(01):48-50.[2]王晓燕.案例教学法在管理类本科教学中的应用研究[J].武汉科技大学学报:社会科学版,2007,(04):32-36.[3]张丽,夏斌.项目教学法在面向对象程序设计课程教学中的应用[J].计算机教育,2010,(10):92.[4]陈晓冬.合作学习对大学生成就动机影响的实验研究[D].成都:四川大学,2008:11-13.[5]龚克.立德树人、素质教育与内涵式发展[J].中国高等教育,2013,(02):6-8.基金项目:中国矿业大学青年教师教改项目(2013Y48);中国矿业大学教学改革与精品课程建设项目(wk1303)作者简介:赵莹,女,中国矿业大学计算机科学与技术学院讲师,研究方向为数据挖掘和机器学习。
基于问题导向的C语言程序设计教学改革与探索薛冰冰,李敏(河南科技大学信息工程学院,河南洛阳471003)摘要:本文分析了当前C程序设计课程教学过程中存在的问题,提出在C语言程序设计教学中采用问题导向为主,逐层深入为辅,循序渐进地转换学生的学习目标,在潜移默化中培养学生的编程能力,从而激发学生的学习兴趣,提高C程序设计课程的教学质量,同时还提出在实施基于问题导向教学模式时应注意的问题。
关键词:C语言;问题导向;教学改革中图分类号:G642.0文献标志码:A文章编号:1674-9324(2014)45-0142-03---------------------------------------------便畏而止步渐渐失去学习的兴趣,因此我们提出在这门课程的实际教学中采用以问题导向为主,逐层深入为辅,循序渐进地转换学生的学习目标,在潜移默化中培养学生的程序设计和程序调试能力,从而激发学生的学习兴趣,提高C语言程序设计课程的教学质量[1]。
二、传统C语言教学存在的问题1.照本宣科缺激励。
在C语言教学过程中,课堂教学普遍是按教材的章节顺序来制作课件,虽然课堂上也采用多媒体教学,却局限于讲课过程中放映课件和演示C程序的模式,且教学过程中教师自顾自地对着课件口若悬河,这就使得课堂教学乏味抽象、枯燥,导致学生听课被动消极。
这种方式的教学激发不出学生的主动性和独立思考问题的能力,导致课堂气氛沉闷,学生上课精神倦怠,最终达不到理想的教学效果。
2.重理论,轻实践。
大部分教师教学时一味地强调理论知识,与实践教学相脱离,导致了相当一部分学生在上理论课时不了解C语言能做什么,不喜欢听课,导致学生在理论课上既不动手写程序又不动脑筋思考问题。
实践教学环节重视不够,缺乏与实际问题相结合的能力的培养。
不能增强学生自主探索知识和运用知识解决实际问题的能力。
忽略了学生自己动手编程能力的培养,如果只是一味地强调基本语法,不亲自编写程序,解决实际问题,永远都学不会编程。
学生只有在编写调试程序的过程中才能不断丰富自己的实践经验,增强自信心。
3.缺乏从计算机的角度来思考问题。
如何让计算机实现两个加数相加?如何让计算机解决鸡兔同笼问题?这些题目小学生都会做,关键是如何告诉计算机,让它来“帮”我们做。
从某种意义上说我们是动动“口”,计算机是动动“手”。
要让学生明白计算机只是一个“听话”的执行者。
4.无法学以致用,联系实际。
在C语言如何解决实际问题方面没有太多联系,导致课程教学较为枯燥。
对于学生而言,他们更乐于接受与实际相关联的内容,如果我们一味注重理论灌输与传统例题的练习,容易使学生逐渐缺乏学习兴趣,而难以达到应有的教学效果。
5.课程性质设置方面。
各学院关于C语言程序设计的课程设置不同,有必修课,有考查课,设置不同导致学生对该课程的重视程度不同。
因此,鉴于上述C语言教学中存在的问题,本文提出在C语言程序设计教学中采用问题导向为主,逐层深入为辅,循序渐进地转换学生的学习目标,在潜移默化中培养学生的编程调试能力这一教学改革新思路,并取得良好的教学效果。
三、问题导向式教学法的课堂应用问题导向式教学,是指教学过程是在教师的启发诱导下,以学生独立自主学习和合作讨论为前提,以学生原有知识、周围世界和生活实际为参照对象,为学生提供自由表达、质疑、探究、讨论问题的机会,让学生通过个人、小组、集体等多种解难释疑尝试活动,将自己所学知识应用于解决实际问题的一种教学形式。
该教学方法的最终目的在于引导学生通过主动学习来获取新知识、发现新问题。
1.理清教学思路。
问题导向式教学活动是一个不断提出问题的过程。
整个课堂的内容由环环相扣的问题组成,教师将选取的问题分解成多个子任务,每个子任务都能引入新的知识点,且子任务中引入的知识点是逐步扩展的。
这样,在教学过程中,学生通过子任务的逐层深入解决,循序渐进地掌握所引入的知识点。
这就要求在授课过程中教师的教学思路一定要很清晰,教师的教学思路清晰是上好一堂课的关键所在,因而教师在认真分析研究教材的基础上,有意识地按重点、难点来提出问题、分析问题、解决问题,层层展开课堂教学。
由于设计的子任务能够自然引入新知识,学生总是可以从一个比较容易解决的已熟悉的内容进入到新知识点的学习过程中,所以学生兴趣高,能主动参与到问题的讨论中,同时,通过不断地探索每个简单子任务的求解过程,学习者能够体验到胜利的喜悦,从而产生学习的成就感,进而转化为学习的动力和源泉。
因此要求教师在进行子任务的分解时,能按照知识点逐步扩展,由易到难,均衡分解。
这样学生一步步地完成整个任务之后,会非常有成就感,同时激发了编写程序的兴趣,从而产生一种学习过程的良性循环[2]。
2.提出问题。
提问是“问题导向式”教学法的精髓,而问题的设计直接关系到教学的效果。
总的来说,问题设计要注意难度的层次性、内容的探索性,要有利于充分激发学生的兴趣,调动学生的学习积极性。
若问题过于呆板、机械,学生只是回答“是”或“不是”,教学就收不到良好效果。
提问时教师可以对问题的形式和内容进行“包装”,使学生在思考问题时不会感到枯燥、乏味。
例如,在讲选择结构时,教师可以提问:生活中,我们的选择是一种、二种还是多种?学生对这方面很熟悉,可以很快回答出来。
教师可以继续提问:那你们知道C语言中的选择结构有几种吗?通过这些提问,学生的学习兴趣可以充分调动起来。
不同的学生,其知识基础和理解能力不尽相同,有时甚至相去甚远。
教师提问要有层次性,既要有简单易答的问题,也要有具有一定难度的问题。
问题的设计要先易后难,由此及彼。
不同层次的问题选择不同的学生回答,尽量照顾到每一个学生的实际水平,这样可以有效提升学生的自信心。
为培养学生的创造性思维,教师的提问应有一定的探索性。
以问题为线索,引导学生逐层寻求解决问题的方法,培养思维的发散性和灵活性。
例如在讲解循环时,先提出一个基本的输出问题即如何在屏幕上输出“***”,该问题可以让学生通过自己的独立思考进行解答后然后再提出如何只用printf(“*”)来实现这一输出呢,再提出如何有很多个“*”我们应该如何处理呢。
一步一步,逐层深求地引入循环。
在设计问题时。
对于新知识点,教师所设计的问题,要在之前掌握的知识点的基础之上来提问题,慢慢引入一些新知识,然后通过新问题来吸引或提醒学生主动思考和解决这些问题,最终达到理解基本知识、基本概念的目的。
对于综合知识点,要注意知识点之间的关系,不仅要在每个知识点上设计问题,还要从知识点的综合运用角度设计问题。
C语言的知识点具有较强的连贯性,因此,多从知识交汇点设计问题有利于培养学生的应用能力和对C语言的整体把握。
对于习题课,教师不仅要能熟练地解答每一道习题,而且要悟透其中的基本语法和算法。
从这些语法和算法入手,对不同的题型进行归类,由此设计问题,引导学生触类旁通,尝试独立解决提出的问题,提高学生对C语言的学习兴趣。
3.分析问题。
分析问题能够让学生感受、评价与研究各种各样的实践问题,培养他们解决实际问题的能力,具体为:可以培养学生的探究意识;可以增加学生的实践知识;能够提高学生的鉴别能力;同时也能促进教师教学能力的提高;例如“s=1!+2!+3!+…+10!”,在分析这个问题时,一定要抓住问题的关键。