c语言课程设计范文
时间:2023-03-28 18:27:04
导语:如何才能写好一篇c语言课程设计,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
高等职业教育的目标及侧重点不同于普通高等教育,其培养的学生在毕业后应能直接上岗,具有熟练的实践操作技能。教育部《关于以就业为导向深化高等职业教育改革的若干意见》中指出,高职教育应“坚持培养面向生产、建设、管理、服务第一线需要的‘下得去、留得住、用得上’,实践能力强、具有良好职业道德的高技能人才”。
因此,加强实践性课程教学,对保证人才培养质量显得尤为重要。我院为贯彻《关于全面提高高等职业教育教学质量的若干意见》(教高[2006]16号文件)精神,针对区域经济发展的要求,灵活调整和设置专业课程,以就业为导向,加快专业课程对应的课程设计改革。目前,我院按照由浅入深、不断深化的教学规律,构建了实践教学三层次四环节的实践课程体系(图1)。实践教学三层次包括基本技能、专业拓展、综合创新,四环节包括实验、实习实训、设计和课外实践。“C语言课程设计”是我院信息类专业的必修专业基础课程设计,在“C语言程序设计”课程教学结束后的下一学期进行,历时2周,40学时。课程开设的目的在于培养学生分析问题和解决问题的能力,为学生提供一个动手、动脑、独立实践的机会。
2项目教学法的简单介绍
2.1项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。著名的瑞士心理学家皮亚杰认为,知识不是通过教师传授得到的,而是学生在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算规定范围内需达到预定质量水平的一项一次性任务。”
“项目教学法”是通过实施一个完整的项目而进行的教学活动,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习,自主地进行知识的建构,在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。因此,在教学活动中,教师将需要解决的问题或需要完成的任务以项目的形式交给学生,在教师的指导下,以小组工作方式,由学生自己按照实际工作的完整程序,共同制定计划,共同或分工完成整个项目。
在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。在高等职业技术教育中,项目是指以生产或制作一样具体的、具有实际应用价值的产品的工作任务。在技术领域,很多小产品或一些复杂产品的模型都可以作为项目,如:在信息类专业,可以开展微机组装、网站建设、信息管理系统开发、局域网构建、单片机制作、多媒体课件制作等项目;在电子类专业,可以开展报警器、LED、门铃、家电组装等项目;在商业、财会和服务行业,所有具有整体特性并有可见成果的工作也都可以作为项目,如商品展示、产品广告设计、营销策划等。
2.2项目教学法的基本特征项目教学法与传统的教学法相比,有很大的区别,主要表现在改变了传统的3个中心:以教师为中心转变为以学生为中心;以课本为中心转变为以“项目”为中心;以课堂为中心转变为以实际经验为中心。项目教学法具有以下特点:(1)实践性。项目“源”于企业,项目的主题与真实世界密切联系,由浅入深,选择的项目具有典型性、实用性。(2)自主性。提供学生根据自己的兴趣选择内容和展示形式的决策机会,让学生能够自主地进行学习,从而有效地促进学生创造能力的发展。(3)发展性。长期项目与阶段项目相结合,构成了实现教学目标的认知过程。(4)评价特殊性。项目型教学的评价注重学生在项目活动中能力发展的过程,测评内容包括学生参与活动各环节的表现及作业质量,避免了传统的一张试卷定成绩的弊端。测评可以采用自评、小组评、教师综合评等方法。教师只有明确并抓住项目化教学特点,才能更好地完成教学目标。
3项目教学法在“C语言课程设计”中的实施
3.1教学内容为了更好地开展课程设计教学,经过多次实践和摸索,总结出学生在具体实施项目中一般存在2个方面的知识不足:第一,在教学内容上,由于前导课程在教学上受学时影响,很多教师对指针、结构体、共用体和文件基本操作的知识介绍不甚完善、系统,更难谈上辅以实例加以消化。对此,针对学生在这些知识点上的掌握程度,利用4~6个学时,实施区别式的、辅导性的、实例化教学。第二,学生对项目管理知识知之甚少,针对此情况,采用2个阶段实施有别于常规教学的补课行动。第1阶段为项目准备阶段,利用2~4个学时,安排曾经做过项目且做得比较好的学生,现身介绍项目的准备工作(包括如何选题、如何查找资料、如何复习C语言知识)、项目实施过程要完成的工作(包括如何做市场调查、如何做需求规格分析说明书、如何做概要设计说明书、如何做详细设计说明书、如何选择使用代码编码器代码编写注意事项)、项目验收及作业提交的工作(包括程序测试事项、如何写课程设计报告)等。在学生介绍中,教师穿插讲解,辅以点评。第2阶段为项目实施阶段,教师应针对学生发生的问题,及时给予指导,直到学生弄懂为止。
3.2教学要求切实保证教学质量和教学效果,本着“学以致用”的原则,要求学生做到以下3点:第一要做到“学有三备”,即:在项目实施前做好知识储备,在项目实施中做好安全防备,项目结束时做好被评准备。第二要写好“三书一报告”。“三书”即每个项目组要做需求规格说明书、概要设计说明书、详细设计说明书,“一报告”即人人都要做课程设计报告。第三要做“四自”参与者。“一自”即自律,要求学生自觉履行学生守则和项目实施有关规则,不迟到、不早退、不缺席,实施点名制度,若无特殊原因,有5次旷课者自愿以重修论处;“二自”即自尊,要求学生尊重知识、尊重学习规律、尊重项目组成员、尊重教师、尊重自己;“三自”即自信,要求学生相信自己能够按时、按量、按质完成工作内容,遇到困难时,沉着、冷静,理性地寻找问题解决的办法;“四自”即自强,要求学生不满足自己已有的成绩和以往与课题项目组共同取得的成绩,用创新和超越的思想,做出比以前哪怕是前进一小步的事情。同时也要求教师做好相应的工作,如做好项目整体规划、精心准备、努力激发学生参与行为、为人师表、表扬为主、批评为辅、多分析、精点评等。
3.3项目实施进程项目教学法是一种生动、灵活、多样化的教学方法。在项目实施过程中,既不能生搬硬套地利用一个时间标准,又不能影响项目实施的整体进程,因此对时间的灵活处理是非常关键的,也是值得商榷的。
篇2
关键词 表现性评价 量规 课程设计
中图分类号:TP312 文献标识码:A
1构建表现性评价基本思路
构建表现性评价就是制定评价目标、选择评价内容、开发和设计评价方法的,还包括评价者的参与、选择评价时间和场所、记录、收集和整理评价信息的,以及制定评价标准和表现标准等。依据这样的开发步骤,对C语言课程设计表现性评价的设计和实施做出了整体规划,该设想的总体思路如下图所示:
2表现性评价目标的制定
学习目标是课程学习活动的出发点和归宿,它指导教与学,向其他人传达教学意图,并提供评价学生学业的指导意见,是评价学生的重要依据。表现性评价的评价目标和课程的培养目标是一致的。在评价之前只有清晰的知道C语言课程要培养什么样的学生,才能把握好教学与评价的方向,最终达成目标。
C语言程序设计是一门典型的具有操作性和实践性特点的计算机科学课程。该课程的学习目标体系包括下列内容:
(1)知识类目标:理解并掌握课程要求的基本知识,加深对已学知识的理解,进一步提高原有技能;在熟练掌握陈述性知识的同时,更加注重对知识的应用。
(2)能力类目标:培养学生的创新意识、刨造思维能力和动手实践能力;培养学生信息意识和主动获取信息,处理信息的能力;培养学生的群体意识和学会沟通与合作交往的能力;培养问题意识和独立发现问题、提出问题、解决问题的能力;培养和提高管理能力等。
(3)情感类目标:现代学习观、科学精神和态度、社会责任感和使命感和交往能力等。课程设计的学习目标在课程学习目标的基础之上,更强调实践能力的提高,培养计算机程序设计的能力和素质,以及思维方法。经上述分析,与课程学习目标相对应,课程设计的表现性评价目标也应包含三个维度:对知识习得的评价、对能力的评价和对情感态度价值观的评价。对上述三方面的评价目的具体描述如下表所示。
3选择表现性评价任务
评价任务指的是一种与教学目标紧密相连的,而且能够为学生创造展示自己进步与能力的机会的一种具体的行为,能反映现实生活中的活动、表现和挑战的任务,建立在学习与评价的联系基础之上,考虑学生的兴趣和能力。C语言课程设计任务,更加突出应用性和实用性,拓展知识面。通过课程设计,进一步熟悉掌握数据类型、分支控制、循环控制、函数的定义及调用、结构体及数组、指针、文件操作、编译预处理等知识;达到系统理解、综合运用课程知识的学习目标;学会用C语言程序解决实际问题的方法;掌握程序的局部测试、调试方法,建立程序系统测试、调试的基本概念和思想,学会较大程序的系统测试、调试方法。
一般的C语言课程设计项目包括小型系统设计、图形图像设计和游戏程序设计基本过程包括以下6个步骤:
3.1程序的功能设计
功能设计是课程设计的第一个环节,其任务是根据课程设计题目的描述和要求,确定程序要实现的功能,并把功能划分为不同的层次,确定各层功能的上下级关系,然后绘制出分级描述的程序功能框图。
3.2程序的数据设计
程序的数据设计主要包括对以下各类数据进行设计:对程序中用到的主要数据确定数据类型;对程序中用到的结构体数据定义其结构类型;定义程序中使用到的全局变量、外部变量等;定义程序中通用的符号常量;确定文件的数据类型,如二进制文件、文本文件等。
3.3程序的函数设计
一个综合性的程序,需要设计若干个函数。各个函数功能各异,使用的层次也不尽相同。为了使总体设计协调有序的进行,需要在程序编码之前,对主要的函数做出预先设计,即所谓的函数设计。程序的函数设计包括函数的功能设计和函数调用设计两个方面。
3.4函数编程及调试
函数编程及调试是实现程序功能的核心阶段,函数编程及调试是实现程序功能的核心阶段,需要注意以下问题:课程设计具有一定的综合性,其程序通常由多个函数构成,每个函数都有独立的功能,实现特定的操作;有些函数之间有调用和被调用的关系,在进行函数设计时需要注意顺序问题,有点函数先设计,有点函数后设计,而没有调用关系的函数可以并列设计;程序设计是一个循序渐进的过程。有点函数在程序设计前的函数设计阶段就被考虑到了,而有的函数是在程序设计过程中因需要才产生的。但无论哪个函数,都会经历由简单到功能完善定型的过程。
3.5整体调试
整体调试是程序设计的必要阶段,是在前期程序设计调试基础上进行的基本过程。需要设计准备一个较大规模的数据集,按照课程设计题目的功能要求,对组装完成的程序逐项进行功能测试和调试,直至确认程序达到了设计目标为止。
3.6设计总结
设计总结是课程设计的最终阶段,通过对课程设计的各个过程进行系统全面地总结,按照指导教师的具体要求,形成课程设计报告。
4建立量规
量规(Rubric)是一种结构化的定量评价标准。往往是从与评价目标相关的多个方面详细规定评级指标,具有操作性好、准备性高的特点。量规是评价的工具,学生的作品、成长记录、学习成果或者学习过程中的其他表现(行为、认知、态度)都是量规的评价对象。同时量规也是一个教学工具和学习工具,可以指导教师的教学和学生的学习过程,模糊了教学、学习和评价之间的界限,评价工具也从而成为了教学工具和学习工具。量规设计的出发点和着落点是指标和等级地选择与确立。设计评价量规就是,以课程、教学、评价三者统一,突出学生主体性和促进学生发展的评价目的为设计原则,在明确学习目的和目标的基础上,列出评价指标和制定评价等级。对C语言课程设计内容加以分析,制定出课程设计过程中的几个量规。
4.1 C语言课程设计任务设计量规(教师)
该量规主要是对学生在对课程设计任务进行分析、提出解决方案、制定完成任务的相应计划的表现进行评价时所使用的量规。该量规中的评价项目主要包括问题分析、任务划分、程序架构等。根据评价项目完成情况好坏不同给出不同分值的具体表现,在评价过程中对照量规评价学生的表现。
4.2小组合作量规(教师)
该量规是由教师为各个小组整体表现进行评价的量规工具,小组的表现应包括帮助、倾听、参与、劝说、问题及尊重等几个方面,教师根据对各小组的观察情况,对各项评分,并计算总分,以此作为小组合作表现的成绩。
4.3小组成员相互关系表现量规(学生自评,互评)
小组成员之间的关系是否融洽,合作是否愉快,常常对整体工作效果有着至关重要的作用,因此,该量规也就比不可少了。该量规是从小组成员之间相互观察到角度来制定的,其主要评价项目包括合作、参与、态度、独立性、交流和应答等,每个小组成员都要为其他小组成员打分,计算评价分。这样每个同学都可以看到自己在本小组中和其他成员间的关系如何,在以后的人际交往当中即可吸取经验,更好地与他人融洽相处。
5总结
评价与教学是一个硬币的两面,虽然两者有不同的“图案”,但总是不可分割的共同体。目前,在教育领域中,我们面临的许多真实困难都来与教学和评价的分离。如果我们准备可信的方式评价学生,真正服务于促进学生深入学习的最终目标,教学与评价必将再次结合。
参考文献
[1] 张颖之,李秀菊,刘恩山.评价量规――主动学习的评价工具[J].生物学通报,2007(3).
篇3
关键词:C/C++语言程序设计;教学改革;国家精品课程;教学方法
文章编号:1672-5913(2013)07-0095-04
中图分类号:G642
1 课程教学现状及存在问题
“C/C++语言程序设计”是理工科非计算机专业本科学生的第二门计算机课程,也是大学计算机基础系列课程的核心课程。“C/C++语言程序设计”课程的内容抽象,概念和语法规则较多,特别讲究适用技巧。长期以来,高校都在不断地探索和实践关于“C/C++语言程序设计”课程的教学改革,但仍然存在很多问题。例如,教学依然以传统教学方式为主,不能将实验环节与课堂教学环节很好地相互连贯,相互印证,使得理论教学和实践教学脱节;某些教师忽视学生的实践能力和创新能力的培养,使学生在分析问题和解决问题时无从下手,缺乏编程和调试的能力;实验教学中的多数实验内容是验证性的,学生机械式的运行程序,对知识的理解只停留在表面上;理论和实验课时数较少,上课信息量大,学生接受知识的进度不一样,这就导致教师和学生的学习步调不一致。
针对上述问题,许多高校对“C/C++语言程序设计”课程的教学作出了有益的探索,如文献[1]提出“通、实、新、联”的教学理念;文献[2]提出教学设计原理;文献[3]提出项目教学法;文献[4]提出案例教学法;文献[5]提出“机房授课+自主学习”的授课模式;文献[6]提出将“以应用为背景,以知识为主线,以提高能力和兴趣为目的,变应试为应用”的教学理念应用于该课程的教学中。这些方法均在一定程度上激发了学生的学习兴趣,增强了学生的动手能力,取得了较为明显的教学效果。
为了探究出适合成都理工大学人才培养的课程特点,“C/C++语言程序设计”课程组经过多年的课程建设和对教学环节的研究与探索,提出了“以应用为前提,学生为主体,知识为主线,培养学生的实践动手能力为着力点”的教学理念,构建了一套教材体系完善、教学资源丰富、教学手段先进、教学评价合理、考核方式差异化、精品课程网站新颖的教学体系。下面分别从教学设计、教学方法、教学手段、考核方式以及教学资源等方面进行阐述。
2 教学设计及课程内容组织
2.1教学设计
成都理工大学每年有4000名以上的学生参加“C/C++语言程序设计”课程学习。为实施因材施教,我们重视研究性学习、探究性学习、协作学习等现代教育理念在教学中的应用,根据课程内容和学生特征,对教学方法和教学评价进行设计,并在教学理念与教学设计上实施了多种改革举措。
1)以学生为中心的教学模式。
以学生为中心的教学模式让教师从传统的教学方式中解脱出来,变“教学”为“导学”。教师充分利用多种教学媒体和提示学习资源,讲重点、解难点、释疑点,讲评作业,指导学习方法,辅助小组学习,发挥学生的主体作用,引导学生自主学习,帮助学生培养自学能力。
教师要在理论课前了解学生是否掌握了与课程有关的基础知识和基本技能,根据学生在实验课的表现来了解学生是否掌握了教学目标中要求学会的知识和技能,以及掌握的程度等信息,从而确定后续教学中应重点讲解和辅导的知识,根据学生的实际情况设计教学环节。对于部分优秀学生和已经学习了程序设计的学生,我们要加快他们的学习进度,增加学习难度和深度,使他们可以很快在自己的专业中使用程序设计来解决相关问题。
2)精心准备每一节课,激发学生学习积极性。
激发学生对程序设计课程的学习兴趣,是本课程任务执行的重要目标。学生是主动学习还是被动学习会让教学效果产生明显的差别,因此每位教师都应精心准备每一节课。引领学生跨入程序设计大门的第一节课是极其重要的。学生所关心的是所学课程对自己的专业和今后的工作有什么作用,教师可从不同的专业角度,结合当前最热门的IT话题和实际应用为学生介绍学习本课程的意义和作用,同时介绍一些往届学生将所学程序设计知识用于数学建模、程序设计竞赛、专业课程学习等方面的生动实例,这些都是教师第一节课的良好素材。
3)培养学生系统化的程序设计思维。
程序设计课程长期存在着注重语句、语法和细节的特点,基本上是以程序设计语言自身的体系为脉络展开的。许多学生在学习程序设计语言课程时会觉得枯燥难学,学过后又不能用来解决实际问题。所以学生虽然学了一定的程序设计知识,但编程能力较差。‘部分学生在遇到实际问题依旧无从下手。而系统化程序设计思维培养模式是从本科生的认知特点出发,让教师在教授学生程序设计课程、提高学生编程能力的同时,培养学生的系统化程序设计思维。
程序设计课程不仅教学生如何进行计算机编程,而且教学生如何像程序员一样思考问题。系统化的程序设计思维的培养过程就是让学生自己动手解决实际问题的过程。这个过程充满了学生对未知问题的探索、研究与创新,不仅可以教会学生解决在程序设计中遇到的问题,而且可以锻炼思维,使学生的逻辑思维更加严密,这对一个理工科的大学生来说是至关重要的,对学生整体素质的提高、程序设计课程整体教学水平的提高都有现实意义。
4)互换角色思考与提问。
在教学过程中我们发现,很多学生不提问,有时是学生提不出问题,有时是不知该如何提问。这时,教师需要站在学生位置上,思考学生可能会有什么问题,然后由教师提出问题,让学生来回答。如果学生不能回答,教师再为学生解答。教师备课时不再只是准备我要讲什么,而是思考学生会遇到什么难点,需要向学生提什么问题、解答什么问题。基于此目的,教师需准备大量经典案例,提出问题,分析问题,并在问题中设置一些错误,让学生思考原因,并进一步思考如何修改错误,在这样的学习过程中潜移默化地掌握基本的语法知识和解决问题的方法。这种模式转变了学生的学习方式,激励学生积极思考问题、分析和解决问题。
2.2理论课程设计
由于科学技术的快速发展,计算机科学与其他学科间的交叉、融合日益增强。大多数非计算机专业的培养目标已将学生的计算机程序设计能力作为了一项重要内容。
本课程主要是针对非计算机专业的理工科一年级大学生开设的。与计算机专业不同的是,非计算机专业学生一般只学一门语言课程。因此,该课程的教学就担负起培养学生编程能力的重要责任,成为了学习其他程序设计语言的基础。
根据非计算机专业各学科的培养目标,“C/C++语言程序设计”课程在理论课程内容设计上注意知识结构的合理,强调基本能力的培养,注重基础理论与实际应用的融合。课程内容体系结构重点突出学以致用。课程内容知识结构由C语言简单程序的编写和调试、C语言程序设计基础、控制结构、数组、指针、函数、编译预处理与变量的存储类型、文件、结构体与共用体、图形程序设计基础、C++程序设计基础、查找和排序12部分组成。
根据学以致用的原则,在实际应用中,函数是程序设计的重要内容之一,也是学生学习的难点之一,因此在理论课程设计中,我们将函数的使用提前讲解,让学生尽早接触函数,理解模块化的设计方法,掌握函数的基本设计和操作。在讲授第2章有关输入/输出库函数时,可同时结合第8章文件的知识,使学生掌握实际问题中涉及不同数据的不同输入/输出方式,较好地解决了学生学习C语言后不能熟练掌握文件操作的问题。
教材在内容编排上注重易用性。每章的开头设置本章学习目标,之后设置本章学习指导,包含“课前思考”“本章难点”和“本章编程中容易出现的错误”。每章后的练习题涵盖了程序设计中的常见算法,涉及简单程序设计、较复杂程序设计、易于举一反三的程序设计问题等内容,使学生能够通过练习,大大地提高编程能力。
2.3实验课程设计
“C/C++语言程序设计”是一门实践性很强的课程。在近几年的课程建设与教学改革中,实验课程注重理论课程内容与实验内容的有机结合,强调学生创新能力和实际动手能力的培养。C/C++程序设计实验教学内容改变了以往验证性实验为主的现象,使设计性实验内容占了70%以上。通过实验,培养学生分析问题和解决问题的能力,以及动手能力和程序设计能力,从而加深对理论课程内容的理解。
实验课程配有实验指导书,共设计了11个实验项目和一个综合程序设计,其基本出发点是帮助学生理解和消化课堂教学的内容,培养学生自主学习能力,加强其实践能力和团队协作精神,让学生掌握程序设计的基本思想和方法。具体实验内容包括:C/C++简单程序的编写和调试、C语言程序设计基础、控制结构、数组、指针、函数、编译预处理、文件、结构体与共用体、图形程序设计、C++程序设计基础。
3 教学方法和手段
3.1教学方法
为了实现程序设计课程的教学目标,使学生不但掌握高级编程语言的知识、编程技术和基本算法,更要掌握程序设计的思想和方法,培养学生进行问题求解和编程的能力,以及探索和创新能力,我们采用了多种教学方法,主要做了以下改革。
1)课内与课外训练相结合,注重学生综合能力的培养。
课内教师根据教材进行引导学习,加强典型例题的启发式讲解。在分析常见错误案例的过程中,教师讲解程序设计的基本方法、程序测试方法以及程序调试和排错方法,帮助学生理解错误发生的原因和实质,掌握纠错的方法和解决的对策。在实验教学中,我们为每堂实验课设计相应的实验项目。实验项目的设计注重实用性和综合性。实践教学强调大量程序设计的训练。教师在网上为学生一些经典、实用、有一定挑战性的作业,鼓励学生课外多训练,倡导学生课后以寝室为单位,组成学习小组,进行讨论、分析和解决问题。
为了激励学生参与程序设计的实践,进一步提高学生程序设计的兴趣,提升他们的软件技术水平,成都理工大学每年举行一次全校范围的程序设计大赛。大赛采用初赛和决赛制,要求学生在2~4小时内完成一个综合性较强的程序设计题目,或在一段时间内完成一个综合程序设计题目,然后进行答辩。
2)重视实践教学环节、注重学生创新意识与应用能力的培养。
为了培养学生的实践动手能力,我们加强了实践教学环节的管理。教师要积极使用多媒体实验室的教学设备,进行启发、引导式的实验指导,将平时测试与期末测试结合,测试学生在1个小时内调试和正确编写程序的能力,引导和督促学生重视实践教学。开放性实验注重培养学生的创新意识与应用能力。
3)网站互动学习。
课程组建立的教学网站、精品课程网站、课程资源平台等为学生提供了网络课程、网上答疑、作业提交、理论试题及答案、上机试题及答案、教学录像、视频节目、精品课程网站链接、相关学习网站链接等资源,扩充了课堂教学区域。学生可以在任何时候、任何地点进行互动学习。这种方法及时地解决了学生在学习中遇到的疑难问题。
4)改革考核方式,采用多元评价方式考核实验成绩。
为了提高学生的学习兴趣,培养学生问题求解和编程能力,以及探索和创新能力,我们采用了开卷和闭卷相结合的考试方式,鼓励基础好的学生开卷考试,完成一个综合编程题目。经过实践,参加开卷考试的学生在独立分析问题、解决问题和编程能力上得到了很大提高。
3.2教学手段
多年以来,成都理工大学“C/C++语言程序设计”课程最大限度地、多方位地应用了以下现代教育技术手段。
1)课堂多媒体理论教学。
本课程的理论教学将传统教学手段和现代教育技术手段相结合,在应用现代教育技术手段的同时,继续发挥传统教学的优势。课堂上多媒体课件的播放效果直接影响到学生的听课效果,因此我们不仅制作了幻灯片,还利用Autherware、Flash等工具,制作了具有较强动画效果的多媒体课件,将程序的执行过程利用动画演示,生动、形象地模拟了计算机执行程序的真实情况。
2)建立计算机基础教学网站。
我们开发课程网上教学平台,为学生提供电子教案、多媒体课件、视频等丰富的网上教学资源,同时提供讨论和在线答疑,构建以学生为中心的自主学习环境。
3)网上考试系统。
网上考试系统为学生提供了模拟和考试环境,实现了系统自动组卷和评分功能,为学生课后自学和自测、提高教学效果搭建了一个有效的平台。
4 考核方式
课程考核可以采用开卷和闭卷2种形式。
1)闭卷考试由笔试和机试组成。
(1)笔试(占总成绩的50%)主要考核语言基础、基本的阅读和编写程序的能力。题型包括选择题、填空题、程序阅读题和程序填空题。
(2)机试(占总成绩50%)主要考核程序设计能力,包括上机考试(占总成绩的30%)和平时出勤及作业完成情况(占总成绩的20%)。
2)开卷考试主要考核学生综合程序设计的能力,独立分析问题和解决问题的能力,难度较大。通常只有学习优秀的学生可以参加开卷考试。这些学生必须是按时完成了每一次的实验项目,且中期考试合格。开卷考试要求学生提供源程序、开卷考试报告并参加面试。
5 结语
通过对各种教学方法和教学手段的研究和探索,我们改变了传统的知识传授理念,从而更加注重学生解决实际问题的能力,并提出“以学生为主体,教师为引导,网络教学为辅助”的全新理念,极大地激发了学生的学习兴趣,挖掘了学生的创造潜能,又培养了他们自主研究、协作学习的能力。实践证明,通过上述教学改革措施,教学效果取得了显著提高。在计算机二级c语言考试中,学生通过率较往年大大提升。当然,实际教学过程是一个相当复杂的系统,也还存在着一些需要解决的问题,还需要我们在今后的实践中继续开拓,不断探索。
参考文献:
[1]赵珊,贾宗璞,“C语言程序设计”课程教学模式改革方案探讨[J],科技资讯,2011(35):185-187。
[2]黄群,C语言程序设计课程教学设计探讨[J],计算机教育,2010(5):78-81。
[3]陈洪超,项目教学法在“C语言程序设计”课程中的应用[J],重庆电力高等专科学校学报,2012,17(3):29-30,36。
[4]左永文,案例教学法在“C语言程序设计”课程中的应用[J],科技创新导报,2012(18):175-175。
篇4
关键词:C语言;教学改革;工程电路
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)16-0120-02
一、引言
C语言是一门通用计算机语言,广泛用于系统与应用软件的开发,具有高效、灵活、功能丰富、表达能力强和较高移植性等优点,是近年来使用最广泛的编程语言,也是众多高校理工科学生的必修课。笔者参阅过市场上部分C语言程序设计教材,发现大部分教材仅针对有扎实的理科基础的学生,理论性较强,实践性较低,而且知识点细化烦琐,不易理解。大部分学生在结束课程后,实践能力并未达到工程人员的要求,存在大量“高分低能”的现象。我国正处于高速发展的阶段,如何培养出高质量的工程应用型人才,是我国高等教育工作者面临的一项重要使命,故笔者认为教学改革势在必行。
二、课程改革存在问题
在C语言程序设计教学实践中,目前主要存在以下几方面的问题。
1.教学模式单调乏味。C语言授课开篇即是类型、变量、运算符、表达式等烦琐的概念性知识,枯燥无味,大部分学生都还未从高中教师全程跟读的教学模式中转出,自主学习能力较差,逻辑思维能力也相对较弱,对重难点把握不准,而部分大学教师在教授这门课程的,缺乏与学生的互动与对学生自主学习的引导,这会使学生产生畏难、抵触甚至厌学的情绪。
2.教材缺乏实例。笔者考察了相关兄弟院校的C语言程序设计教材,发现教材中缺乏实例,理论性较强,在结束C语言课程学习时,学生实践能力并未得到大幅度的提升,培养了一批会考试、不会编程的C语言学习者。目前的C语言教学仅局限于教授学生利用C语言知识去解决数学问题,而缺乏发散性思维的教学,应该用具体实例教授学生如何将C语言应用到其他领域,使学生具备一定编程能力,以求达到光速发展的社会对当代大学生的要求。
3.教学对象单一化。在进行C语言教学实践中,有很多非理工科专业学生对C语言程序设计这门课有着浓厚的兴趣,但作为旁听生,他们表示对C语言课程有入门难、应用难两大问题。笔者认为需要简化教学内容,多增加易于理解的实例,多进行上机实践,在课本中广泛添加C语言与各领域(例如金融、网游等)的应用实例,供学生学习。
4.改革并完善考核方式。由于C语言是一门应用性与创新性很强的计算机语言,所以我们的考核方式不应该局限于常规考题,应在考试题目添加开放性题目,侧面考察学生的创新与应用能力。
三、改革具体措施
笔者在考察相关院校的C语言教学改革后,总结经验得失,在此基础上拟定了一系列适合我院的教学改革具体措施。
1.应该根据教学要求,从切实提高学生程序设计能力上出发,重整课本内容。课本内容应循序渐进地添加程序设计案例。
例1:求a=3、b=5这两数之和,并显示在屏幕上。
学生可按照程序实例,首先掌握最简单的赋值运算,然后再加深一点难度,要求学生学习如何使两个变量的和显示在屏幕上,并要求学生进行编程。笔者经过实践,选取一位主修艺术设计学生的作业,发现类似循序渐进、由浅入深利用程序实例进行教学的方法,不仅适用于有理工基础的学生,也同样可以被无专业基础的学生所掌握,而且切实提高了学生的编程能力。作业示例如图2所示。
例2:使a=3、b=2、c=1,令d为a、b之和,f为a与b。求这两数之和,并显示在屏幕上。
2.在针对不同专业开设的C语言课程中,应该具备专业应用实例,这样学生可以学以致用,应用在将来的专业领域中。例如:如图3所示,已知电流源Is1=1A,电压源US2=10V,电阻RL=20Ω,R1=R2=2Ω,求各支路电流和电路中功率平衡关系。
所列方程如下:
经过多次此类应用实践,笔者发现学生对所学知识有了新的理解,而且将C语言编程与专业知识结合到了一起,这使学生对编程与专业领域知识产生了浓厚的兴趣,纷纷表示要深入学习,而且学生的编程能力也得到了极大提升。
四、结语
以上教学改革经过笔者在实验之初也遇到过重重问题,但都一一解决了。实践证明,经过此种课改实践,发现许多学生对C语言这门课程产生了浓厚的兴趣,并且编程能力也有了实质性的提高。总而言之,C语言教学改革的目的就是激发学生的学习兴趣,提高学生的编程能力,最终可以达到教学目的才是成功的改革。
参考文献:
[1]谭浩强.C程序设计[M].北京:清华大学出版社,2005.
篇5
关键词 教学改革 C语言 微平台
中图分类号:G434;TP311.52 文献标识码:A
教学改革和提高教学质量是高校教育的永恒研究课题。《C 语言程序设计》是理工科各专业,尤其是计算机相关专业学生必修的一门非常重要的专业基础课。在近几年的教学实践中发现,学生们普遍认为这门课难度大、不易,学许多学生还要参加全国计算机等级考试,通过率不高。网络自主学习平台采用“教师导学+学生自主学习”教学和学习方式,以及“教考分离”的考试制度,突破了传统课堂中教学受到时间和空间限制的困境。但传统的教学模式和原来的网络自主学习平台模式,存在一个普遍的的弊端: 时间长、重点分散。微课程的概念是由戴维・ 彭罗斯( David Penorse ) 于2008年秋首创的。它按照新课程标准及教学实践要求,以教学多媒体为主要方式,以探究某个知识点或教学重点难点而展开的整合各种教学资源的活动。主题突出、内容精炼、终端载体多样化、应用方便灵活是微课鲜明的特征。因此,本文以《C语言程序设计》课程为研究对象,自主学习与微课程相结合,研究高校辅助教学的一种新模式。
1微课程
现今热议的微课程概念是2008 年由美国新墨西哥州圣胡安学院的高级教学设计师、学院在线服务经理David Penrose 提出的。
1.1微课程的含义和特征
微课程并不是一个孤立的教学环节,而是一个完整的教学系统。它不是传统课堂教学的截屏,而是围绕某个知识点进行教学设计后开展的教学活动。微课程包括课堂教学的全部因素(教学目标、教学策略、师生互动、教学资源等),将这些教学因素以高度凝练的方式融合形成短小精悍的视频即形成微课程。微课程有两个显著特征:一是以视频为呈现方式;二是凸显微课程的“微”。
1.2微课程的设计开发研究
微课程的开发主要有两种形式:一是对现有的优秀完整课例或视频课例进行加工改造完成;二是原创开发,即设计开发一节全新的微课程。
1.3微课程的应用研究
许多学者分别是从教师专业成长和学生个性化学习角度阐述微课程的应用。如何将这种教学资源整合到具体学科的常规课堂教学,吸引学生注意力,激发学生思考,借此提高课堂教学效率。
2 网络自主学习平台的构建
利用学校网络,搭建“C语言程序设计”课程自主学习平台。搭建的自主学习平台将是教师与学生进行交流的平台。它将集学习、辅导、测试、评价、交流、计算机应用等功能于一体的网上课程学习平台,如图1所示。
(1)微课程学习平台:它提供视频为主要载体,记录教师在教育教学过程中围绕某个知识点或教学环节而开展的精彩教与学活动的全过程.
(2)C语言校考测试平台:C语言程序设计课程考试现在是以机试方式进行,我们开发一个测试平台,在考试之前提供学生测试练习,熟悉考试题型、知识点、考试环境和考试注意事项。
(3)二级C省考测试平台:现在我们学校学生参与湖南省计算机水平等级考试的学生越来越多,但省考没有像国考一样,在考试之前提供一个模拟考试的机会,学生对考试环境、知识点、题型和考试注意事项等都不熟悉,因此开发类似测试平台,以便学生练习。
(4)二级C国考测试平台:全国计算机等级考试影响力越来越大,报名参加学生多。但其难度比省考要难得多,通过率不高。我们开发二级C国考测试平台,能使学生有机会多训练,提高学生通过率,真正掌握该课程。
(5)计算机应用竞赛平台:对于基础较好、有潜力的优秀学生而言,需要一个能培养和锻炼他们利用计算机技术解决各类学习工作中的专业问题、实际问题的创新教育平台,从而激发他们进一步学习计算机的激情。我们将开发此平台,在平台上能实现计算机程序设计大赛、Web网页设计大赛等。
(6)C语言成绩查询平台:开发一个平台,使学生能方便查询C语言程序设计课程校考成绩、湖南省计算机水平考试成绩、全国计算机等级考试成绩。
(7)C语言反馈平台:通过三个测试平台和竞赛平台,分析和评价C语言程序设计课程中学生难掌握的知识、易出错的知识点,为微课程的设计提供信息。通过设计留言模块,掌握学生在课堂中没有理解清楚的知识点。
3 《C语言》微课资源库设计
微课主要目的是满足于学生开展自主、个性化学习,提高教师教学能力的需要。因此设计《C语言程序》微课资源时,设计为两种类型, 一种是教师讲解型,另一种是学生学习过程展示型。前者是将过去教师一言堂的讲解,颠覆为学生根据需要自主选择有针对性的讲解,主要是颠覆课堂统一讲解方式;后者是让学生观摩并学会别人如何通过自主、协作学习开展相关知识的学习活动的。主要资源,一般以不超过10分钟的视频方式设计,包括:
(1)每一章节主要知识点和难点;
(2)课程综合知识点,如函数参数传递、算法等;
(3)针对该课程的期末考试、湖南省计算机水平考试和全国计算机等级考试的知识点的讲解;
(4)《C语言程序设计》上机调试程序过程中学生常出现的问题,以及解决方案。
资源库配套相关文本资料:
(1)课程教学大纲、三种考试的考试大纲和课程教学PPT;
(2)每一章节的微练习题和测试题;
(3)三种考试的模拟考试试题及分析;
(4)计算机程序设计大赛题库。
资源库凸显微课程的特点:知识点精,主题突出;微视频一般在5~10分钟内,短小精悍,以微教学视频为核心。
4学习效果
开发平台后,笔者以所教学的班级进行了推广,教学过程融入微课程的教学,让学生形成课前预习,课后提问和自主学习的习惯。效果良好,学生主动学习的积极性提高,学习过程中有针对性的问题增多,上机调试程序的积极性和编程能力增强,相应的《C语言程序设计》的课程设计效果明显增强,与其他班级相比,课程考试的及格率和优秀率也大幅度提高。基于LAMP平台上开发HUSTOJ在线测试平台,并投入到学生程序设计大赛训练中,学生竞赛取得好成绩。
5结语
本文仅以《C语言程序设计》课程为例,引入微课,对该课程的教学和改革进行了研究和探讨。构建了基于网络的自主学习式教学平台的,将被动授课式的教学过程变为自主学习式过程,实现传统与自主学习两种方式的有机融合,优势互补;建设了以自主学习为方式的“C语言程序设计”课程资源库,学生通过计算机网络,甚至手机实现网络资源的共享,形成一个开放共创、共生的学习资源。但微课的研究是一个长期过程,今后微课程的实证研究将更多关注具体科目、具体内容的微课程设计,并将其充分运用于常规课堂教学中,以检验微课程的应用范围和效果。微课程不只注重数量,还要是提高质量,提高利用率。教师要能把握微课程的基本核心理念以及制作技能,使微课程成为每个教师都能创作的教学资源。
基金项目:湖南省教育厅普通高等学校教学改革研究项目(湘教通[2014]247号,序号414)。
参考文献
[1] 罗晓.国内外微课资源管理平台对比分析[J].中国医学教育技术,2015(6):626-630.
篇6
【关键字】案例教学 C语言程序设计 课程改革
【中图分类号】TP311.1-4;G642.0
程序设计方法大体上分成两种:一种是结构化程序设计,一种是面向对象程序设计。结构化程序设计思想的原则是:自顶向下,逐步求精,模块化。绝大多数高校对学生进行结构化程序设计思维培养都是通过“C语言程序设计”课程进行的,但是多数课堂在进行“C语言程序设计”课程时都是按照教材的章节进行讲解[1][2],对C语言缺少一个整体的设计,并且实例之间都是离散的,没有关联,这样对于学生形成结构化程序设计思维造成了很大的困难。学生在学习“C语言”之后,往往知道其中的一些概念,如数组、结构体、指针、函数等等,会使用的就会减少一部分,而对“C语言”能够有一个整体的理解,对结构化程序设计思维有深入了解的,能够独立编程[3]的就少之又少。
为了培养学生的“结构化程序设计思维”,让学生对“C语言”有一个整体的掌握,并且能够熟练使用“C语言”进行程序设计,我们采用“全程案例式”教学方式进行C语言程序设计课程改革。
所谓“全程案例式”C语言程序设计教学是指在C语言的教学过程中从头到尾选用一个典型案例,如“学生成绩管理系统”,仿照教务管理平台对学生成绩进行管理。这样的案例学生非常了解,能够对其中的角色功能有明确的认知,这样就很容易分析清楚整个系统的功能模块构成,在此基础上对各个功能模块和数据类型进行设计,从而培养学生的结构化程序设计思维。
一、问题分析
教学人员对教务管理平台都不陌生,在分析问题的时候可以让学生自己设定学生成绩管理系统的角色和功能,然后实现。一般情况下,学生成绩管理系统可以分成三种角色,一是管理员,主要负责访问成绩管理平台成员数据的增、h、改、查等操作,二是教师,主要负责学生成绩的录入、修改、查看等操作,三是学生,可以查看自己的成绩信息。同时三种成员都可以修改自己登陆平台的密码,功能模块划分如图1所示。通过对系统功能模块的划分,可以让学生理解结构化程序设计“自顶向下,逐步求精,模块化”的程序设计思想,并在此基础上,开发对应的功能函数。
二、学生分组
将学生分组,如25名同学分成5组,每组5人,有一位组长。每组分别独立完成以上教务管理平台中对应的功能模块,可以根据本组的讨论有所增删。这样每位同学平均完成两个功能模块,从而保证在课堂教学时间能够完成该项目。组长负责整个案例的任务分配,同时解决小组成员实施时遇到的技术问题,当然组成的最后成绩也会较高。
三、教学内容
仿照工程化的思路,如设计一个产品,需要有工人、原材料、工人。工人使用工具按一定的步骤加工原材料得到一个一个的零件,再将这些零件有机地组装起来就会形成一个产品。C语言的教学内容也可以按照以上思路进行分解,首先要有人,即程序员也就是学生;原材料是C语言的数据类型,包括基本类型(整型、实型、字符型、枚举型)、构造类型(数组、结构体、共用体)、指针类型和空类型;工具是运算符,用来操作某种类型的数据;操作步骤包括顺序结构、选择结构和循环结构;程序员使用工具按照一定的步骤加工原材料就能够得到一个零件,即函数;再将这些函数按图1进行组装就能够形成最后的学生成绩管理系统的源文件,同时能够对存储在外部文件中的人员数据等信息进行访问。[4]
将C语言的教学内容按照内在逻辑分成五大部分,学生容易理解并掌握。
四、教学方式
在教学上,采用“全程案例教学”,第一节课就开始写代码。开发工具可以使用C-Free、Dev-C++、Visual C++等,让学生理解C语言、C++语言和开发工具的区别。
根据问题的需要,首先要设计一个“学生成绩管理系统”的欢迎界面,通过该界面的设计讲解顺序结构,尤其是输出语句的使用。接下来应该是用户权限选择,如“1、管理员 2、教师 3、学生”,这就要用到选择结构,讲解if语句和switch语句。此时要在选择语句中使用一些数据类型,因此可以在此处讲解基本数据类型(字符型、整型、实型、枚举型)。在用户进行选择时要进行选择数据的输入,此时讲解输入语句。此时的程序只能进行一次用户的选择,如果想再次选择则需要重新执行程序,在此处可以进行循环结构的讲解,可以多次选择用户,直到用户自己退出程序为止。在循环结构中要用到相关的表达式,可以在此处进行表达式的讲解。当然,也可以先讲解基本数据类型和表达式,之后再进行顺序结构、选择结构、循环结构的设计。
在选择了相应的用户权限之后,就要执行对应的用户功能,如管理员功能、教师功能、学生功能等。此时给学生讲解程序设计中的模块,即函数,让学生深刻理解模块的概念及实现方式。在进入到相应的函数之后,如学生函数,此时应该确认学生的身份是否合法,通过键入如学号和密码来验证该学生是否合法,如合法则可以查询成绩,如不合法则重新登陆或退出。而学生的信息适合使用结构体类型数据来存储,很多学生信息则需要用结构体数组来存储,在此处给学生讲解构造数据类型(结构体、共用体、数组),通过学生结构体数组来模拟数据库表,在此处给学生讲解相关的数据库知识。学生功能包括成绩查询和修改密码两部分,所以要写两个相关的子函数,此处深入讲解函数的相关知识,如函数的调用、参数传递等。这部分是学生成绩管理系统的核心功能,工作量较大。
在完成相关数据的存储之后,发现关机之后数据就没有了,通过回顾内存与外存的区别,所以要把数据库存储在外存储器上,这就要用到文件。建立若干个文件用来存储管理员、教师和不同班级学生的记录(可用二维数组或多维数组来区别系或班级等),通过对文件的读写来实现对数据库数据的存取,基本达到学生成绩管理系统的使用目标。
在这个过程中,除了必要的知识介绍外,重在培养学生的结构化程序设计思维,理解C语言的几大组成部分并熟练使用,同时养成设计代码的规范性。
五、考核方式
全程采用案例教学就不适合出试卷进行考核,因此在考核方式上更适合过程化考核[5]。我们将考核内容分成两个部分,平时考核占60%(出勤占20%,平时训练占80%),最终考核占40%(小组考核占50%,个人考核占50%)。这样可以弱化对知识点的考查,重在考查学生对程序的分析与设计的能力。
六、实践教学
在实践教学环节(课程设计[6])可以安排类似的管理系统供学生分析和设计,此时每组要求选择不同的系统进行设计,每组独立设计系统功能框图、分工并实现,从而巩固并强化课堂所学的内容。
七、第二课堂
第二课堂可以参加相关的学科竞赛,如“ACM大学生程序设计竞赛”、“蓝桥杯全国软件和信息技术专业人才大赛”等学科竞赛,从而开阔学生的视野,加强学生的实际编程能力。当然,如果想参加相关的学科竞赛,还需要有一定的数据结构知识和算法知识,这需要对学生进行相关的培训或由学生自学完成。这对于学生是一次很好的升华,学生获得的相关学科竞赛读书对于将来的就业是一个很好的准备。
综上,通过一个典型案例将C语言程序设计课程内容有机地组织起来,将C语言教学内容分成五大部分,使学生容易理解并形成一个较强的印象。在实验室教学,人手一机,边讲边练,重在培养学生分析问题和设计程序的能力,培养学生的结构化程序设计思维。
参考文献
[1]蒲海波 兴趣驱动的案例教学在C语言教学中的应用[J]计算机光盘软件与应用 2013年第7期:192-193
[2]丁海燕 高级语言程序设计案例教学模式的探讨[J]计算机教育2011年第8期: 65-68
[3]吴美红 基于CDIO模式的案例教学在C语言程序设计中的应用[J]电脑知识与技术 2013年第11期:2632-2633
[4]李伟光 提高C语言实际应用能力的研究与实践[J]煤炭技术2012年11期:242-243
[5]薛小锋 案例教学在非计算机专业C语言程序设计教学中的应用[J]江苏技术师范学院学报2010年第4期:80-82
[6]波 模块化案例教学在C语言程序设计课程中的应用[J]计算机教育 2009年第21期:62-65
篇7
关键词:教学资源建设;c语言程序设计;网络资源建设
中图分类号:TP3-4
1 引言
1.1 课程介绍
《c语言程序设计》课程是我院警察技术系司法信息安全专业、计算机应用专业和计算机网络专业等专业一般学习领域课程,是学生进入大学所接触的第一门专业课,同时,这门课程也是《数据结构》和《软件工程》课程的前导课程。教学实践证明,该课程对学生是否可以形成编程思想,能否建立利用计算机求解问题的逻辑思维能力是至关重要的,也将直接影响后续课程的教学效果。因此,改进教学方法、提高教学质量是高职高专教学课程改革的一项艰巨任务。
传统的c语言教学模式侧重于c语言语法知识的讲授,学生的关注点集中于语法知识的记忆和理解中,无法形成真正的编程思想[1]。这使得学生很难自己写出程序,一味地“照猫画虎”,甚至有学生出现死记硬背程序才能记住的情况。这样就导致了学生的学习兴趣不浓,学习停留在表面,学生学起来枯燥,教师也教起来费劲。
1.2 传统教学资源的不足
传统的《c语言程序设计》的教学模式是以课本为主,辅以PowerPoint课件,由老师向学生讲授相关程序设计知识,教师占据主导地位,学生普遍反映“老师讲的都懂,例题也能看懂,就是不会编程”的困惑。我们必须开发多层次的教学资源,让学生成为主体。
2 多层次的教学资源建设
伴随着现代教育技术的发展,高等学校教学资源建设正在从传统的纸质教学资源向数字化、电子化方式转变,从单一载体向多媒体产品和多样化教学资源服务方式转变,从而形成了以纸质教学资源和数字化教学资源相结合的立体化教学资源。这不仅给高校教学工作提供了强大的技术支持和资源保障,也在迅速改变着学生的学习内容和学习方式[2]。
我系多层次的《c语言程序设计》课程的教学资源除了常规的教材外还包括教学参考书、电子教案、多媒体课件、试题库、网络资源建设以及在线练习系统等。
2.1 教材与教学参考书
我系为司法信息安全专业、计算机应用专业及计算机网络专业的学生选择的教材是北京邮电大学出版社出版的《c语言程序设计案例教程》,该书采用案例导入的形式展开知识点,重难点突出,讲解清楚细致。
另外,我系学生要求在毕业时必须获得全国计算机等级二级证书,教学参考书的内容就是紧跟当年的二级考试大纲所出台的考点解析与训练,从计算机二级(c语言)所重点考查的阅读程序能力、改错能力和编程能力一一解读,总结出相应知识点,并对历年真题进行详细分析,最后自测题可供学生自行检查自己对知识点的掌握情况,查漏补缺。
2.2 电子教案建设
依据教材内容和学生实际,我系教师编写了与纸质教材配套的电子教案。电子教案按照所分配的学时数进行模块的分类,反映了教师的教学思路、对知识点的把握及所采取的教学方法,体现了教材内容的精华,也是学生复习的重要指南。
2.3 多媒体课件
多媒体课件作为教师上课的重要方式,在我院得到了足够的重视。我院每年都进行一次多媒体课件大赛,教师们互相沟通、互相学习,极大的提高了自身创作课件的能力。
配以光投影设备和苏亚星教学系统,通过屏幕广播功能向学生播放已制作好的多媒体课件,不仅能节省教学时间,增强理论教学的直观性,而且能让学生看到老师对于操作步骤的演示,重、难点也能生动地加以表现。
2.4 试题库
我系司法信息安全专业、计算机应用专业和计算机网络专业的学生要求双证毕业,即毕业证和全国计算机等级二级证。笔者收集了历年的二级笔试和机试真题,紧跟二级考试题型的变化,按照知识模块,根据我系学生的实际,针对相同知识点归纳设计了一套试题库,利于学生练习及查漏补缺。
同时考虑到一些有能力的同学“吃不饱”的情况,笔者收集了我系学生曾参加过的由工业与信息化部主办的第二、三、四届“蓝桥杯”软件人才与设计大赛中的较为合适的填空题和程序设计题,以扩宽学生视野,并有助于选拔竞赛学生。
2.5 网络资源建设
在我院创建示范性高职院校的契机下,我院与清华大学教育技术研究所合作,共同开发了一个教师、学生可以共同参与的网络教学综合平台。网络教学综合平台按功能分为了精品课程、研究型教学和教学资源中心。在这个系统里,教师可以申领课程,并把自己有关课程的所有相关资料上传,比如课程介绍、教学大纲、教学日历、教学材料、答疑讨论、课程问卷、教学笔记、课程作业、在线测试和试题试卷库等内容。教师通过上传教学资料,梳理了本门课程的所有已有资料,为今后的精品课建设提供了资料保障;答疑讨论区给教师和学生提供了一个不受时间和空间限制的平台,学生们可以在上面对疑难问题进行讨论,老师对集中出现的问题进行答疑,不必局限于课堂。教师也可以在网上总结出学生反映比较突出的重、难点,在课堂上集中答疑,使学生的问题得到及时解决,以达到较好的学习效果;课程作业也不必拘泥于课堂和书面的形式,学生在网络教学综合平台上在复习过老师讲授的内容后对作业予以解答,便于学生掌握相关知识。
2.6 在线练习系统
为贯彻落实《国家中长期教育改革和发展规划纲要(2010-2020年)》和《国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知》有关精神,加快高等院校IT类专业教学创新与改革,提高学生自主创新意识和工程实践能力,促进高校IT类专业就业指导工作,工业和信息化部人才交流中心自09年起举办了“蓝桥杯”全国软件和信息技术专业人才大赛。经过了5年的发展,2013年“蓝桥杯”在其官网上开辟了一个新模块――“蓝桥杯”全国软件和信息技术专业人才大赛练习系统。本系统主要面向参加“蓝桥杯”的老师和同学,帮助参赛的同学熟悉比赛试题的形式和解题方式。通过使用这个系统,同学可以学习到一些重要的编程方法,提高编程水平。系统中的试题集中分为入门训练、基础练习、算法训练、算法提高和历届试题共5个部分。
在实际授课过程中,笔者在网络教学的基础上,借鉴了这套在线练习系统,取得了较好的效果。具体来说,笔者给学生安排入门训练和基础练习的试题,由于练习系统的测评功能对程序的格式、注释等要求较高,这样就对学生形成的编程风格有一个很好的监控,有助于培养学生良好的编程习惯。在线练习系统把相同难度和特点的试题形成一组,同组的试题具有相关性,帮助同学学习与提高程序设计、算法和数据结构的知识。采用这样的在线练习系统,能建立起《c语言程序设计》与后续《数据结构》和《软件工程》课程的衔接,有助于学生综合素质的提高。
3 结束语
2006年开始,教育部与财政部全面实施“国家示范性高等职业院校建设计划”,启动了高等职业教育专业教学资源库建设。这项工程为全国高职院校提供一个经验交流和资源共享的平台,更重要的是通过建设专业教学资源库,带动全国高职院校专业教学模式和教学方法改革。我系在这样的大环境下,对专业领域的教学资源进行开发,取得了一定的成绩,但是跟示范性院校还有差距,今后还有很长的路要走。
参考文献:
[1]胡枫.《c语言程序设计》的案例式教学的设计[J].青海师范大学学报(自然科学版),2010(4).
篇8
关键词: 《C语言程序设计》 教学方法 教学手段 实验教学
《C语言程序设计》是程序设计类课程的基础,是计算机专业和相关专业的核心课程,也是全校工科各专业的本、专科教学计划中占有重要地位和起着关键作用的一门课程。在计算机教育方面,C语言是为数不多的与国外保持内容同步的课程之一。因此,它在高校教学中的地位之重要不言而喻。我们的教学目标是让学生掌握程序基本编程思想和实用编程技能,训练学生严密的逻辑思维、严谨踏实的作风、精益求精的精神,通过全面、深入、系统地介绍程序设计方法和程序设计语言,使学生掌握C语言的基本语法、语句、控制结构,以及结构化程序设计的基本思想和方法,使学生认识到算法、良好的程序设计风格与实践在本课程学习中的重要性,培养学生熟练使用C语言编程分析和解决实际问题的能力。但在实际的教学过程中,经常有学生学不好、不愿学的情况。我根据自己多年的C语言教学经验,谈谈在C语言教学过程中的一些问题,希望对读者学习和使用C语言有所帮助。
1.存在的问题
很多学生在开始学习时热情高涨,但随着课程的深入,该课程里面需要记的规则和规则本身的灵活性特别是思维的转变使学生慢慢失去了学习的兴趣。主要原因有以下几点:第一,对知识理解不够透彻,没有深究里面的知识点。课本里面一般只介绍C语言的格式和规则,因为语言学习的一个渐进性,所以结合实例比较少,学生就比较难于掌握。例如if语句的用法:if(表达式)语句;当表达式为真时执行语句,否则执行if语句的后续语句,如果在“(表达式)”后面加一个分号虽然没有语法错误,但程序的逻辑结构发生了改变,很多初学者会犯此类错误。第二,学生的思维方式开始很难转变过来,经常会用数学里面的表达式来理解和表达C语言里面的表达式。如若要描述三个变量a、b、c的大小关系,很多学生就直接这么写了:a>b>c,虽然没有语法错误,但同样出现逻辑错误,实际上在C语言里应该这样描述:a>b&b>c。第三,学生对程序的理解不够。弄不明白程序的运行过程,实际上时对C语言的控制语句理解不够。第四,不会动手写程序。这是很多初学者出现的问题,很多程序能看懂,能理解,但是一叫他独立写一个程序,他就无从下手。这主要是平时动手不够,另外对算法的理解还没有深入。
2.解决方法
2.1教学方法。教学方法多种多样,不可采用单一的方式进行讲授,在教学过程中教师应该灵活地采用多种方法相结合,充分调动学生的积极性,使其从被动学习转变为主动学习具体方法如下。
2.1.1互动教学法。互动教学法的方式有多样,如课堂提问、课堂练习等。例如,在讲完一个知识点后,教师可拿出几分钟时间让学生自由提问,或者可以出一个相关习题让学生随堂练习,这样既不会让学生感到枯燥无味,又能加深学生对该知识点的理解。在课堂上还可让学生直接到黑板上编写程序,编写完毕后让其他同学上来进行点评、讲解,这样可及时发现学生的掌握情况和学生容易犯错的地方,从而对症下药,对学生还没有掌握的知识点再重新温习一遍,这样学生的印象深刻,比直接讲解效果更好。
2.1.2启发教学法。C语言教材中的例题和课后习题比较丰富,给出了一般问题的一般解法,应对其进行归纳、整理和分类,在讲解同一类问题时没有必要逐题讲解,而应该在讲解一、两个典型题目的基础上,拓展学生思路,启发学生归纳出求解这一类问题的基本算法,这样既节省了重复讲题的时间,又留出时间来给学生讨论和思考;或者在讲授新的内容时通过复习前面的知识引入新的内容,例如讲循环结构程序设计时,应首先让学生回忆顺序结构和分支结构的执行原理和过程,进而引出循环结构的思路和过程。
2.1.3类比教学法。如在讲解交换变量a和b的值时,很多学生会直接用a=b;b=a;来处理。这时教师可用交换两个杯子甲和乙里的饮料这样的例子来说明,要交换两个杯子甲和乙里的饮料,则应该要拿第三个杯子丙作为过渡,先将甲杯子里的饮料倒入丙,再将乙杯子的饮料倒入甲,最后将丙杯子里的饮料(亦即最开始甲杯子里的饮料)倒入乙杯子,这样就实现了甲乙两杯子的饮料的互换。同样要交换两变量的值,也应该要一个中间变量,假设为t,则程序段应这样写:t=a;a=b;b=t;如此,学生就很容易理解了。
2.1.4演示教学法。利用黑板或动画的形式生动地描述程序的运行过程,这样对一些比较复杂的结构块或程序段有很好的助理解作用。
2.2教学手段。教学手段也是多样,针对不同的教学内容和不同的学生个体采取不同的教学手段,这样才会有针对性。
2.2.1寓教于乐。兴趣是激发一个人学习的最大动力,所以教师在教学过程中尽可能地采取一切方法来激发学生学习的热情。在C语言课程中,也有很多趣味性的数学问题,如“水仙花数”,“完数”,“斐波那契数列”,“猴子吃桃问题”,“百钱买百鸡”,等等,这些有趣的问题可激发学生编程的兴趣。
2.2.2传统的板书和多媒体课件相结合。在教学过程中,教师一定不能单纯地使用多媒体教学或板书的方式。基于C语言这门课程的特殊性――特别注重动手和程序设计能力,所以在教学过程中,对概念或演示方面可以用多媒体,概念一定要讲详细,宁可少讲一个习题,也不能让学生对概念模糊;涉及程序(特别是学生刚接触到程序或比较复杂的程序)的时候,虽然多媒体课件上有,但讲解的时候最好将其板书出来边写边讲,哪个语句段实现什么功能,能否用其他程序段实现相同功能,等等,这样学生更容易接受这个程序、算法和思想,学习效果更佳。
3.加强实验教学的管理
《C语言程序设计》是一门实践性很强的课程,上机实验是学生消化、理解理论知识,熟悉算法,发现、验证错误,调试程序和提高编程能力的一个重要途径。学习C语言不能纸上谈兵,一定要通过上机来验证程序,而且学生独立上机编辑运行一个程序比单独看书效果强很多。所以教师一定要加强上机实验的管理,让学生重视实验。实验环节主要有以下几点。
3.1理论课结束后即要为学生布置实验课的内容,要有难有易以供不同层次的学生选择,让学生在课后先自己编写好程序或者写出问题的算法以提高实验课的上课效率。
3.2上机过程中督促和指导学生进行实验。上机调试程序的过程中,会出现各种问题,教师应耐心细致地为学生讲解并让其思考原因。另外基于C语言有不同的编译平台,常用的有TC2.0和VC++6.0,有个别程序(主要是数据类型里面的问题)在不同的编译平台上有不同的结果,一定要让学生弄清楚为什么。
3.3仔细批改实验报告。实验课结束后,要求学生写实验报告,上交之后,详细了解每个学生的实验情况,出现的问题,这样就相当于一个反馈了,以后就有针对性了。
C语言是高校计算机教育的一门非常重要的课程,因此C语言教学是一个非常值得探讨的问题。教师应尽一切努力让学生学好这门课程。
参考文献:
[1]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999.
篇9
关键词:比喻法程序设计教学多媒体课件
随着现代化进程的加快,学校的教育设施也得到了飞速的发展,笔记本电脑和多媒体教室被广泛应用,大多数教师在教学过程中更倾向于利用已经设计好的多媒体课件进行教学,却忽视了在整个教学过程中运用形象生动的比喻法。
所谓比喻法,是常用的一种修辞方法,就是利用两种不同类的事物之间的某些相似的地方,以形象的事物作喻体去描述一个抽象的事物,它能化平淡为生动,化深奥为浅显,化抽象为具体。“精彩的比喻就像童话中的魔棒,碰到哪里,哪里就会发生神奇的变化”。在教学过程中,学生经常会碰到某些课程的理论性强,枯燥、难懂,不容易掌握。如果教师通过比喻教学,把内容和现实中非常接近我们的事情联系起来,可使学生较好的理解某些比较抽象的知识内容,以便他们能进一步掌握并能应用这些知识、原理来分析、解决某些相关的问题。
笔者就以计算机专业必修课《C程序设计语言》课程为例,结合自己的教学心得,谈谈如何用比喻法开展教与学的活动。
在一般高校都把《C程序设计语言》课程设置在大学一年级,主要面向新生,新生本身对大学的适应就需要一个过程,再加上C语言牵涉的概念复杂,规则繁多,目前各高校在C语言程序设计课程教学模式上仍采用传统的教学方法,导致学生刚接触C语言就觉得抽象、深奥,使用起来不得心应手。如算法概念、顺序程序设计、选择程序设计、循环程序设计,指针等知识更考验着学生的思维和耐心。
典型案例1:程序的灵魂――算法
[案例呈现]算法的概念是什么?
[分析]在《C程序设计》教学中,最大的困难正是对一些抽象的理论和概念的理解。算法是为解决某一问题而采取的方法和步骤。在教学中,我做了如下的处理,充分应用比喻的魅力,达到较好的教学效果。
打个比方,厨师制作菜肴,需要有菜谱。菜谱上一般包括使用的配料和用这些配料按规定的步骤加工出不同风味菜肴的操作步骤。没有配料是无法加工成所需菜肴的,面对同一些原料可以加工出不同风味的菜肴。设计一个好的程序,就像是做一道美味的菜肴,既要用到类似于配料的数据结构,又要有类似于做菜步骤的算法。没有数据结构是无法制作程序的,面对同一些数据可以设计出不同的程序。可见,算法从广义上来讲,就是操作步骤,就是为解决一个问题而采取的方法和步骤。当然我们学习计算机,关心的是计算机能解决的算法。
如著名数学家华罗庚“烧水泡茶”的两个算法。
算法一:烧水――水烧开后,洗刷茶具――沏茶。
算法二:烧水――烧水过程中,洗刷茶具――水烧开后沏茶。
大家可以看到这两个算法的区别在什么时间洗刷茶具,因为第二个算法应用了“统筹方法”,节约时间,所以效率更高。可见为了有效地进行解题,不仅要保证算法正确,还要用到科学的方法,考虑算法的质量,选择合适的算法。
算法的概念及特点如果只凭老师反复讲述定义,学生只会听得昏头昏脑,索然无味,教学效果很差。而比喻教学法的应用,可以使抽象的知识变得形象化、趣味化,起到“一语道破天机”的作用。
典型案例2:C程序设计的三种基本结构及各自的语句分析
1.顺序结构
顺序结构是C程序设计中最简单的一种基本结构。它就像人的一生,从出生、长大、上幼儿园、小学、初中、高中、大学、工作、结婚生子,再到“夕阳无限好,只是近黄昏”。顺其自然、顺顺利利度过一生。
2.选择结构
它就像在人的一生中会遇到的好多选择,有人生道路的选择、世界观的选择、事业的选择、爱情的选择,等等,但任何的选择都需要当前实际条件的成立。例如,考大学,假设成绩大于500分就考上了,否则未考上。此结构中必包含一个成绩大于500的判断框,根据给定的条件是否成立而选择执行“考上”或“未考上”。
if(成绩>500) printf(“考上”);else printf(“未考上”);
3.循环结构
循环即周而复始,花开花谢,月圆月缺,循环无尽。人生像生老病死就是一个循环不息的过程。我生病了,医生叮嘱我每天吃药,连续吃7天病就好了。很显然吃药是每天必做的事情,也是必循环的事情,7天后就可以不吃药了(如图所示)。在不少实际问题中有许多具有规律性的重复操作,因此在程序设计中就需要重复执行某些语句。一组被重复执行的语句称为循环体,能否继续重复,决定循环的终止条件。所以循环语句是由循环体及循环的终止条件两部分组成的。循环语句是最能体现计算机解决问题优越性的语句。
While(天数
可见,这种利用一个个发生在身边的实例做比喻,再加上理论讲解相结合的方法,使学生能感性地理解循环。
在《C程序设计语言》课堂教学中,尝试用比喻的方式来剖析计算机教学中的概念,选用恰当的生活事例,用已知来发掘未知,提高教学效果,增强学生学习的兴趣,是一种非常有效的教学方法。但是,运用教学比喻,并不是以粗浅的事例代替科学精准的理论,更不是用随便的玩笑代替细致准确的讲解,而是要求我们紧扣教学目标和要求,把握物理概念的本质和特点。根据具体问题,做到言之有理,言之有物,言之有据。《学论》中说:“君子之教,喻也。”作为教师,在日常教学中,一定要认真钻研教材,准确把握所教学生的思维水平和特点,从日常生活和学生已掌握的知识中找到恰当的比喻,运用比喻的时机和技巧,使课堂妙喻精彩纷呈。
参考文献:
[1]顾建东.生活:程序设计教学的本质回归[J].中国教育信息化.
[2]盛美勤.让比喻这一古老的修辞焕发新的教学生命力[J].中国.
[3]许文芳.类比法在《C语言程序设计》教学中的运用[J].电脑知识与技术.
篇10
关键词:中职;C语言;设计;教学;有效性
中图分类号:TP312.1-4
1 存在的问题和困惑
《C语言程序设计》课程共72个学时,其中36课时安排在教室进行理论课教学,另外36课时安排上机练习。教学效果并不理想。经过一段时间的观察与分析,总结了原因有以下几点:
首先在教学环境上存在着一定的问题。我校的微机房和教室是分开的,也就是说理论教室和机房并不在一起。这就导致了在授课过程中需要把理论知识内容和上机操作的内容完全割裂开来进行讲解。但作为课程来说,大多数知识点并没有明确的归类,而是理论和实践穿插在一起,理论知识给实践环节提供支撑,实践环节又能通过感官加深对理论知识的认识。因此将理论和实践上机割裂开来的后果是,每次在教室讲到某一知识点时,不能及时通过上机练习加深学生的认识,使得学生在课后很短时间内便将课堂所授知识慢慢淡化并遗忘。其次,我校招收到的学生整体素质不太理想,学生的学习习惯仅仅停留在课堂教学过程中,学习热情也不高,因此基本上也就是当下课后,除了完成老师布置的作业外,很少有同学能自觉、主动完成课程的预习和复习。因此知识在学生头脑中的存在感很弱。
第三,由于《C语言程序设计》这门课程的逻辑性较强,需要学生发挥更多的想象空间去思考、去理解。当同学们遇到某个难题,无法跨越,不能立刻理解的时候,就会造成学习信心不足,导致对课程产生一种恐惧心理,而把这种心理带到课堂中,造成了后面知识点的学习不畅,进而进入了一种学习的恶性循环。
2 解决问题的方法和措施
按照以往传统的教学策略,老师们常常是通过对后进同学进行补课、辅导,且在平时教学过程中适当增加课时量或大量增加作业量,期望学生能通过这种不断、反复的灌输与练习来加深记忆,达到理解知识的目的。但作为一门具有较强逻辑性和对学生动手能力要求较高,并且需要通过理解才能达到灵活应用的计算机语言类课程,这一做法显然已经不适用于本课程的教学。增加课时量或作业量,学生或许能暂时加深对知识的记忆,但对于帮助学生达到理解知识并灵活应用这一目的,却并不能起到很好的推动作用。因此,通过我在教学实践中的反复摸索,尝试结合以下几种措施来进行改变:
2.1 深入钻研,用好教材
首先,教材是教学之根本,教师必须围绕教材进行知识点的讲解。脱离教材进行讲解,很容易让学生在课后的学习过程中无从下手。教材用的合适可以大大减轻学生完成课后作业的压力。
做到这一点,首先教师应通过深入地研读教材,准确把握教学内容,提炼教学重点难点;其次,通过了解学生,准确把握学生学习起点及需要,结合教材内容精心设计教学活动。
(1)深度透视教材,把握教材脉络。教材是知识的载体,是教师教学的依据,是学生学习的平台。但大多数教材并没有提供完整的教学过程,也没有提供详尽的教学设计理念。面多种学生个体差异,教材也并不会罗列出有针对性的教学方法。因此作为教师在备课过程中就应树立整体概念,高屋建瓴,从教材的整体入手通盘考虑教材的编排意图,弄清每部分知识点在教材体系中的地位和作用,多问几个为什么。如:这例题为什么这样设计?习题为什么这样编排?结论为什么这样引出?经过一系列思考后,教师驾驭教材的能力肯定可以有所提高。通过教材脉络的把握,教师可以更合理的进行课后习题的设计与编排。有利于学生参照课堂教学环节进行课后的作业及课后的自主学习与探究。
(2)合理地确立教学内容。作为中等职业学校的学生,学习基础相对比较薄弱,缺乏良好的学习习惯。而对于中等职业学校而言,需要培养的是具有高素质的职业技能人才,较强的实践动手能力尤为重要,而对理论知识的深度并没有太多的要求。此外,由于C语言程序设计,对于学生来说,逻辑性较强。太深的教学难度不容易激发学生的学习兴趣,容易挫伤学生的学习积极性,而增加教学难度。
因此在教学过程中,我在保证知识、技能目标前提下,对教材内容进行了拓展开发,删除了一部分学生不容易理解和掌握的内容,比如文件、类的章节,而在条件、循环等基础性环节上增加了课时量。这样使教学过程充实、丰富。
2.2 分层教学,各个击破
从思想上来开,中等职业学校学生正处于青春叛逆期,如果过于强调课程的重要性,作业布置太多,容易引起学生的抵触心理。因此在授课过程中,我强调理论联系实际。尽可能多的引入一些计算机方面的新技术,新应用,通过PPT、图片、视频、游戏等方式展现给学生看(如图1)。一方面提高学生对于计算机学习的兴趣,另一方面,通过新技术的应用,帮助同学们树立学习的信心,减少学生的畏难情绪。促使学生积极主动的掌握所学知识,激发他们不断深入研究学习的兴趣和激情。
同时,在课程教学过程中所用的示例也尽可能的贴近学生的实际,例如,求学生多门课程的总分、平均分或根据成绩进行登记划定等等。
此外,在教学过程中,我根据学生的基础,把学生分成红、蓝两个战队,在这两个战队中,有基础比较好的同学,也有基础比较薄弱的同学。在上课过程中,基本上都是由这两个战队的同学形成竞争。例如,在做题过程中,由两个战队分别派出一名同学完成题目,进行分数计算,最后的分数,计入两个战队同学们的最终平时成绩中。这样,一方面可以通过竞争,激发同学们的学习兴趣;另一方面,加强同学们的学习凝聚力,基础比较好的同学会自觉帮助比较薄弱的同学,自动激发学习的主动性。
2.3 保证基础,不断拓展
任何事物都有一个由量变到质变的过程,学习也一样。逐步深入,对于C语言课程来说,这点尤其重要。因此在课程中,针对同学们的基础参差不齐,我给她们布置的题目也分为容易、较难、难三个层次。在课堂上,我也时刻提醒自己:要坚持做到以学生为主体,老师只是起到一个主导的作用。
对于基础比较薄弱的同学,保证会做“容易”层次的题目,尽量学会做“较难”层次的题目。这样做既能确保她们的成绩不会落下,同时还能通过不断的进步来提高她们学习的信心。同时在不知不觉中我已经一步步的将难度加大,同学们的知识也在不断地升华、扩展。对于一些基础较好的学生,简单容易的题型已不能满足她们求知的欲望,我的原则是:在她们能够独立完成简单题目的基础上,另外增加难度较大的任务给她们完成。这样做既能安抚她们骄燥的情绪,同时通过不断的挑战难题也充分的激发了她们的学习激情。
通过思考与总结,我发现在我校其他计算机语言类课程的教学过程中同样也存在着类似的情况,因此我觉得对C语言课程的改革同样也应该适用于其他相类似的课程中。
参考文献:
[1]景运革,孟朝霞.C语言程序设计教学目标描述研究[J].运城学院学报,2008(05).
[2]郭来德,窦玲.“C语言程序设计”双语教学改革研究[J].价值工程,2012(13).