时间:2023-03-29 09:26:44
导言:作为写作爱好者,不可错过为您精心挑选的10篇c语言程序设计论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
1.1教学设计概述
所谓教学设计,就是为了达到一定的教学目的,对教什么(课程、教学内容等)和怎么教(组织、方法、媒体的使用等)进行设计。教学设计不等同于传统的备课写教案。教学设计有利于教学工作的科学化,使教学活动纳入科学的轨道。教学设计的意义就在于追求教学效果的最优化,不仅关心教师如何教,更关心学生如何学,注重将人类对教与学的研究结果和理论综合应用于教学实践。教学设计主要包括确定教学目标、组织教学内容、分析教学对象、选择教学形式和方法及教学媒体、设计教学过程、教学质量评价设计等基本环节,其中,设计教学过程是课程教学设计的核心。
1.2该课程教学设计的内容
西安理工大学C语言程序设计课程组于2003年出版了《C语言程序设计教程》及配套的《C语言程序设计教程上机实验与学习指导》特色教材。自2011年开始,非计算机专业选用的教材与计算机专业不同。目前非计算机专业选用《C语言程序设计》(第1版,张毅坤教授,高等教育出版社,2011)作为该课程的教材。非计算机专业C语言程序设计的教学设计是一项复杂的系统工程,主要包括课程教学设计、章节教学设计、课堂教学设计和实验教学设计,以西安理工大学C语言程序设计课程教学大纲为指导,以《C语言程序设计》(第1版)及其配套教材为基础,确定课程教学设计的内容:①将该课程的教学目标确定为“掌握C语言的基本语法和语义,理解结构化程序设计的思想和方法,提高学生的编程能力和调试程序的能力”。②组织教学内容的关键是进行教材的组织呈现,理论教学内容包括《C语言程序设计》(第1版)的第一章至第八章,实验教学体现于该教材的第九章及配套教材。③学生作为教学对象始终是教学过程中的重要角色,工科非计算机专业的种类多,分析教学对象就是掌握学生特点与了解专业背景并重。④重点突出课堂教学设计,传统教学与案例教学有机结合,“讲解+多媒体演示+课堂板书”缺一不可。⑤设计教学过程与“组织教学内容”联系最为紧密,主要包括课堂教学设计和实验教学设计,教学过程设计遵循的总原则是:激发学生兴趣,注重能力培养,合理安排教学顺序,讲清重点与化解难点紧密结合,课堂提高与课后巩固拓展有机统一,并预测教学实践中可能出现的意外情况。⑥将学生评价、同行评价、教学督导组专家评价、主管教学的领导评价和教师自我评价这几种评价的结果综合起来,比较客观的评价教学效果与教学质量。
2教学设计的实践及效果
我们连续多年承担非计算机专业C语言程序设计课程,先后承担过西安理工大学电气工程及其自动化(电力)、水文与水资源工程、印刷工程、包装工程和材料科学与工程等专业的C语言程序设计的理论教学和实验教学任务。始终将上述教学设计的内容贯穿于课堂教学和实验教学之中。C语言程序设计本身是一门实践性很强的课程,加之各个理工科专业的特色鲜明,所以结合学生所学专业特点与需求,同一门课程,针对不同专业的学生,适当调整教学设计内容,并在教学实践中检验教学效果。2012年以来,学生对笔者的教学评分一直在95分以上,也给予了肯定性的评价,例如“采用启发式教学,阐述问题深入浅出,重点突出,能理论联系实际或联系学科发展的新成果”;“对于您的授课方式我们很满意,感谢您对这门课程的热忱,我们会努力学下去”;等等。
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)27-0183-02
目前,高职教学中的考试还是延续了采用试卷化来考察学生的成绩,将成绩的好坏作为衡量学生学习结果的标准。为了更好的进行教学评价方式的改革,适应在新时期教育发展趋势对考试评价提出的要求,就需要引入一些科学化,系统化的评价方式来进行有关课程的评定。S-P表是一种采用形成性评价理念为基础,使用图形化的数据表现形式和强大的数据处理能力的评价法,被广泛地应用在各种类型的测验评价中。本文主要以《C语言程序设计》课程为研究对象,运用S-P表分析法的相关参数计算结果的同时结合理论研究方法,将试卷的测验作为切入点,对《C语言程序设计课程》相应教学内容的教学情况进行分析研究。
1 《C语言程序设计课程》中存在的问题
近年来,高职院校对于C语言程序设计的课程实践教学非常重视,加大了对基础学科的投入,从教材的编写,师资的培养到参加各种类型的竞赛相比有很大的改善,但仍然存在很多的不足,主要表现在以下几个方面
(1)课程学习目标不明确。
在高职的《C语言程序设计课程》教学过程中,发现学生对于课程的认识非常浅,仅仅认为该课程是其他程序设计类课程的基础,具体会对高职的计算机专业的学习有多大的帮助完全不理解,因此导致学生在学习的过程中不够重视。
(2)理论教学过程忽略培养学生的综合能力
在传统的理论教学过程中,都是采用章节式的教学形式,引导学生从循序渐进按照章节来进行学习,在每一章学习的过程中,采用判断题,程序填空题,编程题的方式来进行对理论过程的消化,因此这种效果看上去可以起到对知识点有益的补充,但是缺乏从整体结构上进行把握,忽视了对综合应用能力的考察。
(3)实践教学开展的效果不佳。
目前,高职院校的程序设计主要是教学理论的讲解和上机的实践过程,实践环节的地位始终都是摆在理论教学环节之后,主要是用来对理论教学加强实践过程中的一种表现,因此课程的安排初期,无论是从实践学时的分配、以及实践课程的开展次序来看都明显的弱于理论教学。因此在教学过程中学生对实践过程的教学不够充分重视,造成了在考核过程中有些学生的理论很强,但实践上机调试偏弱,在一定程度上严重违背了程序设计课程的学习宗旨。
(4)课程评价机制落后,严重束缚学生的创新能力。
课程评价一般分为理论评价和实践评价两种方式,理论评价多以选择题,判断题,程序填空题等方式出现,考察学生对于程序的理论知识点的掌握情况,这种方式无法从根本上考察C程序设计的运用,在上机过程中的考核方式由于学生的人数和时间的关系,无法做到对每一个学生进行考察,即使在考查过程中,也往往是依靠程序的正确结果来进行给分,而对于一些错误答案的程序往往不够重视,在这其中可能会导致有些错误的程序往往包含了一些学生的新的思想和想法,这样会严重打击学生的积极性,使得学生放弃自己的想法复制一份结果正确的标准格式代码进行提交,不利于提高对学生创新能力的培养,降低了他们对于学习的热情。
2运用S-P方法分析《C语言程序设计》课程
2.1 S-P分析法简述
S-P 分析法是一种非常好的试卷评价方法,它主要考察学生的学习情况、辅导内容和考试方式为主旨,将考察学生的方式采用图形化的方式进行表达,是一种理论结合实践的验认知诊断评量技术。
2.2课程数据导入
本文将各试卷的知识点对应的成绩作为研究的对象,对原始的成绩进行合并转换,画出相应的 S 曲线和 P 曲线,并采用 S-P 方法进行评价分析。本步骤中所做的工作主要分为两个阶段:
(1)学生成绩的准备。首先,对三份试卷的原始成绩进行收集和整理,将收集好的试卷中的原始题目和成绩进行合并,得到全新的考试成绩表。表中的每个成绩数值对应题目的知识点都不尽相同,为后续的转换组好准备。
(2)将新的学生成绩考试表转换成学生原始得分布尔矩阵。为了更好的进行研究,本文采用的问题平均的得分值作为赋值的标准,所以试卷中题目都需要进行布尔转换,在新学生成绩考核表中分数的转换均需严格按照赋值标准进行判断和转换。
2.3 S-P分析课程课程因素
(1)试卷信任度
本文选取了近三年的三次《C语言程序设计》的期末测试,本次测验根据经典测量理论,即采用分半法来计算相关系数的方法来计算信任度系数值。
计算过程如下:
步骤1:计算出整个测验中每个学生在试卷中的奇数题目的总得分()和偶数题目的总得分()。
步骤2:用下列公式求出奇数题和偶数题这两组分数的相关系数:
步骤3:用如下斯皮而曼-布朗公式进行校正:
依据经典测试理论,本文对三份《C 语言程序设计》课程试卷计算各自的信任度系数值,来进行客观的分析这些试卷的测试结果是否具备真实性。计算的过程是首先对所有参加测试学生的试卷按照题目的奇偶编号进行统计,累计统计每份考卷中的奇数题目的得分,以及偶数题目的得分 ,将这些值导入到 Excel 的环境中对所有的奇数题目总分和及偶数题目总分和以及的值、的值和的值,并分别求得这些值各自的总和,最后将这些结果都代入公式(1) 和公式(2)中即可求得最后的信度系数值。
(2)试卷效度
根据经典测试理论有关效度的分析方法。本研究结合近三年来的三次《C语言程序设计》课程考试答题情况和标准答案的分析得到了三次考试本身的效度情况,其次,对三份试卷的所考察的知识点进行计算和统计,并根据考试教学大纲中的要求进行对比,发现试卷考察的知识基本覆盖所规定的教学知识点。
(3)差异系数
将三份试卷的数据导入S-P表中,按照差异系数公式(3)来计算差异值。
式中:表示差异量,表示正确回答率。
一般来说,考试类型的不同导致的差异系数的值也会不同,一般对应检测学生成果的考试取值在0.5左右,而本次使用的试卷符合这个测试类型。 三次试卷的测试差异系数值为表1所示:
3使用S-P分析《C语言程序设计课程》反馈
(1)学生学习状况方面
统计计算三个班级中参加期末考试的学生的原始分、平均分、差异量三个考试班级中学生的得分率和学生成绩差异情况,对三个班级的学生学习状况按照这些指标进行分类。这种分类是动态的,由多种统计数据划分,将学生的个体与全班的表现对比,可以多角度的了解学生状态,以便他们在考试中发挥出现异常都能帮助授课教师继续分析和追踪。
(2)试卷整体质量方面
本课题中使用的《C语言程序设计》的试卷质量不尽相同,每份试卷的信度和效度都不同,特别是在效度方面,三份试卷的效度都比较高,其次,三份试卷的难度情况和分值情况不同,特别是在2013年的试卷中,P曲线存在明显的断层,这说明该年的试卷在出题方面存在一定的问题。
(3)教学环节和因素分析方面
通过S-P分析得到,任课教师仅仅关注教学知识点是不够的,分析中发现学生和教师对于存在的知识点的学习感受和教学效果是反应到一些具体的教学环节和因素上的,例如学生对于课程的学习兴趣,分析程序的思维能力,教学过程中的多媒体的手段以及课程内容的安排等等,这就要求教师在课程的日常教学实践中能够从教学环节和饮食上进行分析和改进,提示教学知识点的教学效果,这样不仅可以帮助教室解决教学过程中的问题,还可以根据学生的具体情况设计更适合学生的教学方法。
(4)学生能力方面的挖掘分析
使用S-P分析方法对课程的诸多因素进行了分析,课程的评价也是学生的学习能力和学习兴趣的反应,因此使得授课教师加强学生对《C语言程序设计》中语法细节掌握情况的反馈,以及学生具备的基础能力情况,进一步挖掘和培养学生的学习能力。
4贡献及总结
本文以 2012,2013和2014三个年度的《C 语言程序设计》课程作为研究对象,通过使用S-P参数公式得到相关的反馈信息,针对参与考试的学生的学习情况、试卷质量和相应的教学知识点的相关情况进行了分析和研究,得到了如下的内容:
(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 实践教学方法、手段(举例说明采用的各种教学方法及手段的使用目的、实施过程、实施效果)
①建立以转变传统数学逻辑思维方式为结合计算机软硬件特点的计算机逻辑思维方式为主线的,分层级、渐变式的实验教学体系。首先训练学生学习计算机编程的三种基本逻辑,数组等数据的组织方式,学会排序等几个简单常用算法、解决一些简单问题。然后学习把数据和定义在数据上的操作整合在一起引入类的概念、学会类的定义、理解继承、派生、多态、学会模板的定义和使用、学习文件的使用方法。使学生养成良好的程序设计风格、形成计算机逻辑思维模式。
②采用灵活多变的教学方法,加快提高学生的编程能力。实践教学过程中,针对一些具体的例题,先解决基本问题,然后分析对于一些语句进行适当修改和加入新的语句就可以解决类似的其他问题。设计、利用一些实验数据发现所设计的程序的关键性问题,然后引导学生去解决此类问题。因为本门课程是学生接触的第一门实践性课程,教学过程中引出的问题有些是当前阶段可以解决的,一些问题还要通过后续课程的学习提高能力后才能解决,不一定马上就要把问题解决掉、重点是培养学生继续学习的兴趣。激发学生自主学习的积极性、主动性和能动性。
鼓励学生自主组建C++语言程序设计兴趣小组去找协作课题、完成课程设计作业。实验课堂上也鼓励学生多走动、多交流。建立网上资料、技术分享机制、鼓励学生分享解决问题的方法,老师根据学生的分享情况,适当增加学生的平时成绩。
③逐步建立学校和社会的协同培养模式。在教学过程中,课外时间如有可能,适当组织部分学生走出校门,利用校友资源,组织参观企业、科研院所、地方政府等单位在计算机方面的应用情况。了解社会需求、拓展视野、激发学生学习本专业的积极性。形式多样的人才培养协同创新模式。教学团队通过学院与广州易数信息科技有限公司、广东省信息安全测评中心、广州杰赛科技股份有限公司、广州腾科网络技术有限公司等企事业单位建立了长期战略合作关系。这些都为创新型人才培养打下了坚实的基础。
4 实践教学考核方法
本课程的总评价分数包括平时考勤,平时作业,中段考试、期终前上机考试、课程设计与新技术资料翻译,期末考核六部分。分别占10%、10%、15%、15%、10%、40%。其中,平时作业主要是针对课程中每章节后,为巩固所学内容所布置的习题编程实现;课程设计则主要是训练学生的协作能力和解决实际问题的分析、设计、编程能力、要求提交一份相对完整的设计文档;英文资料翻译采用自主选择网络上国外近半年来计算机类的英文资料、鼓励组团分解翻译大块文件,要求每人翻译至少2个A4版面。期末考试通过闭卷方式考核程序设计的能力,期终考试占总成绩的40%。
5 实践教材
本课程的实践教材为本课程主持人及参与人员王玉山等所编著的《C++语言程序设计实践》,该教材现在只有电子稿,还没有正式出版。
6 实践教学环境和教学资源
本课程的实践教学环境为:①学习版的微软公司的Visual Studio Visual C++的集成开发环境。②Bloodshed Dev-C++(C++开发工具)V5.11.0中文免费版。③奇趣科技开发的跨平台C++图形用户界面应用程序开发框架Qt。
教学资源:
①课程概要:课程简介、教学大纲、课程特色、教学效果。
②在线课堂:课程PPT。
③实验指导:实验指导书和实验报告。
④部分大作业选题目录。
⑤C++语言程序设计课程及研究常用、重要网址列表。
7 实践教学效果
经过多年探索和实践,教学团队在人才培养模式、教学方法、实践教学改革、试验教材编写等方面取得了一定的成绩。团队成员发表相关教改论文10余篇,获得过2010年广东省千百十校级人才项目,主持广东外语外贸大学校教学研究课题“毕业设计管理系统”,2010年度、2012年度广东外语外贸大学优秀科研业绩奖二等奖,周咏梅和林华两位老师获得过年度优秀个人。教学团队成员具有丰富的教学改革实践经验和理论基础,保证了本门实践课的教学质量。
通过大作业与新技术资料翻译,提高了学生主动学习的积极性、培养了团结协作精神。提高了解决问题的能力。组织部分学生到相关企业参观、坚定同学们学习本专业的积极性。
指导学生积极开展科研实践和申报项目,获得成绩如下:
①在王玉山老师的指导下,软件系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;加工工艺规程。
Spline Broach CAD and Manufacturing
二、我校的计算机基础教育新旧课程结构的比较
根据高等教育的发展,对我校非计算机专业的计算机基础教学提出了新的要求,相应的课程体系改革为:计算机基础分为大学计算机基础、计算机技术基础和计算机应用基础三个层次,为必修课或选修课。其中:理工类建议选择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学年第二学期开始投入使用。新的考核方法给了学生一个发挥才能的空间,变被动的死记硬背为灵活的实践操作,使学生成为知识的主人。
四、实际作用与效果
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)32-7291-03
目前,计算思维能力的培养已成为计算机教育重点研究的课题之一,作为计算机专业的专业基础课和非计算机专业的公共基础课,《C语言程序设计》是培养学生计算思维能力的理想课程。通过该课程的学习,学生应学会问题求解的基本思路和方法,具有一定的编程能力,并能理解计算机思维的过程和学会利用计算学科的思想、理论、方法和技术解决客观世界实际问题的思维方法,然后把相应的思维与方法内化为“方法论”,更广泛地为工作、学习与生活服务。因此在《C语言程序设计》课程的教学中探索适合培养计算思维能力的教学方法十分必要。
1 计算思维
最早提出计算思维教育理念的是美国卡内基·梅隆大学的周以真(Jeannette M. Wing) 教授,计算思维的概念一经提出就引起了国内外教育界的广泛关注,周以真教授倡导的是系统的加强计算思维教育。计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为[1]。它包括了反映计算机科学领域的一系列思维活动。周以真教授认为计算思维是人的思维,是人们利用计算科学的思想、方法、理论和技术解决客观世界实际问题的思维方法,这与我们强调的培养学生具有分析问题和解决问题的能力是一致的。周教授认为计算思维是一种递归的思维、是一种通过约简、转化和仿真等方法将一个复杂的问题解析成一个我们会求解问题的思维方法、是一种基于关注点分离的方法、是一种采用抽象和分解来进行复杂系统设计的方法、是一种利用启发式推理寻求解答的方法,对于系统的设计要考虑它的简洁和美,对一个程序的评价要考虑它的准确性和效率。计算思维的本质是抽象(Abstraction)和自动化(Automation)[2],反应了计算的最根本问题[3]:什么能被有效的自动进行?周以真教授还认为计算思维不仅仅属于计算机科学家,它应是每个人应有的基本技能,对于大学生来说,我们更应该培养他们的计算思维能力,在大学中应将计算思维能力培养推进大学通识教育之中。其实周教授所描述的计算思维教育一直隐藏在我们的教学中,计算思维教育重要目标之一就是培养解决问题的良好意识,而我们在教学中有意无意地都在培养学生分析和解决问题的能力,只不过在以前的教学中未将这种思维特征显式的表示出来而已。美国计算机科学技术教师协会指出,学校的每一类课堂教学都应该采用计算思维这样一个工具。对于大学一年级学生必修的《C语言程序设计》课程来说,究竟采用什么样的教学方法才能更有助于学生计算思维能力的培养,值得我们探究。
2 计算思维教育与《C语言程序设计》课程教学
计算思维教育的最主要的目标之一就是培养学生解决问题的良好意识,也就是说当碰到实际问题时,就能意识到能否利用计算学科的思想、方法和技术来求解。当学生具备了应用意识以及相关知识,碰到应用领域的实际问题时就会意识到如何去解决。计算思维能力的培养不仅要培养学生解决问题的意识,同时还要培养相应的能力,只有这样才能掌握正确求解问题的方法和技术,才能达到解决问题的目的。所以说计算思维教育不是灌输一大堆概念与知识,而是要注重培养学生解决问题的思想、方法、意识、兴趣和能力。计算思维最本质的内容是抽象与自动化:抽象是通过简化、转换、嵌入、递归等方法将一个较复杂的问题转化为许多简单问题,然后再进行求解的过程[4];自动化是利用计算机的运算能力来实现问题求解,以弥补人的计算缺陷。抓住了这两个核心就能有效地培养学生的计算思维能力。
程序设计类课程是训练学生思维的一个非常有效的平台,计算机专业会开设多门程序设计类课程,但对于非计算机专业的学生来说,一般只开设一门程序设计类课程,所以大一开设的《C语言程序设计》课程对非计算机专业的学生的计算思维和创新能力的培养起着非常重要的作用,事实上《C语言程序设计》课程中的许多知识为计算思维的培养提供了很好的案例。但这门课程目前大多采用传统的教学方法:“先讲授理论知识,然后上机实践”,上机实践的目的也是用来巩固课堂上所学的知识点。随着知识点的增多,大量难理解、难记忆的新概念和新规则的出现,学生会觉得这门课程越来越难学,学习兴趣和学习主动性逐渐下降,学习效率低下。并且这种偏重于理论讲解的教学方法,在一定程度上束缚了学生思维的发展,大多数学生面对实际问题的求解和实际应用程序开发根本无从下手,限制了学生自主发现和解决问题的能力的发展。C语言程序设计课程的主要任务之一就是培养学生的编程能力,编程能力是计算思维和技能化知识的综合体现,而检验计算思维能力的结果就是实践操作,所以在教学中一定要重视实践环节。在实践教学环节要求学生能编写程序解决实际问题,如果学生不能综合运用所学的知识、也没有探索精神,那对学生来说是有一定难度的。如果上机环节没有激发学生的学习兴趣的案例和问题,学生也会感到乏味,从而知难而退。所以,要提高学生的编程能力就要有目的对学生的抽象思维、算法设计、代码编写、程序调试、程序分析等能力进行训练,同时要提高学生的学习兴趣。将计算思维融入到《C语言程序设计》课程的教学中将会改变学生的思维方式,在教学时还应把握一个中心点:计算思维是一种方法论,从方法论层面培养学生求解问题的意识,这样课程就会变得生动有趣了,学生也容易接受。然而,运用什么样的教学方法才能有效的将计算思维融入到《C语言程序设计》课堂教学中,以提高学生运用计算机知识抽象和分解问题的能力,是一个挑战。当然,让学生潜移默化地掌握计算思维,无疑是最佳选择。
3 面向计算思维能力培养的课程教学方法改革
3.1融计算思维于案例教学中,激发学生学习兴趣
我校《C语言程序设计》课程的教学是面对不同专业的学生,所以教学中应与学生所学的学科专业联系起来,对不同的学科专业选用不同的教学案例,通过合适的、面向不同学科专业的实例达到既阐析计算思维,又给出面向特定学科专业的范例教学效果。具体的做法是:先选用合适的应用实例并提出问题,然后由问题引入知识点、由知识点带动语法的掌握、由语法规则推动计算思维的理解。也就是说先让学生对所学的知识产生兴趣,有了一定的感性认识后再提升到理论高度,循序渐进地掌握知识。例如在学习循环结构时,面对体育专业的学生就可举“大奖赛评分”的例子,面对数学专业的学生可选用“求1!+2!+3!+……+20!的值”、“判断一个数n是否为素数”、“打印乘法九九表”等这种与数学有关的例子,面对英语专业、中文专业的学生可选用“从键盘输入20个字符,分别统计出其中大写字母、小写字母、数字字符、空格字符和其它字符的个数”的例子,其它的专业可选用“猴子吃桃问题”:有若干个桃子,猴子每天早上吃前一天剩下的一半零一个,到第十天时只剩下一个桃子,问猴子在吃这些桃子之前共有多少个桃子?由于这些问题或者与学生所学的专业有关联或者比较有趣,学生会由此对所学的知识也产生兴趣,而且这些例子都具有计算思维的显著特征,对培养学生的计算思维是非常好的案例,学生也能在兴趣中主动接受新知识及培养思维。
计算思维是一种问题求解的思维,它将问题求解的过程用程序化的方式表达出来[5],计算思维的自动化是“机械式”的按照步骤自动执行,因此对问题的求解就要有精确的算法描述和严格的符号表示。当学生面对实际问题时,根据已有的知识提出问题求解的方案,并用算法进行描述,然后编写程序,最后用机器来验证问题求解结果。例如对于“猴子吃桃问题”这个案例,根据计算思维的特征和高效,引导学生用计算思维的递归方法发现和解决问题,并引导学生用N-S图精确描述算法,再用C语言中相应的语句编写程序。这样,学生在学习过程中体会递归算法的思想和过程,并掌握递归方法和C语言中相应的知识和语法,当碰到类似的问题就会想到用类似的方法解决问题。
3.2采用多角度思维训练的教学方法,以激励学生的创新意识
《C语言程序设计》课程中计算思维能力的培养主要体现在对学生分析问题和解决问题能力的培养,那在教与学过程中如何培养呢?首先教师要设计一个能吸引学生注意力问题,并仔细分析该例子的代表性、应用性和趣味性,例如对于循环结构这个知识点选用“猴子吃桃问题”是一个很有代表性的例子,学生根据老师提出的问题,思考解决问题的方法,老师适时为学生提供帮助,运用计算思维的各种方法启发学生,对于这个问题可启发学生用递归的方法求解,逆向思维,从后面往前推断。当然,在教学过程中,老师还需要尊重学生的个性发展,鼓励学生提出不同的解题方法,不断启发学生,让他们积极主动的探究学习,使其能举一反三。
程序设计类课程的价值之一在于训练和提高学生的计算思维能力[6],不能让学生只按照老师逻辑思维解决问题,所以学生在设计算法时,鼓励学生对同一个问题设计多种不同的算法,这样有利于培养学生创新意识。当然,还要注重算法的简化和优化,在众多的算法中找到一种最优的算法。例如“百钱买百鸡”问题可用三重循环来实现,但仔细一分析还可只用二重循环来实现,并且循环次数由106降低到104,一个简单的改进让学生看到算法优化的魅力,进一步再启发学生算法是否还可改进?循环次数是否还可以降低?这样采用多角度思维训练方式就可充分调动学生学习的积极性,激发学生的学习热情和创新意识。
3.3融计算思维于实践教学环节中,强化计算思维的训练
对于实践性很强的《C语言程序设计》课程的教学,上机实验应是教学的核心,也是培养学生计算思维能力的一个重要环节,所以在该课程的教学中需重视上机实践这一教学环节。过去常用的 “先讲解程序后上机实验” 这种传统教学策略,一般只能增加学生的感性认识及培养学生的上机能力,不能很好的培养计算思维能力。另一方面,大学生一般对一些具有挑战性的任务具有浓厚的兴趣,所以设计的实验任务尽量要生活化和趣味化以激起学生的兴趣,实验任务还需具有一定的综合性来增强实验的难度,从而强化计算思维的训练。例如在分支程序结构中可以安排火车计费程序或计算个人所得税额程序等。教师在设计实验内容时还要注重培养学生的创新思维,也就是说教师设计的实验内容要适合学生的知识结构和心理特点,同时为学生创新思维留出空间,要求学生勇于探索,并引导学生认真思考寻求多种解题思路,在计算过程中培养学生的严谨性,引导学生对所设计的算法进行必要的优化,然后使用正确的语句编写程序,并通过上机调试与修改程序运行得到正确结果,在研究问题的求解过程、算法设计与优化及程序调试过程中强化计算思维的训练。
4 结束语
将计算思维融入《C语言程序设计》的课程教学中,作为一种教学改革尝试,其目的就是将程序设计中所涉及的计算思维潜移默化的植入学生的日常思维。在教学中从有利于培养学生计算思维的角度重新组织该课程的教学内容、改革教学方法,在教学中注重加强学生计算思维能力的培养,使学生学会问题求解的基本方法,能自觉运用计算思维的方法来解决客观世界的实际问题。虽然在教学实际中取得了一定的成效,但通过这一门课程来形成计算思维显然是远远不够的,作为21世纪人类必备的技能之一,计算思维的培养势在必行。然而,在课程教学中,采用什么样的教学方法能才能更好的培养和提高学生的计算思维能力,依然是值得探索的问题。
参考文献:
[1] Wing J M. Computational Thinking[J]. Communication of the ACM, 2006(49): 33-34.
[2] Goldman C V,Zilberstein S.Decentralized control of cooperativesystems:Categorization and complexity analysis[J].Journal of AI Research,2004.
[3] 董荣胜.计算思维与计算机导论[J].计算机科学,2009,36(6):50-52.
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)19-0111-03
课程是知识的载体,是能力形成的着力点,课程建设的好坏,直接关系到人才培养质量的好坏。
1 课程建设的定义
课程是指教育内容的进程,是为实现教育目标而规定的教学科目及其目的、内容、范围、分量和进程的总和。这是一种广义的理解,狭义的课程是指一门学科。课程建设指的是为了推进教学进程的实现所包含的“师资队伍建设、教学内容和质量建设、教学方法和教学手段建设、教学条件建设和教学管理建设”等与之相适应的各种分量的总和。
课程建设是提高教学质量、深化教学改革的一项综合性的建设,课程建设是确保人才培养质量的最重要的基本建设任务之一,是教学改革的核心。
2 课程建设的内涵、外延及其相关要素的关联
探索和明确课程建设的内涵、外延及其相关要素的关联,是课程建设基础,主要包含以下几个方面的内容:
(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 微课
微课是指按照课程与教学实践的要求,以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点或者某几个知识点(重点、难点和疑点)或教学环节而开展教与学的全过程
它最早是由美国新墨西哥州圣胡安学院的高级教学设计师、学院在线服务经理戴维・彭罗斯(David Penrose)于2008年秋首创的。后来,戴维・彭罗斯被人们戏称为“一分钟教授”(the One Minute Professor)。
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.学生学习目的不明确,学习积极性不高。
一些非计算机专业的学生认为这门课程与所学专业毫不相关;一些计算机及相关专业对编程有所了解的学生认为C语言是过时的语言,应该学一些C++、JAVA等当前主流的语言。还有许多学生习惯于应试教育下的教学模式,一旦遇到困难就会产生畏惧、排斥心理。基于以上种种原因,许多学生对学习C语言没有兴趣,毫无疑问对增强教学效果起到了负面作用。
6.学生学习水平参差不齐。
有些学生基础较差,高中阶段未学过计算机语言,甚至没有接触过计算机;有些学生逻辑思维能力强,不满足于课堂上教师教授的知识;有些学生学习能力相对较弱,理解和掌握各知识点速度较慢;有些学生不重视实验,课前不预习,上机就是机械地打字,课后抄袭实验报告;有些学生反映上课能听懂,上机时不知从何下手;上课开小差、打游戏的学生更是屡见不鲜,等等。面对这些千差万别的教学对象,大多数教师采取折中的方法,即以中等学生的学习能力作为教学的标准,这种“齐步走”的方法使相当数量的“两端”学生逐渐失去了学习的兴趣。
三、对策研究
教学是教与学的总称,教学活动由教师、学生、教学内容和教学环境等四个要素组成,这些因素互相作用,共同影响着教学活动的效果。以下针对四个要素分别阐述提高教学质量的对策。当然,在实际应用中要把它们看做一个有机的整体。
1.教师层面。
(1)转变观念,努力提高自身素质。
教师要树立以学生为本的理念,明确以培养学生的程序设计思维、创新意识和实践能力为目标,努力提高自身素质,尤其是教学设计和实践教学能力,争取成为“双师型”教师。
(2)以人为本,强调因材施教。[2]
教学目标归根结底是让学生学到了什么,而不是教师教了什么。在教学过程中,应以学生为中心,以激发学生的学习兴趣、提高学生的能力为关键,针对学生的需求和特点组织教学,根据学生的反馈及时调控教学进度,同时注重不同层次学生的差异,针对学生实际的认知水平和能力水平,因材施教。
(3)认真钻研,不断改进教学方法。
所谓“教无定法”,教师、学生、教学内容、教学环境任何一个因素的改变均可使用不同的教学方法。因此,教师应认真研究教学规律[3],根据学生基础、教学目标、教学内容、教学条件,对教学方法进行不断深入的改革和实践,方可保证教学质量的稳步提高。
在多年的实践过程中,广大教师已总结了不少值得借鉴的教学方法,如讨论法、演示法、实验法、案例法、发现法等。在教学过程中,不能盲目照搬他人模式,应将各种教学方法相互融合,力求做到深、活、透、新,建立完整的教学模式体系。
2.学生层面。
(1)激发学习兴趣,端正学习态度。
教师通过明确C语言在专业学习中的地位、精心选择教学内容、合理设计教学方法,不断激发和保持学生的学习兴趣。然而,学习不能仅凭兴趣,更要有持之以恒的精神和毅力。特别是随着学习目标的不断提高,困难也会越来越多,此时教师要多加引导,帮助学生克服畏难情绪,端正学习态度。
(2)明确学习特点,强调学习方法。
C语言概念复杂,使用灵活,不能局限于基本语法和规则的掌握,更强调程序设计的思想和方法。鉴于此特点,教师要引导学生重视实践在学习过程中的重要地位,采取适合自身的学习方法,在程序设计、调试分析的动态过程中达到预期目标。
(3)理论联系实践,重视实验环节。
有些老师把实验课完全交给了学生自主进行,教师的任务是为有疑问的同学解决问题,这种方式是极不可取的。实验环节“教师主导,学生主体”的模式仍要贯彻执行。教师不仅要进行讲解答疑,而且要明确教学目标,安排实验任务,分析典型算法和解题思路,鼓励学生独立完成。
(4)加强程序设计思维训练。
程序设计课程的基本任务就是训练学生的逻辑思维和程序设计思维能力。在教学中,要淡化语法、强化算法,把算法分析与设计思想贯穿于程序设计的教学过程中,为以后编写程序、软件设计奠定基础。
(5)培养自主学习和创新思维能力。[1,4]
教师要“传道、授业、解惑”,我认为“传道”即“授人以渔”。教师传授的知识往往是抽象、机械、静止、片面和孤立的,学生不知道如何灵活地综合运用这些知识解决实际问题。因此,培养学生自主学习和创新思维能力,对解决本门课程乃至工作岗位上的问题至关重要。
3.教学内容层面。
(1)针对专业,制订教学大纲。
教学大纲是教学活动的重要依据,要明确学生在知识、能力、素质等不同层面上要达到的要求。不同的人才培养目标必然由不同的知识和技能构成,目前我们缺乏细致的教学研究,除认真分析各专业的共同点之外,更要深入挖掘各专业对程序设计基础能力的不同要求。
(2)依据大纲,精选教学内容。
无论教材编写得多好,其深度和广度不一定适合本校学生的具体情况。因此,教学内容不能等同于教材,教师应根据教学大纲的要求,认真钻研、补充、优化教材,采取“有所取、有所不取”的策略,精心选择教学内容。
在课程内容的设计上,不宜过分注重语法知识,而应该重点强调程序设计技术的基本方法,要合理选配和组织那些基本的、核心的、重点的内容,做到少而精,对于一般性的、扩展的内容,可以组织学生进行课外自学。
(3)减少验证性实验,增加综合性、设计性实验。
在实验环节设计上,要注意验证性、设计性和综合性实验的比例,在保证验证基本理论和训练基本技能的基础上,增加设计性和综合性实验项目。有些高校在课程结束时增加了实训或课程设计环节,使学生对所学知识综合运用、融会贯通,这将有利于培养学生的创新思维、独立分析和解决问题的能力。
(4)合理设计作业任务。
针对每堂课的知识点,安排适量作业,以便及时强化和巩固所学内容。作业布置要符合学生的学习目标和学习规律,难度和题型要适合学生学习状态,兼顾理论和实践形式,兼顾语法规则和算法设计。还要针对作业中存在的问题,及时适当调整下堂课的教学设计。
4.教学环境层面。
(1)合理运用教学手段。
利用现代化的教学手段,可以丰富课堂教学内容,提高课堂教学效率,降低理解难度,达到直观、快速、标准、深刻的教学效果。然而,要防止对现代化教学手段的盲目和随意使用,为达到不同的教学目标需要选择不同的教学媒体。在适当的时候,“黑板+粉笔”是最佳的媒体选择。
(2)建立课程网站。
课程网站通常提供教学大纲、教学日历、电子教材、授课录像、多媒体课件、实验指导、作业与习题、网上答疑、在线测试及经验交流等功能。有效地利用课程网站可以调动学生的学习积极性,弥补教师在因人施教难免存在的不足,为教学质量的提高起到重要的保障作用。
四、结语
以上是我近十年来在《C语言程序设计》课程教学改革中一些体会。随着社会需要、计算机发展和学生知识结构的变化,对该课程的深入改革是一项长期而艰巨的任务,但只要勇于探索,善于总结,就一定可以取得理想的成效。
参考文献:
[1]董卫红.C语言程序设计的教学改革与实践[J].常州轻工职业技术学院学报,2007,(1):35-38.