导言:作为写作爱好者,不可错过为您精心挑选的10篇c语言程序设计论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
1.1教学设计概述
所谓教学设计,就是为了达到一定的教学目的,对教什么(课程、教学内容等)和怎么教(组织、方法、媒体的使用等)进行设计。教学设计不等同于传统的备课写教案。教学设计有利于教学工作的科学化,使教学活动纳入科学的轨道。教学设计的意义就在于追求教学效果的最优化,不仅关心教师如何教,更关心学生如何学,注重将人类对教与学的研究结果和理论综合应用于教学实践。教学设计主要包括确定教学目标、组织教学内容、分析教学对象、选择教学形式和方法及教学媒体、设计教学过程、教学质量评价设计等基本环节,其中,设计教学过程是课程教学设计的核心。
1.2该课程教学设计的内容
2教学设计的实践及效果
我们连续多年承担非计算机专业C语言程序设计课程,先后承担过西安理工大学电气工程及其自动化(电力)、水文与水资源工程、印刷工程、包装工程和材料科学与工程等专业的C语言程序设计的理论教学和实验教学任务。始终将上述教学设计的内容贯穿于课堂教学和实验教学之中。C语言程序设计本身是一门实践性很强的课程,加之各个理工科专业的特色鲜明,所以结合学生所学专业特点与需求,同一门课程,针对不同专业的学生,适当调整教学设计内容,并在教学实践中检验教学效果。2012年以来,学生对笔者的教学评分一直在95分以上,也给予了肯定性的评价,例如“采用启发式教学,阐述问题深入浅出,重点突出,能理论联系实际或联系学科发展的新成果”;“对于您的授课方式我们很满意,感谢您对这门课程的热忱,我们会努力学下去”;等等。
1《C语言程序设计课程》中存在的问题
近年来,高职院校对于C语言程序设计的课程实践教学非常重视,加大了对基础学科的投入,从教材的编写,师资的培养到参加各种类型的竞赛相比有很大的改善,但仍然存在很多的不足,主要表现在以下几个方面
(1)课程学习目标不明确。
在高职的《C语言程序设计课程》教学过程中,发现学生对于课程的认识非常浅,仅仅认为该课程是其他程序设计类课程的基础,具体会对高职的计算机专业的学习有多大的帮助完全不理解,因此导致学生在学习的过程中不够重视。
(2)理论教学过程忽略培养学生的综合能力
在传统的理论教学过程中,都是采用章节式的教学形式,引导学生从循序渐进按照章节来进行学习,在每一章学习的过程中,采用判断题,程序填空题,编程题的方式来进行对理论过程的消化,因此这种效果看上去可以起到对知识点有益的补充,但是缺乏从整体结构上进行把握,忽视了对综合应用能力的考察。
(3)实践教学开展的效果不佳。
目前,高职院校的程序设计主要是教学理论的讲解和上机的实践过程,实践环节的地位始终都是摆在理论教学环节之后,主要是用来对理论教学加强实践过程中的一种表现,因此课程的安排初期,无论是从实践学时的分配、以及实践课程的开展次序来看都明显的弱于理论教学。因此在教学过程中学生对实践过程的教学不够充分重视,造成了在考核过程中有些学生的理论很强,但实践上机调试偏弱,在一定程度上严重违背了程序设计课程的学习宗旨。
(4)课程评价机制落后,严重束缚学生的创新能力。
2运用S-P方法分析《C语言程序设计》课程
2.1S-P分析法简述
S-P分析法是一种非常好的试卷评价方法,它主要考察学生的学习情况、辅导内容和考试方式为主旨,将考察学生的方式采用图形化的方式进行表达,是一种理论结合实践的验认知诊断评量技术。
2.2课程数据导入
本文将各试卷的知识点对应的成绩作为研究的对象,对原始的成绩进行合并转换,画出相应的S曲线和P曲线,并采用S-P方法进行评价分析。本步骤中所做的工作主要分为两个阶段:
(1)学生成绩的准备。首先,对三份试卷的原始成绩进行收集和整理,将收集好的试卷中的原始题目和成绩进行合并,得到全新的考试成绩表。表中的每个成绩数值对应题目的知识点都不尽相同,为后续的转换组好准备。
(2)将新的学生成绩考试表转换成学生原始得分布尔矩阵。为了更好的进行研究,本文采用的问题平均的得分值作为赋值的标准,所以试卷中题目都需要进行布尔转换,在新学生成绩考核表中分数的转换均需严格按照赋值标准进行判断和转换。
2.3S-P分析课程课程因素
(1)试卷信任度
计算过程如下:
步骤1:计算出整个测验中每个学生在试卷中的奇数题目的总得分()和偶数题目的总得分()。
步骤3:用如下斯皮而曼-布朗公式进行校正:
依据经典测试理论,本文对三份《C语言程序设计》课程试卷计算各自的信任度系数值,来进行客观的分析这些试卷的测试结果是否具备真实性。计算的过程是首先对所有参加测试学生的试卷按照题目的奇偶编号进行统计,累计统计每份考卷中的奇数题目的得分,以及偶数题目的得分,将这些值导入到Excel的环境中对所有的奇数题目总分和及偶数题目总分和以及的值、的值和的值,并分别求得这些值各自的总和,最后将这些结果都代入公式(1)和公式(2)中即可求得最后的信度系数值。
(2)试卷效度
根据经典测试理论有关效度的分析方法。本研究结合近三年来的三次《C语言程序设计》课程考试答题情况和标准答案的分析得到了三次考试本身的效度情况,其次,对三份试卷的所考察的知识点进行计算和统计,并根据考试教学大纲中的要求进行对比,发现试卷考察的知识基本覆盖所规定的教学知识点。
(3)差异系数
将三份试卷的数据导入S-P表中,按照差异系数公式(3)来计算差异值。
式中:表示差异量,表示正确回答率。
一般来说,考试类型的不同导致的差异系数的值也会不同,一般对应检测学生成果的考试取值在0.5左右,而本次使用的试卷符合这个测试类型。三次试卷的测试差异系数值为表1所示:
3使用S-P分析《C语言程序设计课程》反馈
(1)学生学习状况方面
统计计算三个班级中参加期末考试的学生的原始分、平均分、差异量三个考试班级中学生的得分率和学生成绩差异情况,对三个班级的学生学习状况按照这些指标进行分类。这种分类是动态的,由多种统计数据划分,将学生的个体与全班的表现对比,可以多角度的了解学生状态,以便他们在考试中发挥出现异常都能帮助授课教师继续分析和追踪。
(2)试卷整体质量方面
本课题中使用的《C语言程序设计》的试卷质量不尽相同,每份试卷的信度和效度都不同,特别是在效度方面,三份试卷的效度都比较高,其次,三份试卷的难度情况和分值情况不同,特别是在2013年的试卷中,P曲线存在明显的断层,这说明该年的试卷在出题方面存在一定的问题。
(3)教学环节和因素分析方面
(4)学生能力方面的挖掘分析
使用S-P分析方法对课程的诸多因素进行了分析,课程的评价也是学生的学习能力和学习兴趣的反应,因此使得授课教师加强学生对《C语言程序设计》中语法细节掌握情况的反馈,以及学生具备的基础能力情况,进一步挖掘和培养学生的学习能力。
4贡献及总结
(1)对《C语言程序设计》课程大纲下的三个年度的学生考试成绩进行汇总,并对学生的考试情况、试卷质量和教学知识点覆盖等情况进行了统计分析;
(2)通过S-P分析法得到试卷中的部分的异常试题和需要重视的知识点多注意的教学知识点,分析和总结出这些引起共性的知识点的教学效果教学环节和因素,并反馈给了任课教师,以便能够更好的提醒和帮助老师进行课程上的改革,以便取得更好的教学效果;
(3)将S-P分析过的部分班级的学生学习《C语言程序设计》课程中的状况及时反馈给教师,并能够在今后的教学过程中能够注意学生的学习状况并加以指导;
(4)不断完善S-P表的评价分析理论,并需要结合教育学中经典教育测量理论中的有关信度、效度值的指标计算分析内容,可以弥补自身的不足,并能够与课程的其他方法进行补充,不断完善提高。
5综述所述
需要不断在《C语言程序设计》课程中进行改革,本文的S-P评价方法还存在一定的不足,需要在今后的教学过程中不断改进S-P评价方法,使之能够为计算机课程的改革教学提供有利的支持。
参考文献:
[1]冯丽娜.S-P表分析法的教学应用研究-以《C语言程序设计》课程测试为例[D].内蒙古师范大学硕士论文,2013.
[1]裘宗燕.C++程序设计语言(特别版).北京机械工业出版社,2002.7.
[2]StandleyB.lippman.C++Primer中文版.人民邮电出版社,20006.3.
[3]谭浩强.C程序设计(第二版).清华大学出版社出版,2005.6.
[4]钱能.C++程序设计教程.清华大学出版社,2005.5.
[5]沈美明.IBMPC汇编语言程序设计.清华大学出版社,1993.9.
[6]钱晓捷.汇编语言程序设计.电子工业出版社,2003.
【参考文献】
[1]翟乃强,隋树林,汇编语言与C语言及VisualC++混合编程[J].青岛科技大学学报,2003,24(B09):136~138.
[2]钱晓捷,汇编语言程序设计(第二版)[M],电子工业出版社,2003.6.
[3]钱春英,浅谈C语言与汇编语言混合编程的一些技术[J].南通航运职业技术学院学报,2005,4(1):50~52,55.
[4]郭晓梅,汇编语言与C语言的混合编程及应用[J].南京农专学报,2002,18(4):49~52,62.
[5]普拉塔.CPrimerPlus(第五版)中文版[M].人民邮电出版社,2005.
[6]斯马尔迪诺.教学技术与媒体[M].高等教育出版社,2008.
[7]教育部考试中心.全国计算机等级考试二级教程——C语言程序设计[M].2010年版.北京:高等教育出版社,2010.
[1]周以真.计算思维[J].中国计算机学会通讯,2007,(3):77-79.
[2]董荣胜.计算思维与计算机导论[J].计算机科学,2009,(36):50-52.
本课程属于我校计算机类本科生的第一门专业基础实践课,课程内容包括C++语言程序设计的理论和实践两个部分。基础理论部分内容包括C语言程序设计的基本概念、C++面向对象程序设计、类、对象、继承、派生、多态、模板等概念。实践部分则包括C++语言程序设计的基本训练、类和模板的设计编程、几个算法的实现、简单应用等。
C++语言程序设计是计算机类本科生的一门程序设计语言基础课程,虽然现在大多数程序员使用Java语言做项目开发,但作为程序设计的入门语言,考虑到在培养程序员思维方式的转变过程中,既要兼顾理解计算机硬件和软件的结合,又要程序员从传统的数学逻辑思维方式继承并成功转型到计算机逻辑思维方式。目前也只有C或C++语言能够较好的满足这种需求。
本课程注重采用C++编程语言的最新国际标准[1],结合我们学校实验室硬件的情况,尽可能采用国际上正在流行的比较新的编程软件进行实践教学。使得课程的讲授内容始终跟踪C++程序设计语言的前沿性和先进性。积极学习和引入国内外同行的先进教学方法和教学案例。简单介绍C++语言程序设计的几个流派、现实的应用情况及未来发展趋势。
本课程强调学生在认真听课、阅读理解课本上的有关程序设计的概念、方法外,还要善于利用互联网的资源,特别是学习C++语言程序设计的几个官方网站、几个行业大牛的网站上的知识。在理解理论的基础上展开实验验证,不断的修正自己的理解偏差,使自己学到的知识不断完善,形成体系,为后续课程的学习打下一个坚实的基础。在C++语言程序设计实践教学过程中,强调合作能力的培养,团队意识的形成。自2004年以来,本课程教学效果得到学生的一致肯定,锻炼和培养了学生的实践能力,比较好的完成了本门课程的教学任务。
2实践教学目标
本课程的实践教学目标包括:学生通过本课程的学习、实践,让学生从中学生传统的数学思维方式转变为结合计算机软硬件特点和计算机逻辑的计算机思维模式去分析问题、编写程序、实现解决问题。通过C++语言程序设计课程的实践训练,了解什么是面向对象的设计思想,养成良好的程序设计风格。利用C++语言程序设计来解决一些实际问题;学会自顶向下,逐步细化,会把复杂问题拆解为几个更为简单的问题,利用面向对象技术进行设计和编程。培养团队协作和开放意识,为计算机类专业后续课程的学习打下一个良好的基础。
3实践教学方法、手段(举例说明采用的各种教学方法及手段的使用目的、实施过程、实施效果)
①建立以转变传统数学逻辑思维方式为结合计算机软硬件特点的计算机逻辑思维方式为主线的,分层级、渐变式的实验教学体系。首先训练学生学习计算机编程的三种基本逻辑,数组等数据的组织方式,学会排序等几个简单常用算法、解决一些简单问题。然后学习把数据和定义在数据上的操作整合在一起引入类的概念、学会类的定义、理解继承、派生、多态、学会模板的定义和使用、学习文件的使用方法。使学生养成良好的程序设计风格、形成计算机逻辑思维模式。
②采用灵活多变的教学方法,加快提高学生的编程能力。实践教学过程中,针对一些具体的例题,先解决基本问题,然后分析对于一些语句进行适当修改和加入新的语句就可以解决类似的其他问题。设计、利用一些实验数据发现所设计的程序的关键性问题,然后引导学生去解决此类问题。因为本门课程是学生接触的第一门实践性课程,教学过程中引出的问题有些是当前阶段可以解决的,一些问题还要通过后续课程的学习提高能力后才能解决,不一定马上就要把问题解决掉、重点是培养学生继续学习的兴趣。激发学生自主学习的积极性、主动性和能动性。
4实践教学考核方法
本课程的总评价分数包括平时考勤,平时作业,中段考试、期终前上机考试、课程设计与新技术资料翻译,期末考核六部分。分别占10%、10%、15%、15%、10%、40%。其中,平时作业主要是针对课程中每章节后,为巩固所学内容所布置的习题编程实现;课程设计则主要是训练学生的协作能力和解决实际问题的分析、设计、编程能力、要求提交一份相对完整的设计文档;英文资料翻译采用自主选择网络上国外近半年来计算机类的英文资料、鼓励组团分解翻译大块文件,要求每人翻译至少2个A4版面。期末考试通过闭卷方式考核程序设计的能力,期终考试占总成绩的40%。
5实践教材
本课程的实践教材为本课程主持人及参与人员王玉山等所编著的《C++语言程序设计实践》,该教材现在只有电子稿,还没有正式出版。
6实践教学环境和教学资源
本课程的实践教学环境为:①学习版的微软公司的VisualStudioVisualC++的集成开发环境。②BloodshedDev-C++(C++开发工具)V5.11.0中文免费版。③奇趣科技开发的跨平台C++图形用户界面应用程序开发框架Qt。
教学资源:
①课程概要:课程简介、教学大纲、课程特色、教学效果。
②在线课堂:课程PPT。
③实验指导:实验指导书和实验报告。
④部分大作业选题目录。
⑤C++语言程序设计课程及研究常用、重要网址列表。
7实践教学效果
指导学生积极开展科研实践和申报项目,获得成绩如下:
①在王玉山老师的指导下,软件系2015级大学一年级新生林泽聪等获得了广东省团委的攀登计划项目:个人健康档案,获得资助2万元。
②在周咏梅和蒋盛益老师指导下,彭金原等同学获得广东外语外贸大学校级大学生创新创业项目:网络舆情构建关键问题研究―以微博客为分析对象(2011年校级);黄确君等获得:面向高校图书馆的推荐系统(2012年校级)。
国家级学科竞赛获奖情况:
Innc多媒体解析语言,2007年在天津举办的全国第10届挑战杯比赛3等奖,2004级软件工程专业,文羲畅。指导老师王玉山。该项目同时获得广东省2007年第九届挑战杯1等奖。
省级学科竞赛获奖情况:
①四灵象棋――基于互联网与移动设备联合开发,广东省第18届“高校杯”软件作品赛一等奖,2006级计算机专业:郭勇、刘荣科、何健,指导老师:林华、蒋盛益、吴彩虹、王玉山。
②基于Web3d的网上服装商城,第十七届广东省“文泰高校杯”软件设计(本科组)竞赛1等奖,2004级软件工程专业学生,指导老师,王玉山。
泛珠三角安利杯大学生计算机作品赛:
2006级计算机专业,陈俊平,余雯.基于C++语言程序设计的垃圾邮件识别系统,泛珠三角大学生计算机作品赛广东赛区,二等奖,2009。
2006级计算机专业学生,“任意达”――私人定制高校客车联盟系统,大学生计算机作品赛暨泛珠三角大学生计算机作品赛广东赛区选拔赛三等奖,指导教师林华。
8实践课程特色及价值
《C++语言程序设计》作为大学计算机类1年级新生的第1门实践课程,肩负着既要把学生从传统的数学思维方式向结合计算机软硬件特点的计算机思维方式转变,又要转变学生的应试教育模式学习方式向探索式、实证式、协同式、全球互联网求助式、开放式教育学习方式转变。还要求学会面向对象的程序设计思想方法,为后续课程的学习打下一个良好的基础。课程内容本身要求理论联系实际、在理解理论的基础上进行实践验证并不断修正、完善自己理论体系。学习本课程后,要求能够进行面向对象的类的设计,能够解决一些实际问题。本课程的特色和价值主要表现在:
2005/11重庆邮电大学经管学院“创业计划”大赛一等奖
2005/06重庆邮电大学校数学建模竞赛三等奖
2004/03重庆邮电大学优秀学生奖学金一等奖三次
2006/03重庆邮电大学优秀学生奖学金二等奖一次
2006/09重庆邮电大学优秀学生奖学金三等奖两次
2005/09重庆邮电大学优秀学生干部
2005/09重庆邮电大学科技创新百佳先进个人
2004/09重庆邮电大学三好学生
2004/03重庆邮电大学经管学院学生会科技协会优秀干事两获此称号所获证书2006年03月全国大学英语口语考试证书C+等级
2005年04月全国计算机等级考试三级信息管理技术证书
2005年03月大学英语CET四级证书实践经验1.停车场演示系统:专业个人上机实习,C语言模拟.主要练习对于数据结构基础知识的掌握以及高级语言程序设计的方法技巧.
2.DVD在线租赁系统:数学建模竞赛论文,团队合作完成,主要研究和解决DVD在线租赁网站的需求预测,购买和分配中一些重要问题,应用到0-1背包算法,禁忌算法等知识.同时用C++实现部分功能.
3.基于Web的个性化信息服务系统:系本专业信息组织与存储课程设计,本人在其中当作组长,用ASP语言及其Acess实验部分以下功能:除了基本网站基本检索功能以外,根据用户信息,检索历史提供个性化信息推送服务研究.
4/2006年于中国网络通信集团公司重庆分公司运行维护部实现暑假企业跟班实习一周,了解其通信运营工作流程,网络维护的基本技能与经验.
关键词:花键拉刀;C语言程序设计;CAD;加工工艺规程。
SplineBroachCADandManufacturing
二、我校的计算机基础教育新旧课程结构的比较
根据高等教育的发展,对我校非计算机专业的计算机基础教学提出了新的要求,相应的课程体系改革为:计算机基础分为大学计算机基础、计算机技术基础和计算机应用基础三个层次,为必修课或选修课。其中:理工类建议选择C语言程序设计、java语言程序设计等,文科类选择VB程序设计、web程序设计等;第四、五学期各专业可根据专业培养需要选择。同时为了使同学们能更好的掌握知识,将《C语言程序设计》《java语言程序设计》《VB程序设计》《web程序设计》《动漫设计》课程分为两个学期完成,称为《C语言程序设计(1)》《C语言程序设计(2)》,其他课程以此类推。
三、教改具体措施以及效果
(一)全程机房教学,增强动手能力
教学方法是为实现教学目标、完成教学任务所采取的措施。传统的三中心(教师、教材、课堂)教学方法既不适应社会发展的需求,也不符合计算机教育的特色,必须改革。我校的《大学计算机基础》由原来的课堂教学,改为全程机房教学,使同学们在边听教师讲解的同时,可以直接上机进行操作,在学习理论知识的同时,可以立刻得到对计算机操作的感性认识。通过三个学期的教改实践,完善了全程机房教学模式,对同学们使用计算机的动手能力有很大的提高。
(二)配套教学软件,提高学习能力
本课程组为《大学计算机基础》课程开发了一个《大学计算机基础辅导练习系统》,该系统分为抽题模块、答题模块、判卷模块,本系统为C/S结构,当管理员在服务器端设置好本次模拟练习的题型比例后,系统自动生成一套模拟试卷;所有的同学们可以在客户端进行答题,当答卷完毕时,由服务器端自动进行判卷并将本次练习的结果反馈给同学们;该系统可以提供给学习本课程的同学们经过教师的指导后,在课堂内外自行进行练习。以便同学们完成练习后,自己可以评判自身的学习程度,并在下一阶段的课内外学习中调整自己的学习状态。本系统已经提供给2005级大一学生进行了初步使用,体现了较好的作用。
(三)开发网络平台,整合教学资源
(四)编制多媒体课件,增加课堂吸引力
根据我校计算机基础教学的实际情况,我们重新编制了《大学计算机基础》《计算机程序设计A》《计算机程序设计B》的电子课件,使之更符合我校的实际教学情况,更符合浙江省计算机等级考试的要求。其中《计算机程序设计A》课件获得中国计量学院首届多媒体课件竞赛二等奖。改编后的课件具有以下优点:界面清晰、美观,结构清晰,例题丰富、并附有书本外的课后习题。
(五)出版教辅材料,同步教学改革
根据高等教育中对计算机基础教学提出的新要求,和结合浙江省计算机等级考试的要求,本课题组编制了《C语言程序设计实验与习题指导》面向21世纪高等院校计算机系列规划教材,该教材由“科学出版社”出版,并于2005~2006学年第二学期开始投入我校、浙江工业大学等高校使用;根据我校学生应考浙江省计算机等级考试的需要,本课题组编制了《C语言辅导与讲义》、《VB程序设计辅导与讲义》,并与2005~2006学年第一学期开始投入使用,学生们反映良好。
(六)开发考试系统,改革测试手段
计算机基础课程是一门应用技术学科,主要凭试卷来检测大学生的学习效果,并不能完全反映出学生的实际能力。而且试题类型目前多是测试学生对所学知识是否了解,不是考核学生解决问题的能力,并没有挣脱应试教育的樊笼,严重影响了创新型人才的培养。现在这种考试方法,使得学生为了考试而学习,不能提高学生学习的积极性,不能发挥学生的创造力,这种考试方法与素质教育大相径庭。本课题组开发了《大学计算机基础上机考试系统》,本系统具有抽题功能、答题功能、判卷功能、存储功能、输出功能,对其中的实践部分从以前的“纸上谈兵”改为“上机实战”。其中的判卷功能、存储功能、输出功能也使得该课程实现无纸化考试,该考试系统于2004~2005学年第二学期开始投入使用。新的考核方法给了学生一个发挥才能的空间,变被动的死记硬背为灵活的实践操作,使学生成为知识的主人。
四、实际作用与效果
目前,计算思维能力的培养已成为计算机教育重点研究的课题之一,作为计算机专业的专业基础课和非计算机专业的公共基础课,《C语言程序设计》是培养学生计算思维能力的理想课程。通过该课程的学习,学生应学会问题求解的基本思路和方法,具有一定的编程能力,并能理解计算机思维的过程和学会利用计算学科的思想、理论、方法和技术解决客观世界实际问题的思维方法,然后把相应的思维与方法内化为“方法论”,更广泛地为工作、学习与生活服务。因此在《C语言程序设计》课程的教学中探索适合培养计算思维能力的教学方法十分必要。
1计算思维
2计算思维教育与《C语言程序设计》课程教学
3面向计算思维能力培养的课程教学方法改革
3.1融计算思维于案例教学中,激发学生学习兴趣
计算思维是一种问题求解的思维,它将问题求解的过程用程序化的方式表达出来[5],计算思维的自动化是“机械式”的按照步骤自动执行,因此对问题的求解就要有精确的算法描述和严格的符号表示。当学生面对实际问题时,根据已有的知识提出问题求解的方案,并用算法进行描述,然后编写程序,最后用机器来验证问题求解结果。例如对于“猴子吃桃问题”这个案例,根据计算思维的特征和高效,引导学生用计算思维的递归方法发现和解决问题,并引导学生用N-S图精确描述算法,再用C语言中相应的语句编写程序。这样,学生在学习过程中体会递归算法的思想和过程,并掌握递归方法和C语言中相应的知识和语法,当碰到类似的问题就会想到用类似的方法解决问题。
3.2采用多角度思维训练的教学方法,以激励学生的创新意识
《C语言程序设计》课程中计算思维能力的培养主要体现在对学生分析问题和解决问题能力的培养,那在教与学过程中如何培养呢?首先教师要设计一个能吸引学生注意力问题,并仔细分析该例子的代表性、应用性和趣味性,例如对于循环结构这个知识点选用“猴子吃桃问题”是一个很有代表性的例子,学生根据老师提出的问题,思考解决问题的方法,老师适时为学生提供帮助,运用计算思维的各种方法启发学生,对于这个问题可启发学生用递归的方法求解,逆向思维,从后面往前推断。当然,在教学过程中,老师还需要尊重学生的个性发展,鼓励学生提出不同的解题方法,不断启发学生,让他们积极主动的探究学习,使其能举一反三。
程序设计类课程的价值之一在于训练和提高学生的计算思维能力[6],不能让学生只按照老师逻辑思维解决问题,所以学生在设计算法时,鼓励学生对同一个问题设计多种不同的算法,这样有利于培养学生创新意识。当然,还要注重算法的简化和优化,在众多的算法中找到一种最优的算法。例如“百钱买百鸡”问题可用三重循环来实现,但仔细一分析还可只用二重循环来实现,并且循环次数由106降低到104,一个简单的改进让学生看到算法优化的魅力,进一步再启发学生算法是否还可改进?循环次数是否还可以降低?这样采用多角度思维训练方式就可充分调动学生学习的积极性,激发学生的学习热情和创新意识。
3.3融计算思维于实践教学环节中,强化计算思维的训练
对于实践性很强的《C语言程序设计》课程的教学,上机实验应是教学的核心,也是培养学生计算思维能力的一个重要环节,所以在该课程的教学中需重视上机实践这一教学环节。过去常用的“先讲解程序后上机实验”这种传统教学策略,一般只能增加学生的感性认识及培养学生的上机能力,不能很好的培养计算思维能力。另一方面,大学生一般对一些具有挑战性的任务具有浓厚的兴趣,所以设计的实验任务尽量要生活化和趣味化以激起学生的兴趣,实验任务还需具有一定的综合性来增强实验的难度,从而强化计算思维的训练。例如在分支程序结构中可以安排火车计费程序或计算个人所得税额程序等。教师在设计实验内容时还要注重培养学生的创新思维,也就是说教师设计的实验内容要适合学生的知识结构和心理特点,同时为学生创新思维留出空间,要求学生勇于探索,并引导学生认真思考寻求多种解题思路,在计算过程中培养学生的严谨性,引导学生对所设计的算法进行必要的优化,然后使用正确的语句编写程序,并通过上机调试与修改程序运行得到正确结果,在研究问题的求解过程、算法设计与优化及程序调试过程中强化计算思维的训练。
4结束语
将计算思维融入《C语言程序设计》的课程教学中,作为一种教学改革尝试,其目的就是将程序设计中所涉及的计算思维潜移默化的植入学生的日常思维。在教学中从有利于培养学生计算思维的角度重新组织该课程的教学内容、改革教学方法,在教学中注重加强学生计算思维能力的培养,使学生学会问题求解的基本方法,能自觉运用计算思维的方法来解决客观世界的实际问题。虽然在教学实际中取得了一定的成效,但通过这一门课程来形成计算思维显然是远远不够的,作为21世纪人类必备的技能之一,计算思维的培养势在必行。然而,在课程教学中,采用什么样的教学方法能才能更好的培养和提高学生的计算思维能力,依然是值得探索的问题。
[1]WingJM.ComputationalThinking[J].CommunicationoftheACM,2006(49):33-34.
[2]GoldmanCV,ZilbersteinS.Decentralizedcontrolofcooperativesystems:Categorizationandcomplexityanalysis[J].JournalofAIResearch,2004.
[3]董荣胜.计算思维与计算机导论[J].计算机科学,2009,36(6):50-52.
课程是知识的载体,是能力形成的着力点,课程建设的好坏,直接关系到人才培养质量的好坏。
1课程建设的定义
课程是指教育内容的进程,是为实现教育目标而规定的教学科目及其目的、内容、范围、分量和进程的总和。这是一种广义的理解,狭义的课程是指一门学科。课程建设指的是为了推进教学进程的实现所包含的“师资队伍建设、教学内容和质量建设、教学方法和教学手段建设、教学条件建设和教学管理建设”等与之相适应的各种分量的总和。
课程建设是提高教学质量、深化教学改革的一项综合性的建设,课程建设是确保人才培养质量的最重要的基本建设任务之一,是教学改革的核心。
(1)师资队伍建设。它是课程建设的先导,主要内容包括学历结构、年龄结构、职称结构和学缘结构以及学术水平、教学水平、教育理论和思想素质等,要建设具有一流水平的课程,首先要有一流的学术水平、丰富的教学经验、深厚的教育理论功底、扎实的教学技能、严谨治学的师资队伍。
(2)教学内容和质量建设。它是课程建设的核心和主体,也是衡量课程建设质量的主要标准,包括:教学思想的改革与建设,知识内容建设、教学水平建设、教材建设、教学资源建设以及结合专业特点积极开展教学改革与教学研究等内容的建设。
(3)教学方法和教学手段建设。它是实现课程建设目标的主要途径和基本保证。要紧紧围绕提高教学质量、提高学生素养和能力,结合专业的特点、教学内容积极开展现代化教学手段、教学方法的研究与建设。
(4)教学条件建设。它是课程建设重要保证,包括:课堂教学的基本设施、实验、实训、实习等实践教学条件的开放性、先进性、教学环境和教学氛围等建设。
(5)教学管理建设。它是课程建设的组织保证,包括:科学、规范、系统和配套的教学管理规章制度、教学质量评价体系、教学档案资料和教学激励机制等内容的建设。
3我国国家层次课程建设的路径(近15年)
我国从2003年起开始精品课程建设,先后经历了“精品课程、精品资源共享课、精品视频公开课,大学MOOC、微课”等过程,加上即将推出的“系列微课”,现在统一称之为“精品开放课程”,下面简单的介绍。
3.1精品课程
精品课程是教育部为推进教育创新,深化教学改革,促进现代信息技术在教学中的应用,共享优质教学资源,在“高等学校教学质量与教学改革工程”中开展的一项工作。这项工作开始于2003年,截止2010年底,教育部组织建设了3909门国家精品课程,主要集中在985和211高校。省级、校级精品课程数量也达2万多门。
精品课程建设出现,对当时各高校的课程建设,起到了引领作用,对推动教育创新,深化教育改革,起了十分重要的作用。通过几年的实践,加上互联网技术的发展,人们发现,精品课程建设离当初的想法渐行渐远,暴露了不少问题,主要表现在:
(1)精品课程建设脱离教学实际
精品开放课程建设了不少,其中相当一部分是为申报国家级、省级精品开放课程而应急建设的,没有充分考虑平台的服务性和实用性,一些精品开放课程成了学校的品牌装饰,与教学过程“脱节”。
(2)建成的精品课程不少,但比较零乱,不成体系,名校、名师和“大家”的作品少见。
(3)建成精品课程资源不足,满足不了学习者的需求,后期维护跟不上,资源的再开发、再利用严重滞后。
(4)课程建设的目标不正确,重申报轻可持续发展现象严重。
针对以上问题,教育部【教高厅〔2012〕】2号发文强调:在“十二五”期间,教育部将在原国家精品课程建设成果基础上,科学规划,合理布局,优化结构,通过高等学校本科教学质量与教学改革工程,支持建设5000门国家级精品资源共享课。其中,2012年和2013年重点开展原国家精品课程转型升级为国家级精品资源共享课的建设,采取遴选准入方式选拔课程;同时,从2013年起,适应新需求,结合高等教育发展趋势和教学改革成果,采取招标建设和遴选准入两种方式建设一批新的课程。
3.2精品资源共享课
资源共享课除了要提供全部教学单元的录像外,突出基本资源共享。
包括课程介绍、教学大纲、教学日历、教案或演示文稿、重点难点指导、作业、参考资料目录和课程全程教学录像等反映教学活动必需的资源。
精品课程和精品资源共享课由于专业性强,主要的受众群体是高校教师和在校大学生,受众群体狭窄。
3.3精品视频公开课
精品视频公开课是以教师授课录像为展示内容的一种开放教育,每门课程总讲数应至少5讲,每讲时长30~50分钟。有科学文化素养教育类和专业导论类两种类型,其中科学文化素养类推荐单位为部属院校或者教育主管部门,专业导论类的推荐单位为本学科国家级教学指导委员会。
3.4微课
微课是指按照课程与教学实践的要求,以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点或者某几个知识点(重点、难点和疑点)或教学环节而开展教与学的全过程
它最早是由美国新墨西哥州圣胡安学院的高级教学设计师、学院在线服务经理戴维彭罗斯(DavidPenrose)于2008年秋首创的。后来,戴维彭罗斯被人们戏称为“一分钟教授”(theOneMinuteProfessor)。
4我校课程建设的基本做法
学校开设这门课程源于上个世纪90年代,受当时的条件限制,教学大纲、教学方法和教材均参照本科院校,培养出来的人不能满足市场对人才质量的要求。随着职业教育的浪潮的到来,受理论讲解力求体现“必须,够用为度”的影响,学校把人才培养的落脚点绑定在市场急需的应用型人才培养的目标上。先后申报学校《IT蓝领系列专业办学方向探索建设》、《IT蓝领软件人才的素质培养》、《计算机类学生实践技能培养模块的构建及应用》、《应用型大学课程的样板建设研究――以为例》等教学研究项目,通过深入企业、事业单位调研,了解市场对计算机类人才的具体需求,形成了计算机类各个层面的培养模块,并将能力培养模块落实到具体的课堂教学和实践环节之中,《C语言程序设计》课题组率先完成了应用型大学的课程教学大纲、上机实训大纲、自编了上机实训手册等一些齐备的课堂教学资料编写工作。2007年3月在中国水利水电出版社出版了《C语言程序设计》教材。
4.1明确课程建设的基本思路
2007年年初,我校升格为本科院校并招收计算机科学与技术专业本科生,自此《C语言程序设计》和其他课程一样面临着从专科层次向本科层次转型的问题。本着突出应用特性,课题组理清的《C语言程序设计》课程建设的思路是:
(1)高职高专阶段课程建设的成果、资料、经验和团队协作精神不能丢,在搞清楚《C语言程序设计》(本科)的规格和内涵之后,将相应的积累和经验移植到本科课程建设之中,提高建设速度和质量。
(2)围绕学校创办“应用型大学”的战略目标,将“培养应用型人才,建设双师型、社会型教学团队”的理念融入到课程建设之中。
(3)打造精品开放课程。有步骤,分层次将《C语言程序设计》打造成校级、省级、国家级精品开放课程。
(4)建设优秀的教学资源,满足广大师生自主学习的需要。到2020年末,所有的教学资源(包括精品课程网站、精品视频公开课网站、微课等)全部上线,做好跟进维护工作,让优质资源发挥应用的作用。继续完善《C语言程序设计》及其配套教材修订工作,力争把教材做成应用型的精品,完成《C语言程序设计》系列微课的录制。
(5)加强团队建设,打造梯度结构的“双师型”教师队伍,发挥教学名师,学科带头人的“引领、传承、创新、共享”作用,促进课程建设质量的提升,争取有一批优秀的教师脱颖而出,争创学校和省级的教学名师。
4.2对课程建设的教学定位
《C语言程序设计》是计算机语言类教学中第一门系统地讲授程序设计的课程,通过该课程的学习,使学生了解程序设计语言的基本语法、基本结构,理解计算机科学求解实际问题的基本过程,掌握程序设计的基本思想、方法和技巧,了解计算机的一般算法,养成良好的程序设计风格,培养利用计算机求解问题的能力。
学生通过该课程的学习,应该在知识与能力方面达到以下基本要求。
(1)基础知识要求
通过该课程的学习,学生深入了解计算机的基本工作原理,掌握程序设计语言的基本语法、数据表达形式和流程控制的方式。理解模块化程序化的基本思想,掌握程序设计的基本方法和流程。
(2)能力培养要求
重点培养学生读程序、写程序和调试程序的能力,突出实际编程能力的训练。学生应该掌握基本的分析问题和数据表达的能力,以及算法描述与基本算法实现的能力;掌握面向过程的程序设计方法;掌握集成化程序开发环境的使用和程序的调试方法;初步具有利用程序设计技术求解实际问题的技巧与方法。
4.3研究制定了我校《C语言程序设计》课程建设的实施方案
按照行业的岗位需求进行“理论教学内容的设计”,“实践教学内容的设计”,“课程设计”。“理论教学内容的设计”和“实践教学内容的设计”都是以知识点为单位进行设计的。
(1)理论教学的知识点分布及能力基本要求(以“结构控制”知识点为例)
[知识单元教学内容教学要求教学目标重点和难点常用的结构控制用读/写及赋值实现顺序结构的程序掌握熟练第掌握C语言的各种语句的使用,熟练输入/输出等库函数的调用;正确选择使用相应的流程控制语句实现三种基本结构的程序设计;掌握几种重要的算法(求和、统计、求数列等)的算法思想及其实现;了解几种常用算法的思想重点:三种基本控制的实现,各种流程控制语句的正确使用
难点:多分支、循环嵌套、分支和循环结构的嵌套,常用的算法设计与实现用if、switch语句实现分支结构的程序掌握分支结构的嵌套掌握用while、do-while
、for实现循环结构的设计掌握循环嵌套的控制与执行掌握break、continue语句的使用掌握分支和循环结构嵌套的特点和应用掌握一些常用算法设计思想,部分算法的实现理解]
(2)实验实践教学设计
本课程实践教学的指导思想是:首先通过教师案例讲解、编程演示使学生对程序设计有一定的感性认识;然后通过设计由浅入深的实验项目,使学生通过理解程序、模仿程序、改写程序到编写程序的实践训练,逐步强化学生熟练掌握程序设计的基本方法;加强学生的实际编程能力、动手操作能力和团队协作能力。
实践教学分为“演示实验”和“知识单元实验”两个部分。知识单元的实验有验证性和设计性两大类,前者是理解和巩固理论课所学知识的,后者意在培养学生运用课程知识独立进行问题求解、程序设计的能力。下表给出了“分支结构”知识单元的实验方案。
实验教学中课程实验方案(以“分支结构”为例)
[实验序号实验内容实验目标建议实验项目3分支结构掌握分支、多分支结构程序设计的办法;
掌握排除语法错误的基本技能案例:超速判断、出租车计价,成绩转换,纳税问题
项目:比较大小,分段计算居民水费、计算天数、简单计算器、出租车计费系统]
(3)课程设计
课程设计的主要目的是通过大型程序训练,培养学生研究性学习、综合应用能力、复杂程序的调试能力,要让学生深刻体会程序设计的全过程,初步体验软件工程方法,培养学生软件文档的写作能力。加强团队工作中的个人责任,培养学生团队协作精神。
课程设计示例:
作物产量统计系统
问题描述:输入某村各户各类农作物的产量,以便统计全村各种农作物的总产量以及向亩产较低的农户提供参考数据。作物产量统计系统中每条记录包括各户村民的编号、户名、种植作物种类、亩数、产量等信息,主要实现作物产量等信息的输入、打印、查找、排序、统计等基本管理功能。
基本功能:
输入n户村民及其种植作物的基本信息,并将输入的数据存入文件。
统计全村各类作物的总产量,并将结果写入文件。
计算各户各种农作物的亩产量,输出计算结果。
按由小到大的顺序对全村各类农作物的亩产量进行排序,将排序的结果写入文件。
按户查找指定村民的作物信息。
设计要求:
在输入村民及其作物种类等基本信息时,要求输入完一户村民的所有种植作物及其产量等信息后再输入另一户村民的基本信息。
5我校在《C语言程序设计》课程建设中取得的成绩
教学工作是学校的中心工作,“加强课程建设,夯实发展基础”是学校内涵建设的理念,自2010年以来,《C语言程序设计》课程建设取得了如下成绩。
(1)微课《冒泡法排序》和《汉诺塔与递归算法》2015年参加“第二届全国高校微课教学(本科)比赛”分别湖北赛区“一等奖”和“二等奖”,《数组元素的冒泡法排序和选择法排序》参加全国决赛获得“优秀奖”。
(2)教学研究项目《基层应用型大学课程建设探索与研究(教材)》参加2013年“湖北省第七届教学成果奖”的评选,湖北省人民政府授予“三等奖”。
(3)课程《生活中的C程序设计》被湖北省教育厅评定为“2014年度精品视频公开课”。课程《C语言程序设计》2011年被湖北省教育厅评定为本科层次的“精品课程”。
(4)教材《C语言程序设计》2010年被教育部“教指委”评定为“优秀教材”。《C语言程序设计》(第二版)被中国电子教育学会评定为2012全国电子信息类(研究生、本科教育)“优秀教材”。
(5)编辑出版《C语言程序设计》、《C语言程序设计上机指导与习题解答》3个版次共6本教材,发表与《C语言程序设计》课程内容有关的教学论文7篇。
(6)指导的学生从2012年起参加第三届至第六届全国“蓝桥杯”软件专业人才设计与创业大赛(C/C++类),多人次获奖。
(7)将《C语言程序设计》按照知识点重组录制成“系列微课”共65讲,时长1350分钟,该项目是目前国内第一门将专业知识碎片化重组后以“微课”形式进行展示的课程,我们坚信,只要进入该课程的学习者,一定会有所获。
6对课程建设的几点思考
(1)课程建设必须遵循高等教育规律
课程是知识的载体,课程教学是为落实人才培养方案服务的,起着强基固本的作用。高等教育有别于基础教育,有他特点和规律,只有营造宽松、和谐的教学环境,为多样性、个性化、有思想的教学科研人员提供条件;排除“不确定性、非物理性、外部性”的干扰,才是还原“学校教育质朴真实的面目”的,凡是“追求短期内量化、有形的物理绩效”都是严重违背高等教育发展规律。
(2)对教学工作的重视程度决定了“课程建设”质量的好坏
近10年来,各级教育主管部门和各高校都把“加强专业建设、学科建设,加强课程建设”作为“本科质量工程”的重要内容。由于各校理解上的差异,对待教学工作的重视程度也参差不齐,导致在课程建设的效果和结果上不尽相同,近10年来,全国各级教育主管部门和各高校共建设精品开放课程不少于二万门,建成的这些课程比较零散,成体系的不多,特别是名师,名校、“大家”的作品甚少,如果把各名校、名师、“大家”的积极性调动起来,用他们的眼光,用他们的智慧来打造优秀的教育资源,对于教育均衡、信息共享一定会起到事半功倍的作用。
(3)组建教学团队、发挥名师的作用,是做好“课程建设”基本保证
(4)加强“教学设计”,是目前环境下提高教学质量的重要环节
8结束语
高等教育的根本问题是人才培养的问题,根据国务院《统筹推进世界一流大学和一流学科建设总体方案》要求,建设高校强国,到2020年底推进一批学校进入世界一流行列,若干学科进入世界一流学科行列,只有遵循高等教育规律,认真开展专业建设、学科建设,扎实推进课程建设,努力打造人才培养特色,充分开发优质资源,才能使“双一流”建设方案得以实现。
[1]高等学校计算机基础核心课程教学实施方案[M].教育部高等学校计算机基础课程教学指导委员会,高等教育出版社,2010.
[2]李金萍.新建地方本科院校课程建设理论探讨与有效实践[J].科学决策,2008(10):83-84.
一、引言
目前,许多高等院校开设了《C语言程序设计》这门课程。然而,学生普遍认为这门课程枯燥难懂,没有学习信心和兴趣,学习效果不容乐观。教师作为教学过程的主导者,有责任认真反思教学中存在的问题,创新教学观念,改革教学方式,努力增强教学效果。
二、现状分析
1.C语言自身有一定难度。
C语言涉及的概念复杂、规则繁多、语法严格、使用灵活,且基于DOS运行环境缺乏直观性,一般的编程枯燥乏味。以上特点给师生的教学和学习带来了一定的难度,严重制约了学生主体作用的发挥。
2.教学要求相对专业培养目标孤立。
《C语言程序设计》作为一门重要的基础课程,要为后续的数据结构、操作系统、编译原理、面向对象程序设计等课程打下坚实的基础。然而,课程教学大纲如何不闭门造车,适应专业培养目标的整体要求?其修订工作往往为人所忽视。
3.缺乏较好的教学方法[1]。
尽管当前大多数《C语言程序设计》课程采用了多媒体教学手段,然而,多数依然沿用以教师和教材为中心的讲授教学模式,基本上把教材的内容原封不动地输入到课件,形成了效果更差的以课件为中心的模式。在这种模式下,学生往往按照教师的讲授速度被动学习,缺少及时地消化理解,更谈不上进行知识的内化和再创造,丧失学习兴趣的也不在少数。
4.重理论,轻实践。
教师容易走入一个误区,即把授课重点放在大量的概念、术语和语法解释上,忽视程序设计思想和能力的培养。许多教师不能对实践环节进行系统的教学设计,往往把上机作为验证理论的手段。尽管教师们不愿承认,但正是这种重理论、轻实践的思想使得学生的学习目标模糊不清、学习方法事倍功半,枯涩难懂的抽象理论甚至把一些学生拒之门外。
5.学生学习目的不明确,学习积极性不高。
6.学生学习水平参差不齐。
有些学生基础较差,高中阶段未学过计算机语言,甚至没有接触过计算机;有些学生逻辑思维能力强,不满足于课堂上教师教授的知识;有些学生学习能力相对较弱,理解和掌握各知识点速度较慢;有些学生不重视实验,课前不预习,上机就是机械地打字,课后抄袭实验报告;有些学生反映上课能听懂,上机时不知从何下手;上课开小差、打游戏的学生更是屡见不鲜,等等。面对这些千差万别的教学对象,大多数教师采取折中的方法,即以中等学生的学习能力作为教学的标准,这种“齐步走”的方法使相当数量的“两端”学生逐渐失去了学习的兴趣。
三、对策研究
教学是教与学的总称,教学活动由教师、学生、教学内容和教学环境等四个要素组成,这些因素互相作用,共同影响着教学活动的效果。以下针对四个要素分别阐述提高教学质量的对策。当然,在实际应用中要把它们看做一个有机的整体。
1.教师层面。
(1)转变观念,努力提高自身素质。
教师要树立以学生为本的理念,明确以培养学生的程序设计思维、创新意识和实践能力为目标,努力提高自身素质,尤其是教学设计和实践教学能力,争取成为“双师型”教师。
(2)以人为本,强调因材施教。[2]
教学目标归根结底是让学生学到了什么,而不是教师教了什么。在教学过程中,应以学生为中心,以激发学生的学习兴趣、提高学生的能力为关键,针对学生的需求和特点组织教学,根据学生的反馈及时调控教学进度,同时注重不同层次学生的差异,针对学生实际的认知水平和能力水平,因材施教。
(3)认真钻研,不断改进教学方法。
所谓“教无定法”,教师、学生、教学内容、教学环境任何一个因素的改变均可使用不同的教学方法。因此,教师应认真研究教学规律[3],根据学生基础、教学目标、教学内容、教学条件,对教学方法进行不断深入的改革和实践,方可保证教学质量的稳步提高。
在多年的实践过程中,广大教师已总结了不少值得借鉴的教学方法,如讨论法、演示法、实验法、案例法、发现法等。在教学过程中,不能盲目照搬他人模式,应将各种教学方法相互融合,力求做到深、活、透、新,建立完整的教学模式体系。
2.学生层面。
(1)激发学习兴趣,端正学习态度。
教师通过明确C语言在专业学习中的地位、精心选择教学内容、合理设计教学方法,不断激发和保持学生的学习兴趣。然而,学习不能仅凭兴趣,更要有持之以恒的精神和毅力。特别是随着学习目标的不断提高,困难也会越来越多,此时教师要多加引导,帮助学生克服畏难情绪,端正学习态度。
(2)明确学习特点,强调学习方法。
C语言概念复杂,使用灵活,不能局限于基本语法和规则的掌握,更强调程序设计的思想和方法。鉴于此特点,教师要引导学生重视实践在学习过程中的重要地位,采取适合自身的学习方法,在程序设计、调试分析的动态过程中达到预期目标。
(3)理论联系实践,重视实验环节。
有些老师把实验课完全交给了学生自主进行,教师的任务是为有疑问的同学解决问题,这种方式是极不可取的。实验环节“教师主导,学生主体”的模式仍要贯彻执行。教师不仅要进行讲解答疑,而且要明确教学目标,安排实验任务,分析典型算法和解题思路,鼓励学生独立完成。
(4)加强程序设计思维训练。
程序设计课程的基本任务就是训练学生的逻辑思维和程序设计思维能力。在教学中,要淡化语法、强化算法,把算法分析与设计思想贯穿于程序设计的教学过程中,为以后编写程序、软件设计奠定基础。
(5)培养自主学习和创新思维能力。[1,4]
教师要“传道、授业、解惑”,我认为“传道”即“授人以渔”。教师传授的知识往往是抽象、机械、静止、片面和孤立的,学生不知道如何灵活地综合运用这些知识解决实际问题。因此,培养学生自主学习和创新思维能力,对解决本门课程乃至工作岗位上的问题至关重要。
3.教学内容层面。
(1)针对专业,制订教学大纲。
教学大纲是教学活动的重要依据,要明确学生在知识、能力、素质等不同层面上要达到的要求。不同的人才培养目标必然由不同的知识和技能构成,目前我们缺乏细致的教学研究,除认真分析各专业的共同点之外,更要深入挖掘各专业对程序设计基础能力的不同要求。
无论教材编写得多好,其深度和广度不一定适合本校学生的具体情况。因此,教学内容不能等同于教材,教师应根据教学大纲的要求,认真钻研、补充、优化教材,采取“有所取、有所不取”的策略,精心选择教学内容。
在课程内容的设计上,不宜过分注重语法知识,而应该重点强调程序设计技术的基本方法,要合理选配和组织那些基本的、核心的、重点的内容,做到少而精,对于一般性的、扩展的内容,可以组织学生进行课外自学。
(3)减少验证性实验,增加综合性、设计性实验。
在实验环节设计上,要注意验证性、设计性和综合性实验的比例,在保证验证基本理论和训练基本技能的基础上,增加设计性和综合性实验项目。有些高校在课程结束时增加了实训或课程设计环节,使学生对所学知识综合运用、融会贯通,这将有利于培养学生的创新思维、独立分析和解决问题的能力。
(4)合理设计作业任务。
针对每堂课的知识点,安排适量作业,以便及时强化和巩固所学内容。作业布置要符合学生的学习目标和学习规律,难度和题型要适合学生学习状态,兼顾理论和实践形式,兼顾语法规则和算法设计。还要针对作业中存在的问题,及时适当调整下堂课的教学设计。
4.教学环境层面。
(1)合理运用教学手段。
利用现代化的教学手段,可以丰富课堂教学内容,提高课堂教学效率,降低理解难度,达到直观、快速、标准、深刻的教学效果。然而,要防止对现代化教学手段的盲目和随意使用,为达到不同的教学目标需要选择不同的教学媒体。在适当的时候,“黑板+粉笔”是最佳的媒体选择。
(2)建立课程网站。
课程网站通常提供教学大纲、教学日历、电子教材、授课录像、多媒体课件、实验指导、作业与习题、网上答疑、在线测试及经验交流等功能。有效地利用课程网站可以调动学生的学习积极性,弥补教师在因人施教难免存在的不足,为教学质量的提高起到重要的保障作用。
四、结语
以上是我近十年来在《C语言程序设计》课程教学改革中一些体会。随着社会需要、计算机发展和学生知识结构的变化,对该课程的深入改革是一项长期而艰巨的任务,但只要勇于探索,善于总结,就一定可以取得理想的成效。
[1]董卫红.C语言程序设计的教学改革与实践[J].常州轻工职业技术学院学报,2007,(1):35-38.