c语言课程设计小结范文

时间:2023-02-26 19:06:09

c语言课程设计小结

c语言课程设计小结范文第1篇

关键词:MOOC;课程设计;概念图;学习目标;主动;评价

1、MOOC的兴起

2012年是大规模网络公开课程(MassiveOpen Online Course,MOOC)元年,MOOC开始在美国兴起,全球知名大学纷纷加入到MOOC浪潮中,中国的知名高校也不例外。与早期功能单一的在线教育不同,MOOC几乎可以完成传统大学的一切,包括教师按进度授课、学生完成作业及考试乃至为学生颁发相应证书或文凭等。

这种颠覆式的革命使人们越来越意识到MOOC将对传统的大学教育产生巨大冲击。在什么都全球化的今天,MOOC也将教育推上了全球化的舞台,这种变化带来的好处显而易见,最明显的一个特征是打破了教育壁垒,令教育资源平等化。这意味着在世界的任何一个角落,只要有网络就可以接受世界上最好大学的课程教育。

国内的教育家已经认识到MOOC带来的巨大挑战与机遇,国内大学也已经迅速行动起来,努力避免沦为少数国内外一流大学的机构。作为大学教师,我们已经深切感受到前所未有的紧迫感,并开始思考如何在MOOC革命的冲击下设计和变革课程体系。

尽管MOOC不仅有视频辅导材料还有互动评估系统,大规模地冲击着校园教育,但是质疑的声音仍然不绝于耳:有人提出这种MOOC的数字化教育并非等同于个性化学习,会导致教育的单一化、一致化和标准化,培养出的是思想僵化并只追求肤浅、通用知识的学生;还有人提出MOOC方式会让学生缺乏压力和动力,因为学生可以多次选修一门课程,直到通过为止。然而,所有的这些质疑都可以通过校园教育完成和弥补。“精品”的教学内容和“明星”式的教师、个性化的教学和及时的互动是MOOC背景下的必然趋势。新兴的教学模式和教学理念大量涌现,如研讨型教学、翻转课堂、先解决问题后解释、传授学习方法和思维方法等。

计算机程序设计语言课程如C语言课程,是一门受众面广、实用性强的课程,由于每个知识点相对简单和完整,因此它也是适合采用MOOC教学的计算机类课程之一。在新模式和理念的指导下,我们以程序设计语言特别是C语言为案例,对MOOC环境下课程的设计进行一些初步探索和尝试。

2、课程设计与实施

为了达到更好的教学效果,我们需要进行充分的课程设计,为教师和学生制订课程安排,对使用课程资料的整个活动过程进行描述。课程设计在教学过程中需要不断修正和改进,设计的内容包括活动或反馈的要点、指导或讨论的时间、调动热情的方法等。

教学过程应该包含几个阶段一直是教育工作者不断研究和总结的问题,目前比较公认的是BOPPPS模型,该模型将教学过程划分为引入(Bridge-in)、目标(0bjective)、预评价(Pre.assessment)、参与学习(Participatory learning)、后评价(Post-assessment)和小结(Summary)6个部分,简称为BOPPPS。

为了更好地实施BOPPPS模型,我们围绕授课对象进行课程设计,需要考虑概念图、学习目标、主动学习以及评价4个要素。其中,概念图帮助构建BOPPPS模型中的引入(B),建立课程之间的关系;学习目标与BOPPPS模型中的目标(0)紧密相关;主动学习是为了更好地实施参与学习(P);最后的评价体现在BOPPPS模型中的预评价(P)、后评价(P)和小结(S)。

可见,概念图、学习目标、主动学习和评价4个要素贯穿课程实施过程中BOPPPS模型的始终,是增强教学效果和提高教学水平的重要保证。

3、适应MOOC的c语言课程设计

3.1 概念图

概念图是进行课程设计的基础,反映课程中各个知识点之间的组织关系。构建概念图使得教师在进行课程设计时,能够更好地梳理课程脉络,突出重点内容,从而指导课程的进度安排。

教师在构建概念图时,首先需要挑选课程内容中的关键知识点,形成概念并将其罗列出来,接着以层次、网络等方式将这些概念关联起来,形成概念图。在课程教学过程中,需要不断地对这些概念进行必要的评价和修改,并形成新的概念图。对同一课程而言,不同教师有不同的内容组织方法和教学方法,因此会有不同的概念图。即使是同一教师,随着认识的深入和时间的推移,也会令概念图随之变化。

对c语言课程而言,课程的关键概念或知识点比较明确,如语句、控制结构、顺序结构、选择结构、循环结构、函数、递归函数、数组、指针、引用、结构、if-else、switch、for、while等,需要先将其罗列出来。概念有不同的层次和范围,即概念之间有隶属或关联关系,因此需要梳理这些概念之间的关系并建立概念图,我们以控制结构章节的概念子图为例。控制结构概念图如图1所示。

容易看出,在控制结构这一章中,知识点以层次式结构组织。当然,概念图不都是层次式结构,根据不同的理解能够构建出不同结构的概念图,教师在授课过程中可以根据学生的反馈进行调整和修改。

3.2 学习目标

学习目标确定了期望学习者通过课程学习在一定条件下可观察或可量化的新的知识、技能及情感。制订这种定量化的学习目标还有利于后期的课程设计评价。

课程的学习目标通常能够划分为不同的层次。2005年,Bloom按照人的认知层次将学习目标由低到高逐渐划分为记忆(remembering)、理解(understanding)、应用(applying)、分析(analyzing)、评估(evaluating)、创新(creating)6个层次。Bloom建议针对课程内容,在上述6个层次中定量地制订相应的学习目标,提高可操作性。

学习目标有一定的表述规范,1962年,Mager提出制订学习目标应包含3个要素:成效(学生能够完成什么)、条件(何时/何地学生能够完成)和标准(学生能够做到的程度)。上述3个要素必须具体、可度量、明确而清晰,为的是便于教师实施和操作。

结合Bloom和Mager的理论,科学的方法应是在Bloom的不同层次用Mager规范描述和制订学习目标。以控制结构章节为例制订的学习目标见表l,其中认知层次的学习目标成效是学生能够罗列出控制结构的常用语句,条件是当问到控制结构章节内容时,标准是语句罗列的完整程度以及正确与否。在明确了不同层次的学习目标后,教师和学生可以根据不同层次的需要分别制订各自的主动学习方案。

3.3 主动学习

1978年,诺贝尔经济学奖得主赫伯特西蒙说过,“实践与思考是学生学到知识的途径,也是唯一的途径”,这一点对于c语言课程尤为重要。学生想要具备相关领域中的计算机应用开发能力以及利用计算机分析和解决问题的意识,必须主动学习并动手实践。当学生学会自己对问题进行解释,而不是被动地听教师讲解时,学习效果会好很多。

主动学习是指学生在课堂上主动参与与课程相关的活动,而不仅仅是被动地看、听和记笔记。主动学习过程是以学生为主体的教学过程,是以激发学生的兴趣为目标,强调实践和思考的教学方式。学生更多的是通过自主阅读、书写、讨论、实验等方式达到学习目的。

课堂上的互动是教师在授课过程中促使学生主动学习的主要方式之一。课程中互动环节的设计符合大脑工作规律,John Medina博士针对人类大脑进行了一系列研究,他在注意力方面指出两条规律和两个限制:情感刺激规律和要点层次式规律以及单任务和10分钟限制。因此,互动不仅能够充分调动学生的课堂情绪,而且能够将课堂划分成多个短时(10分钟)的子单元,更好地提高教学效率。互动的方式很多,如可以回答问题、画概念图、作研讨报告、讨论、辩论、案例教学、头脑风暴、课堂练习、问卷调查等,其主旨就是要让学生与教师互动,达到激发兴趣并主动参与的目的。

我们提出一种新的教学模式,旨在设计课堂教学与MOOC相结合的主动学习方案,因此提出“翻转课堂”的学习模式:学生在课下通过MOOC视频学习新的知识或内容,课堂上进行讨论、练习或评述等。在具体操作时,教师需要给出具体的讨论内容和课程进度并将学生编配分组。考虑到人脑注意力的10分钟规律,我们将50分钟的课程划分成5个阶段,平均以10分钟为一个阶段进入不同的教学流程。每进入一个阶段,相当于对大脑进行一次新的刺激,以引起新的兴奋点和注意力。

具体来讲,学生可以在下一次上课之前自行观看MOOC视频和预习书本内容。第一节课的5个阶段如下:(1)由学生讲心得,可以画出概念图;(2)由其他组的学生对其进行讲评;(3)全体学生参与讨论,互相提问并回答;(4)教师根据讨论结果进行总结和讲评;(5)再由另一组学生讲评上次布置的作业,然后教师布置新的作业。第二节课主要以实际动手练习为主,教师布置课堂练习并进行实践性指导,学生可以随时提问,由教师或教辅人员进行一对一指导,在课程的最后10分钟,教师进行实践讲评和答疑。需要特别强调的是,每次的课堂表现都计人课程的平时成绩中。

3.4 评价

评价是课程实施过程中阶段性的量化考核,用以反映前一阶段的教学效果。前期对于学习目标的量化,就是为了能够准确而有效地进行评价¨们,因此教学评价与制订的学习目标是紧密结合的。不同于传统考试,评价的方式和目的更加多样化。评价能够为学生在学习过程中提供反馈,也能够为教师获得学生对教学方法的反馈。这些反馈能够帮助教师及时调整课程内容和进度,为顺利完成教学目标提供支持。

根据要评价的对象,如课程实施、实验安排等,罗列出对象的不同评价条目;根据不同的学习目标和授课对象分别划分出高、中、低3个等级,还可以引人Bloom分类法,注明评价条目的所属层次,绘制出表格,以此给出具体而明确的评价结果。例如,可以将表1中不同层次的学习目标按照高、中、低3个层次打分,从而完成这一学习目标的评价,控制结构学习效果评价见表2。当然,教师可以评价学生,学生也可以评价教师,教师根据不同的目的,均可以制订评价方案以及时获取反馈。

综上所述,在MOOC背景下,笔者针对C语言课程的概念图、学习目标、主动学习和评价4个要素进行课程设计初探,给出了具体的设计方案、实施办法及量化指标,为未来c语言课程更好地适应MOOC变革提供准备。

4、结语

随着MOOC的兴起,传统大学教育的观念和方法都会随之改变,如何应对这一变化,提高学生的学习效果,培养基于深厚理论知识系统的实践能力,是教师面临的一项巨大挑战。从笔者的教学实践情况来看,这种教学设计方式确定了课程的实施方案及操作步骤,以提高学生学习积极性和主动性为导引,能够及时获得反馈,取得了很好的教学效果。

c语言课程设计小结范文第2篇

关键词:单片机 实操 Proteus 仿真 课程设计 C语言 改革

一、问题的提出

单片机作为电气专业高技层次的专业主干课程,对全面培养在校生的专业能力起着十分重要的作用。但现行的适用教材几乎都是一样的组织架构,即按硬件结构―指令系统―汇编语言程序―接口技术的顺序展开教学。教师如果按照教材内容展开教学,往往只能介绍基本硬件结构、指令系统和汇编语言程序设计等内容,最后再草草编一个“流水灯”就结束课程。这种形式的教学,势必难以取得令人满意的教学效果。作为非计算机专业的技校生,他们缺乏基本的计算机基础知识,往往坚持听讲几次课后,就会因为听不懂而放弃课程学习,转为睡觉、玩手机。哪怕坚持到最后的那部分学生,课程结束后,还在困惑:到底什么是单片机?它有什么用途?我能用它做什么?

笔者在几年的单片机课程教学反思后,认为该课程必须改革,经过几个学期的尝试、实践,逐步形成了基于Proteus仿真与实操的单片机教学改革思路,并在高技班试点。

二、改革思路与实践

1.以实操为主,仿真为辅

技校学生引以为傲的是具备过硬的实操技能,而非扎实的理论知识。技校必须注重对学生实操技能的培养,一方面动手做比听讲“更有意思”,另一方面实操也是学习单片机的捷径。在实际操作中,有两种方法,一是使用现成的学习板,二是使用万能板进行焊接电路板。考虑到学生在先修课程和实训中,已掌握了一定的焊接技能,因此笔者认为,使用万能板让学生自己进行焊接电路,学习一个模块,焊接一个相应电路,并实际操作、验证,能帮助学生理解并掌握单片机系统的设计,并能从“电子技术”课程平稳过渡到“单片机”课程。

在每个模块教学过程中,教师充分利用当前十分流行的单片机仿真软件Proteus开展仿真教学。利用Proteus软件,可以虚拟真实的设计过程(软件名称:From Concept To Completion),完成从基本的原理图绘制―程序设计―仿真调试等全过程。通过软件仿真,可以产生直观的现象,学生可以获取直观的认识,并逐步熟悉单片机系统的设计流程。

2.以C语言作为编程语言

单片机程序设计语言有机器语言、汇编语言和高级语言。机器语言计算机能直接识别和使用,但对人类而言,则难以理解,因为它全为0、1代码。汇编语言能够直接对底层寄存器进行操作,对深刻认识和学习单片机原理很有帮助,但其实质上是机器语言的“符号化”,依然显得“深不可测”。以此编写简单的小程序还行,若是进行项目设计,会使很多学生头疼,且开发周期长,维护困难。因此,采用高级语言进行单片机开发,自然成为大多数单片机工程师的首选。

C语言是一种结构化语言,按模块化组织程序,具备丰富的运算符和数据类型,可以直接访问内存地址,进行位(bit)操作,实现对硬件的编程操作,既有高级语言的功能,也有低级语言的优势。采用C语言进行程序设计,用户只要大致了解单片机的基本结构、相关部件的结构和特殊功能寄存器即可进行开发,用户如果有需要还可以通过反汇编等手段学习汇编语言,因此C语言获得了广泛的使用。

本着学以致用的原则,笔者坚定认为技工院校的单片机课程必须采用C语言,而非汇编语言。实践证明,由于C语言的简单、易学,学生虽然没学过《C语言程序设计》,但结合项目的案例讲解分析,不断总结,大多数学生均能较好地掌握C语言的基本内容,并进行单片机程序设计。

3.以模块化整合教学内容

传统的单片机教材脱离实际操作,侧重对单片机内部结构的讲解,未能突出实际应用。而且教材中有不少内容,陈旧过时、技术上还沿用几十年前的思路。因此,笔者大胆对教材进行改革,结合学生理解、接收实际,整合出以下单片机教学模块(见表1)。

通过上述模块的学习,大多数学生可以掌握单片机的基本操作、简单的程序设计,并能够形成单片机系统的认识,熟悉单片机系统开发的基本流程。如此,单片机教学目标也就实现了。

4.以课程设计全方位考核

通过各个模块的学习,学生理解并掌握了单片机的基本知识和操作技能,可以自行搭建最小系统,诸如发光二极管、按键灯的简单外设。但这只是相对独立的各个模块,无法真正形成应用系统。因此,在教学安排上,笔者建议安排1~2周时间开展微机控制课程设计。这也是对教师、学生综合、全方位技能的考验。

在设计课程设计题目时,笔者充分考虑到学生的实际情况,力求避免过于复杂、难度大的题目,而偏向于总体难度不大,但具备一定综合性的题目。以笔者的实际经验看,经过1~2周的设计、调试,当学生完成相关任务形成“作品”后,大多数学生的表现是自豪的。下面是笔者给出的几个课程设计题目,每个课题给出相应的控制要求、设计指导,学生可根据自身的学习情况,自行选择设计课题(见表2)。

三、小结

技工院校以“技”立身。笔者结合教学经验、项目经验、技校学生特点,提出一种单片机教学改革思路,并积极探索实践。通过教学实践表明,这种教学改革是可行的,能很好地提升学生的学习积极性、培养学生动手能力、资料检索能力和一定的分析问题、解决问题的能力。

参考文献:

[1]徐爱钧.单片机原理实用教程――基于Proteus虚拟仿真[M].北京:电子工业出版社,2011.

[2]凌明.嵌入式系统高级C语言编程[M].北京:北京航空航天大学出版社,2011.

c语言课程设计小结范文第3篇

一、问题的提出与分析

目前,高职教育在教学内容、教学方法等方面,知识老化,方法陈旧落后,理论与实践相脱节。这迫切要求我们对教学方法方式进行改革。

一段时期以来,教学改革仿佛变成了关于媒体、工具如何在教学中使用的改革。从简单的教学用具,到音像材料,到计算机、多媒体技术、计算机网络等,信息传播通道的改进,使教学内容表达趋于直观,增大了课堂信息量,提高了教学效率,但不能代表整个教学改革的全部内容,这一点在我们的教学实践中得到了证明。所以如何设计目标为导向的教学活动,是我们教学改革研究的重点。

二、改革思路与方案

(一)消除学生对C语言的神秘感,培养学生的兴趣

教师应做好入门阶段的工作,向学生讲授C语言的发展历史、当前的状况,通过举例说明学生们所熟知的某些软件或作品其内在的创作工具是C语言或C语言也可以同样地制作完成,最好能够编写一个小型实用程序,以培养学生对C语言的兴趣,缩短学生所熟知的软件工具与课堂知识间的距离。

(二)精选内容,突出重点,讲清难点

教科书一般内容较多,教师应精选课程内容,确定讲授重点。精选课程内容是提高教学质量的一项重要工作,它是教学内容的核心部分。《C语言程序设计》的核心内容包括C语言基本语法、程序设计思想和程序调试方法。语法是任何一门语言的基础,C语言的语法包括数据、数据类型、运算符、流程控制语句、数组、函数及其调用、变量的作用域、指针、文件等。在介绍这些语法时应该重点讲清楚那些对后续章节影响较大、且在实际编程过程中频繁使用的语法,而不可过多地拘泥于讲解一些琐碎却并无多大用处的语法。C语言和程序设计的学习是相辅相成的,C语言基本语法的学习必须通过必要的程序设计实践才能真正掌握,同样,也只有掌握C的基础知识才能设计出好的程序。

(三)教学方法的改进

在教学实践中,对C语言程序设计的教学方法不断地研究和改革,探索与尝试,在不同的教学环节上,针对不同的教学内容,采用了多种多样的教学方法进行教学,例如启发式教学、讨论式教学和互动式教学以及理论与实践结合式教学,还有边学边用式教学等等。

在课程的宏观教学上通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将知识点都溶化到一个个实训项目的程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握C语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目的编程实践,逐步组建如“学生管理系统”这样的综合性程序系统,并且不断添加功能模块,不断优化设计,使整个系统按照内在关联逐步拓展而成。这样的实践性教学内容与方法设计给项目拓展教学法以实际落脚点,符合认知与学习规律。

在课堂的微观教学上采用实例递进驱动教学法,改变满堂灌的做法,将学生的眼手脑全部调动起来。精心设计实例,给学生一个比较实际的切入点,通过老师的演示使学生感觉能够入手,然后再通过将此实例不断修改、扩充,引导学生参与到程序的编制过程中,在这个过程中,展示学生所作的程序,让学生来评判优劣,吸收优点,修改错误,引导学生进行优化。这样通过一个程序实例的层层推进,引入课程内容,使得学生的每一步学习都有基础,是循序渐进,螺旋式上升的过程。

(四)课程设计环节的把握

C语言由于它的实践性很强,要真正掌握它,课程设计是必不可少的重要环节。要想使课程设计收到实效,一定要根据学生的实际情况,开展不同的教学活动。所以在进行课程设计准备选题时,应充分考虑学生的兴趣,多选择一些学生熟悉的、实用的趣味性强的题目,包括一些简单的游戏。另外,不同的学生根据掌握程序不同,或者根据不同的课时数,活动形式也应区别开来。对成绩好的,课时多的,只给出题目,指导他们去找资料,分组讨论,引导他们的思考方向,由他们自己独立编码调试。而对成绩中等的这部分同学,应给出思路,帮助他们进行整体设计,指导他们编码调试。这样一来,在整个课程设计的过程中,绝大多数的同学都动了起来,都能认真调试程序,他们自己在课程设计总结中都感到很有收获。

三、改革实践的效果

(一)突出了学生主体作用

学生不再是被动的、教师传授知识的对象,而成为了学习的主人。他们可以根据自己的对课程掌握的情况和认知情况,自主地选择学习方式和学习内容。这样使学有潜力的学生可以有更多的学习选择,得到应有的发挥。而学习上有困难的学生,也可得到教师有效的指导,既解决了学习起点不一的问题,又可以充分发挥学生学习的主动性和积极性,变被动学习为主动学习。

(二)体现了教师的指导作用

在这个教学过程中,教师的角色已经转换,他们不再是教学活动的中心,课堂教学也不是教学活动的唯一形式。教师传授更多的是如何获取学习信息,教会学生如何掌握学习的方法,学会学习。教师真正成为学生的启发者、指导者和帮助者。

(三)加强了学生协作性的培养

所有的学生都可以在课堂上、上机练习时或课程设计中,围绕一个主题和问题,大胆地展开自己的想象思维,发表见解,经集体讨论和交流,寻求问题的解决方式。这样可以使参加讨论的每一位学生对同一问题,获得多方面、较深入的认识,有助于思考能力、交往能力的养成,有助于团队精神、集体观念的培育,使学习者为某—相同目标而团结共事的合作精神得到提升。

教学要与科学技术以及社会经济发展相结合,尤其是计算机语言教学,更应与当前计算机应用技术的发展相适应。我们将面临许多新情况和新问题,我们要为计算机语言教育在已有的基础上再上一个新台阶去研究和探索。

参考文献:

[1]谭浩强.C语言程序设计[M](第一版).北京:清华大学出版社.2000.

[2]郭慧玲、胡海芝.《C程序设计》课程教学改革探究[J].电脑知识与技术,2006,(35):201-202.

[3]屈晓.浅谈C语言教学的体会[J].科教文汇(上旬刊),2009,(06):147-148.

作者简介:

刘翔(1982年2月— )讲师、硕士学位,江西制造职业技术学院信息工程系,研究方向是计算机应用。

c语言课程设计小结范文第4篇

中图分类号:G642

摘要:针对普通高等院校工程能力培养过程中实效性差的问题,提出以学生工程实践能力培养为主的自主学习模式和一种渐进式工程能力培养的训练模式,以C语言编程能力训练和数据库工程能力培养为例,从课程的教学模式和方式上进行探索与实践,通过案例驱动编程能力的训练和“初步体验、独立项目实践、从业实践与实训”的渐进式实践教学模式,达到学生工程应用能力的培养目标。

关键词:自主学习;工程能力培养;渐进式;案例教学

0 引言

近年来,我国高等教育规模快速扩大,高等工程教育培养规模已经跃居世界第一,但培养学生的质量和工程素质一直存在问题。现行工程教育模式中存在一些共性问题,如在教学过程中存在重理论教学、轻工程实践、重过程形式、轻能力培养、评价考核机制不科学等问题。普通院校的学生普遍存在基础差和自学能力弱等问题。

浙江传媒学院电子信息学院电子信息工程专业的培养方案中,计算机工程应用能力是该专业的能力培养目标之一。为此我们在多年课程教学实践的基础上,针对计算机工程实践能力的培养,建立高级语言程序设计(C语言)、数据结构、Java语言程序设计、数据库技术与应用的计算机类课程群,以增强工程意识、提高工程素养和工程实践能力为具体目标,以培养学生的自主学习能力为根本宗旨,以4门课为基础提出以学生实践为主的自主学习模式和渐进式工程能力培养训练模式,就整个教与学的管理过程及评价机制开展深入的探索与实践。

1 以学生实践为主的自主学习模式

教学改革的目标是力图实现本科教学模式的3个转变——以教为主向以学为主转变、以课堂教学为主向课内外结合转变、以结果评价为主向结果与过程评价结合转变,这3个转变归结起来就是以能力提升为最终目的。因此,我们对高级语言程序设计(C语言)的教学模式进行大胆改革,探索以学生实践为主的自主学习模式。

高级语言程序设计(c语言)主要讲授程序设计语言的基本知识和程序设计方法,使学生了解高级程序设计语言的结构,掌握程序设计的思想和方法以及基本的程序设计过程和技巧,具备初步的分析问题和利用计算机求解问题的能力。目前,高级语言程序设计(C语言)课程的教学模式仍然是重教轻学和重理论轻实践,教学内容的组织也往往是以语法知识为主线,考试内容偏重语言而不是编程,而编程能力的培养只能通过加强实践达到。

1.1 强化实践教学。激发学生自主学习

传统的课程教学都是采用教师在课堂上讲授知识,学生课后做作业,然后进行几次课内实验的模式。对于这种学习模式,学生只是被动地接受知识,而要掌握c语言程序设计必须进行大量的编程练习。针对传统高级语言程序设计教学模式的弊端,我们彻底改变原来以理论教学和教师讲授为主的教学模式并将其转变为以学生实践为主的自主学习模式,将目前高级语言程序设计(C语言)的64总学时(其中理论44学时,实验20学时)改为96学时(周学时为6学时,课内实验4学时,课外实验2学时);全部采用实验课授课模式,将教学地点从教室移至实验室,不再进行理论授课,而是由学生自学理论知识,然后上机编程,通过这种形式迫使学生自主学习。

学生在每次上实验课前或在课余时间都要自学实验所要求的理论知识,在课内实验中,根据教师给出的实验指导书验证案例,对案例进行改写,进而模仿案例完成实验要求的内容。对于程序中出现的语法等问题,我们要求学生自行查书或资料解决。实验过程中,我们要求每名学生自主完成实验内容,但在整个学习过程中每个班可分成若干个学习小组,小组成员在课内外可合作学习,相互交流讨论和解决问题,一方面提高学习效率并开拓思路,另一方面也可培养团队合作能力,遇到疑难问题时再由教师答疑。

实验平台可采用任一C语言的开发工具,鼓励学生采用在线判题系统(Online Judge,简称OJ),为学生自主学习提供一个更好的平台,学生可利用OJ系统在课内外随时学习。教师也可通过分析学生提交的程序实现代码,发现学生学习过程中存在的问题,及时了解学生对知识的理解和掌握情况,同时也有利于学生间形成互相竞争的机制和一种良好的学习氛围。另外,课程还提供网络和视频教学平台,便于学生更好地进行自主学习。

学生通过自学和进行大量的上机训练,逐步熟悉并掌握c语言的基本语法和使用,具备基本的C语言编程能力。通过这种方式,学生变被动学习为主动学习,很快适应大学的学习方法,培养了独立解决问题的能力、进行程序设计的兴趣和学习专业的兴趣。

1.2 以案例驱动教学,转变教师角色

在传统的教学模式中,教师始终充当主角,大多数教师都会精心组织教学内容,想方设法将知识传授给学生,但事实上,学生在课堂上却往往感到枯燥无味,收效甚微,而在实验课上面对编程题又无从下手,因此教师必须改变观念。授人以鱼不如授人以渔,教师应当更多地承担引导角色,改变教学模式,令学生变为主角,变被动学习为主动学习。

课程教学完全是以学生上机实验自主学习为主,但要在教师的引导下进行。在整个教学过程中,教师拟作2~3次课的讲授,一是为整个课程作入门铺垫,主要介绍课程的教学目标、学习方法、课程概论、课程主要知识点、程序设计思想以及程序的基本结构,使学生了解课程的要求以及课程的教学组织形式,了解C语言程序课程概况;二是讲解如何上机调试程序,让学生掌握判断和定位错误,学会分析、解决错误和测试程序的方法;三是对课程学习过程进行控制并进行总结归纳。

在整个教学过程中,教师要能及时了解学生的学习进展情况,在实验课开始时检查学生的预习情况,在实验过程中适当给予提示或帮助学生答疑,在每次实验课程结束后略加小结,然后布置下一次的实验要求。最重要的是教师要精心设计实验案例和实验课程组织方案,给出能利于并引导学生自学的实验指导书。

实验内容的组织以程序设计为主线,以编程案例为驱动,侧重以编程引导学生对语法知识的深入理解。实验指导书主要包括实验目标、知识点预习要求、实验内容等方面,实验内容包括验证案例程序的详细内容和步骤、要求进行改写的程序以及要求仿写和完成的实验程序。此外,教师还可以另设计一些提高性的内容以供学习能力较强的学生完成。

2 渐进式的工程化实践教学

数据库技术及应用是与各专业应用结合比较紧密的应用技术基础课程,是一门工程性和实践性都非常强的课程,因此我们主要以工程化实践教学模式进行数据库技术与应用课程的教学,根据“初步体验、独立项目实践、从业实践与实训”3个层次实行渐进式实践教学训练。在教学过程中,我们注重培养学生的工程能力,强化学生的工程实践意识,从教学内容的组织和实验环节的设计到课堂教学案例和实验教学的开展,都围绕工程素养的培养进行遴选。

2.1 采用工程案例驱动的理论教学模式

在理论课讲授方面,我们以工程案例驱动模式进行教学,以网上书店的开发案例贯穿教学全过程,将数据库基本原理和设计技术融于案例教学过程。同时,根据浙江传媒学院电子信息工程专业的传媒行业特色,对教材的内容进行优化整合,增加与新媒体应用相关的多媒体数据库等新技术内容,加强数据库工程应用设计及网络数据库应用技术能力的培养。在各章的教学中,我们用案例进行分析,逐层引导,全过程地阐述数据库系统原理及应用中的各类概念和技术问题。

2.2 实行渐进式的工程化实践教学过程

1)初步工程训练体验。

课程的教学除了理论教学外,还有相应的课内实验教学。实验内容分成两部分,一部分是数据库技术的基本实践,主要包括特定DBMS的使用、SQL语言的编程练习以及数据库的连接技术;另一部分是小型数据库应用系统的开发,采用工程化的基本思想,组织学生分组设计实现一个初步的工程项目,培养学生的自学能力、主动学习能力、团队协作能力以及初步的工程实践能力。

在初步工程训练体验阶段,教师提出工程设计的基本功能和性能要求,包括系统界面设计、基本的数据操作和查询统计功能设计、性能指标设计等基本要求。学生可自由组成小组,根据教师要求自主选题并自主选择开发工具和数据库环境,在完成基本功能要求的前提下,可以结合自己的工程项目设计实现一些特色功能模块,然后完成项目设计的总结报告。最后,教师对每个小组的作品进行项目验收,要求每个小组制作PPT进行项目工作汇报并演示所设计的作品,由学生推选出的若干学生评委负责项目评分。工程项目设计成绩作为该小组成员平时成绩的主要评分依据。

2)独立工程训练实践。

独立工程训练实践要求学生在课程设计阶段完成。该阶段要求每个学生自主完成一个真实的或模拟的项目开发实践,以着重培养学生的自学能力、独立从事工程实践的能力、基本的分析问题和解决问题能力。

课程设计阶段要求学生自学数据库开发工具和环境,强调独立设计,强化学生查阅资料能力、自学能力、创新设计和实践能力的培养。在此课程设计阶段,教师除了提出项目设计的基本能力训练要求和设计作品的基本功能和性能要求外,还给出一系列参考选题让学生选择。学生也可以自主选题,但需征得教师同意,以保证选题的质量。为避免抄袭等行为的发生,每个学生的题目和内容必须不同。同时,课程设计阶段会要求学生采用与上一次设计不同的工作模式(C/S或B/S),采用工程化的手段和方法完成基本的设计实现工作。

课程设计完成后,指导教师组织学生评委(7人)对学生作品和设计方案进行检查,最后通过汇报答辩的形式评定作品设计成绩。作品设计和汇报答辩成绩由学生评委给定,教师在设计过程中负责答疑,在答辩过程中负责点评,但教师有权对成绩进行微调。另外,在课程设计结束后,学生要完成课程设计报告,教师对课程设计报告批注评语并给出成绩,课程设计的最终成绩由作品设计成绩和设计报告成绩组成。

经若干次实践证明,上述实践教学方法既减轻了教师的工作任务,同时又促使学生相互学习并取长补短,在促进学生自主学习、主动学习和实践的同时,也提高了学生的表达能力;通过课程设计报告,学生提高了撰写规范的项目设计方案的能力和设计总结报告的水平。

3)从业工程训练实践。

从业工程训练实践主要指学生在企业实习期间,以行业一线的真实工程项目为背景,参与并完成相应的工程项目设计实现工作(或作为其毕业设计),培养数据库工程应用实践开发和运用数据库技术从事服务外包等实际应用开发能力。

第3阶段主要是结合实际数据库工程项目,尤其是与传媒应用密切相关的数据库工程项目的设计与实现工作,如电视节目查询点播系统、媒体资产管理系统、影视资料编目系统等。这一阶段的实践主要培养学生的实际应用能力,帮助其尽快适应社会需求,在离校前具备应对复杂工程实践的基本能力。通过3个阶段的实践教学,学生能够初步具备到一线从事数据库工程及服务外包等项目开发的基本能力。

3 以能力培养为目标的考核评价机制

教学方法和手段中的一些不足之处,不可避免地会导致考核评价机制不科学和不公平现象的发生。多数课程的考试都采用期末笔试形式,课程考试无法真正做到考核学生的实际工程能力,为此改革评价方式宜与教学模式改革相配套。

为使实践训练能落到实处并能给出客观公正的实践评价,我们对于C语言、Java课程以机考为主,采用具有自动评价学生程序功能的程序设计上机练习及考试系统,改变期末笔试的考试形式,在开学半学期后每两周组织一次机考,采用多次开卷机考的方式进行课程考核。通过考试的学生如果不满意成绩,还可以在学期结束前的任何一次考试中重考。数据结构与算法课程考核分为笔试和机考两部分,期末总评成绩建议按照平时成绩占20%、笔试成绩占40%、机考成绩占40%的比例计算。

c语言课程设计小结范文第5篇

关键词: C语言; 程序设计; 教学改革; 课程建设

中图分类号:G420 文献标志码:A 文章编号:1006-8228(2014)11-46-03

Exploration of educational reform of C language programming course

Yao Lixin, Lang Hongtao

(School of Information Technology, Qingdao University of Technology, Jiaozhou, Shandong 266300, China)

Abstract: As a primary course of programming, C language programming is quite difficult for freshmen. In order to deal with it, Qingdao Institute of Technology launched an educational reform project. All the members of this project have conducted continuous exploration and practice during the past few years. The educational team and teaching materials are established. The content and the method of teaching are elaborated. The specific approaches of experimental teaching and reform of examining system are introduced.

Key words: C language; programming; educational reform; curriculum development

0 引言

当前,计算机已经成为人们工作、学习和生活中必不可少的工具,整个社会对计算机的高度依赖促使一个崭新的文化形态的形成――计算机文化。随着高等教育从精英教育阶段进入大众教育阶段,教育部高等学校计算机科学与技术教学指导委员会在计算机基础课程教学基本要求中提出了1+X的课程设置方案[1],理工类学生在学学计算机基础课程后,接下来就要学习C语言程序设计,C语言程序设计已经成为各高校普遍开设的基础课程。本文总结了我们在教学改革和实践中的一些做法和体会。

C语言功能强大,使用灵活方便,应用面广,可移植性好,兼有高级语言的优点和低级语言的特点[2],这也使得初学者较难学习和掌握,在教学中我们发现,学生往往对编程解决实际问题感到困难,不知从何下手,而一些考试题目往往重视考查语法的细节,而对编程能力考查得不多。对于C语言程序设计的教学,我们从培养学生的兴趣和能力,以及计算机思维能力出发,进行了一系列教学改革的探索与实践。

1 教学师资团队建设

人才培养师资队伍是关键,教学团队的建设是保障教学效果和实施教学改革的基础和支撑[3]。根据本课程的特点和大一学生的基础,学院确定了一支老中青相结合的骨干教师组成本课程教学团队,团队由一位教授、一位副教授、四位讲师和三位助教组成,分别承担理论教学和实验教学任务,这支队伍年龄、职称结构合理,团队中的教师在每学期的教学督导和学生评教中,成绩都在良好以上,从根本上保证了课程的教学质量。

坚持教学团队的凝聚力建设,定期研讨,统一思想。每周教研时间及时交流教学中出现的问题及解决方法,对教学过程进行总结反思,坚持互相听课,集体研究讨论教案、课件制作,对每个实验内容、案例的选用、考核的内容和方式等都经过团队的统一讨论确定。

重视教学团队中教师自身的进修和提高,团队中的多名教师先后参加了国家精品课程师资培训、全国高等学校计算机实验与实践教学研讨会、全国高等院校程序设计精品课程教学专题研讨会等,教师都很珍惜每一次与兄弟院校的教师、专家交流与学习的机会,教师及时把学习体会传达到团队的每一位教师,汲取其他院校的一些好的做法运用到我们的教学实践中,这些做法对促进教师的知识更新、教育理论的学习、教学方法的改进和教学能力的提高起到积极的作用,也保证了课程的教学改革能不断向前推进。

2 教材建设

C语言程序设计作为第一门编程语言课程,目前几乎所有高等学校理工科专业都在大一第一学期开设此课程。C语言简洁、紧凑、灵活,数据类型丰富,功能强大,灵活和复杂对初学者来说是难以掌握的,而原有的一些教材大多是针对计算机相关专业的学生,而且是在学习了一些计算机基础的相关课程后再学习此课程的,起点相对高,内容全面、有一定的深度。但是对本科低年级初学者来说并不适用。鉴于此,我们从2009年开始着手编写教材和实验教材,从我院人才培养目标和学生的实际情况出发,注重实践及应用,试用后于2011年出版,并于2013年修改再版,新版教材已列为十二五规划教材。作为适用本科低年级学生初学程序设计及C语言的教材,以掌握C语言基本语法、培养程序设计思维、提高上机实践能力为目标,旨在以简单明了的语言和简洁实用的例子,阐述C语言的基本语法和程序设计的基本逻辑思路。C语言的语法及使用有很多灵活和复杂的方面,对初学者来说往往难以全面掌握,所以我们只对主要的适合初学者入门的知识点进行讲解,其目的是通过C语言的学习与实践,培养学生程序设计的抽象逻辑思维能力,掌握动手编程上机实践的技能[4]。程序设计的抽象性往往使学生望而生畏。选用简单实用的例题,目的是让学生能尽快入门,并对程序设计产生兴趣,能体会到编程和调试的乐趣。

3 优化教学内容,改革教学方法,丰富教学手段

3.1 优化教学内容

对于课堂教学内容的取舍,教学团队首先从指导思想上达成共识,就是重点是编程的逻辑思维的培养,分析问题、解决问题能力的培养,而不是解释语言本身的语法细节,据此来优化课堂的教学内容。对于编程能力的培养,从具体的问题分析,特别是从贴近学生生活的实例出发,进行类比,转化,进而同化到学习者自身的已知范畴中,这也符合建构主义[5]关于学生是如何学习的理论。对于语法规则,通过实际的调试程序、验证性实验等方法,使学生有更直观的感受,印象也更深刻。我们对教学大纲进行反复讨论修订,通过教学大纲贯彻教学改革的指导思想。

3.2 改革教学方法

在课堂教学中采用任务驱动、案例教学、类比教学等启发式教学方法,从一个具体问题出发,引入要讲的概念和知识点,使得学生掌握解决类似问题的方法,注意启发学生与以前所用的方法进行比较,并在此例的基础上进行扩充,改变条件等,渐进式的展开,不断滚雪球似地拓展,学生比较容易接受,不断与已经掌握的知识进行同化。

针对下次课要讲的内容布置学生预习,每次课前鼓励学生就预习的情况作讲解,可以是预习收获,可以就疑问提问,坚持了教师为主导学生为主体的理念,训练学生自主学习的能力,对于学生自学能掌握的问题不讲或精讲,重点放在难点问题上。

建立小组学习模式,培养学生自主学习、合作学习的能力。让学生自由结合组成学习小组,3-4人为一组,每名同学轮流任组长(每月轮换),负责本小组本课程的学习讨论,上机、作业、考勤等,给每个学生同等的锻炼机会,促进后进学生提高学习的积极性,形成互帮互学共同进步的良好学习风气。

3.3 丰富教学手段

课堂教学中综合使用PPT课件、程序演示和板书等教学手段,语法规则以PPT课件为主,问题分析,算法设计辅助板书,程序验证直接运行,直观看结果,章节的开始有提示,结束有小结。避免了单纯PPT课件教学易使学生疲劳并产生课件依赖的现象,提高学生积极参与课堂教学的积极性,发挥学生学习主体的作用。

加强精品课程网站建设,充分发挥网络教学的作用。本课程已经建成为学院的精品课程,利用校园网的平台,培养学生自主学习的能力。课程网站上有丰富的教学资源,有教学大纲,电子教案,教学课件,教学视频等,实现了网上答疑,还建有论坛社区,方便师生之间的讨论交流。

组织程序设计竞赛,培养学生对程序设计爱好和实际能动性。通过每年选拨优秀学生参加数学建模比赛、ACM程序设计大赛,组织有兴趣的学生积极参与,并加以指导,培养了学生对程序设计的爱好,提高了学生解决实际问题的能力。

4 加强实验实践教学,适时安排课程设计

4.1 加强实验课的教学,培养学生实际动手能力

为加强实践教学,独立设置了C语言程序设计实验课程,每周2学时实验课,平时实验室开放,学生可以在课余时间进行上机练习。强调理论与实验并重,在实验内容上安排一些基础性的验证型实验,作为必须完成的项目,帮助学生理解掌握基本的知识点,培养学生动手能力。在此基础上布置一些具有一定难度的题目,面对能力较强的学生,提高他们的综合设计能力。

实验课后学生要撰写实验报告,实验报告内容包括以下几个部分:

⑴ 实验内容;

⑵ 算法描述(要求按照规范画出流程图);

⑶ 源程序代码(注意代码风格,必要的注释);

⑷ 测试及运行结果(包括几种算法讨论);

⑸ 调试过程(遇到的问题及解决办法);

⑹ 收获体会。

对于大学低年级的学生,通过编写、调试程序,撰写实验报告,对于培养他们严谨科学的工作作风、锻炼科技论文的写作能力都起到了积极的作用。

实验课程考核为考查,综合实验出勤情况,实验报告情况和完成实验的情况以及期末综合编程的完成情况评定成绩。

4.2 适时安排课程设计,培养学生创新意识

在学完本课程后在相关专业开设C语言程序设计课程设计课程,本课程是实训类课程,时间为一周,通过多名学生合作完成一个相对比较复杂的课题。锻炼学生的分析问题、解决问题的能力,培养学生团队协作精神,使学生了解软件开发流程、代码和文档编写规范,提高编程能力和创新意识。

课程设计的选题很重要,教学团队经过讨论精选出一些具有一定难度但可以通过学生努力完成的课题,并鼓励学生自选题目,提出切合实际应用的课题,写出分析和需求报告,有指导教师共同讨论通过,自选题目有加分奖励。如有的小组就结合学生实际生活,设计学生综合评测系统,解决他们学习生活中的实际问题,提高他们课程设计的兴趣和完成后的成就感。

在课程设计的过程中,按照正规软件开发的流程和步骤,每一个步骤完成都要提交相应的文档,最后完成时提交程序代码和完整的文档。小组成员有明确的分工,以自主设计为主,指导教师检查每个阶段的成果,并及时给予反馈意见,对难点问题通过讨论引导学生自行找到解决的办法。

课程设计课程的考核采用小组答辩的形式,每个课题由一人主要汇报演示讲解,其他成员都要求回答问题,这样既锻炼了学生的表达能力也避免了不自觉学生跟风搭车现象。

5 改革评价体系,面向实践和应用,注重过程评价

改变过去期末笔试的考核方式,全面考察编程能力、调试程序能力,推行考教分离,注重过程考核。最终成绩由平时成绩和期末考试成绩两部分构成。平时成绩由平时测验、出勤情况,作业情况,讨论发言情况等确定,期末考试采用的是无纸化网上考试系统,由系统从题库中随机组卷,以编程题为主,重点考察学生的编程能力和程序调试能力,成绩由系统自动判定。避免了过去那种靠期末突击、死记硬背侥幸过关的现象,保证了考核的客观公平,也对学生的平时学习和课堂管理起到了积极的作用。

6 结束语

在C语言程序设计教学改革的实践中,我们不断总结,不断地实践,目前已经形成了C语言程序设计、C语言程序设计实验、C语言程序设计课程设计三位一体的课程群,并且与后续的C++程序设计、Java程序设计、数据结构等课程建立了程序设计基础的课程体系,在课程建设、内容优化、资源共享等方面进行通盘考虑。C语言程序设计课程的教学改革与探索方兴未艾,我们还要继续完善和深化以上的一些做法,不断跟踪其他兄弟院校的成功做法,借鉴他人的经验,努力探索适合应用型人才培养目标的课程教学体系,把课程建设教学改革继续推向深入。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会.关于进一步加

强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求[M].高等教育出版社,2006.

[2] 张彩霞,漫谈C语言编程[J].太原大学教育学院学报,2009.1.

[3] 王文.地方工科院校师资队伍建设探析[J].高等工程教育研究,

2012.6.

[4] 姚立新,梁宏涛.C语言程序设计[M].电子工业出版社,2013.

[5] (美)加侬,(美)柯蕾.建构主义学习设计(当代教师新支点丛书)[M].中

c语言课程设计小结范文第6篇

关键词:C语言;教学改革;学习兴趣;主动学习

作者简介:陈一飞(1977-),女,江苏常州人,南京审计学院信息科学学院,讲师。(江苏 南京 211815)

中图分类号:G642.0?????文献标识码:A?????文章编号:1007-0079(2012)35-0063-02

C语言程序设计是计算机及相关专业在程序设计方面的重要基础课程之一。在很多高等院校中,它是学生学习程序设计的第一课,内容是培养学生建立编程思想、掌握编程方法和技巧,为其他语言的学习奠定坚实基础。它也是一些后续相关课程(“数据库”、“数据结构”等)的重要基础。但是由于C语言抽象,逻辑性强,有大量的语法知识,而初学者缺乏计算机程序基本知识。因此,如果在不适当的模式下进行教学,容易使很多学生感觉这门课难学、枯燥,找不到编程的感觉,产生畏难情绪,对C语言的学习提不起兴趣。为了改善C语言教学效果,首先必须提高学生的学习兴趣,使其产生主动学习的要求,而不是被动地接受灌输。本文在如何激发和保持学习兴趣、如何促进学生自主学习方面进行了一些探讨。

一、传统教学过程中存在的问题

总结来说,C语言的教学难以收到预期效果,由以下几方面的原因引起:

首先,就C语言本身而言,其语法结构较复杂、类型多样、表达式丰富、编程风格灵活,与计算机硬件结合紧密。对于初学学生而言,这些特点造成学习过程中理论概念量大且容易混淆的困难,理解起来有很大的难度。同时,真正实现一个C程序需要花时间上机认真调试,这些技巧也不是一蹴而就能获得的,需要点滴的积累。

其次,就学生而言,他们了解到现在流行的开发语言是Java和C#等,在以后的实际工作中需要使用C的情况并不多。同时上课要求学生写的C程序大都没有美观的图形化界面,面对像DOS一样的黑色窗口,这和他们平时接触到的应用程序差别很大。这些差距使学生觉得学习C语言用处不大,因此从一开始对C语言的学习就缺乏兴趣。

C语言的开课时间一般设在大一的第一个或者第二个学期,此时绝大部分学生对计算机软硬件知识缺乏全面了解,再加上C语言本身学习起来有难度,使学生在初学时不能很快掌握算法的思维特点,因此编程能力、调试能力普遍较差,增加了C语言学习的难度。很多学生在这个学习的过程中逐渐丧失信心,非但没有产生编程的兴趣和学习的积极性,还对编程产生惧怕心理,进而放弃学习。

最后,就授课教师而言,讲授过程中会过分注重理论知识的传授。因为语法是C语言的基础,是写出一个正确程序的根本。授课都是以语法知识为主线,这部分内容相对枯燥,很难激发学生学习的热情。而在上机课实践编程时,很多学生往往会利用网络资源和搜索引擎从网上找一段类似的程序应付了事,缺乏自己动手编写和调试的锻炼,最后没有达到学习程序设计的根本目的。

二、多样化的教学方法和手段

面对目前教学中的种种困难,必须对当前的一些教学模式进行改革,对教学方法进行更新,让多样化的方法、手段适应新环境下学生的要求,激发学生的学习兴趣和学习主动性,才能使教学效果得到提高。

1.培养学生的编程兴趣

(1)激发学生的兴趣。兴趣是最好的老师。由于C语言涉及了一种和以往中小学课程学习完全不同的思维方式,一开始学生难免会接受起来比较慢,导致基础知识学习不牢固,直接影响以后的学习效果。所以,采用什么教学方法可以使学生在第一节课就对C语言这门课产生浓厚兴趣就显得尤为重要。教师的主要任务就是让学生喜欢上C语言,产生想用C语言写点程序实现某些功能的愿望。

虽然,现在的学生很早就接触了计算机,但都是用来浏览网页、打游戏或者收发邮件。对大多数学生来说,编写一个程序很陌生。传统教学中,第一节课通常开篇就介绍C语言的重要性、C语言的特点等,这样抽象的介绍只会使学生摸不着头绪。因此在教学中,要化抽象为形象,可以藉由一系列学生平时比较感兴趣和经常接触的例子,比如一个游戏小程序,用较为生动的画面展示,一段程序经过编译就能变为一个游戏,吸引大家的注意。然后使学生感性地体会到C语言是人们手中的工具,用好这个工具就能自如地编写出自己想要的程序。

(2)维持学习的热情。C语言的课堂语法教学是枯燥的。在第一节课介绍的例子所引起的兴趣不足以维持整个学习过程,因此在教学中要采用必要的手段保持学生良好的学习状态和热情。在实际教学中,不妨多选择一些具有趣味性的编程题目,例如“抓交通肇事犯”、“水仙花数”、“猴子吃桃”、“爱因斯坦阶梯”、“魔术师的猜牌术”等一系列有趣且经典的问题。这些问题充满乐趣,有利于引起学生的注意,使其积极主动地思考。教师可以先让学生利用一小段时间讨论,如果自己手工处理的话该如何解答。然后引导学生思考:如果让计算机处理,该如何将思路转化成计算机语言,从而让学生能亲身体会到可以用C语言解决问题的趣味。再对比手工解答过程的繁复费时,让学生体会到编程的实用性。同时这些有趣味的问题在学习之后也不容易遗忘,达到了良好的教学效果。

(3)提升编程的成就感。为了进一步提高学生的编程能力和成就感,可以鼓励学生参加程序设计比赛。现在各种级别和规模的比赛层出不穷,小到校际比赛,大到国际编程大赛。教师可以用以往学生参赛获奖的例子来鼓励学生,激发起学生希望获奖的斗志。同时可以利用一些程序在线评测系统,让学生在课余时间练习,能使学生的编程能力和问题分析能力都得到进一步的提高。

2.驱动课堂学习的主动性

在传统的课堂教学中,所采用的模式通常是先理论后实际,先抽象后具体。也就是说,先介绍语法理论知识,再介绍其在实际编程中的应用。学生基本上是被动灌输,被动学习,很容易产生厌烦心理,难以调动学生学习的积极性和主动性,不利于学生能力的培养。针对这样的问题,可以采用以案例和任务驱动的课堂教学方式,通过案例和任务引出教材内容,重点讲解程序设计的思想和方法,穿插讲解相关的语法知识,既有深度又有广度,同时能培养学生分析问题和应用知识的能力,最终达到学生主动学习的目的。

设计好案例和任务是驱动学习主动获得成功的关键。一方面要以知识为线索,并能围绕所需要的教学内容来组织与设计;另一方面设计的案例也要能贴近学生的日常生活和学习,引起学生共鸣,才能激起学生主动解决问题的热情,在潜移默化中达到使学生理解与掌握某个理论知识的目的。案例和任务驱动教学旨在突出学习方式的转变,以促进学生对理论知识的掌握、提高分析和解决问题的能力。

例如,结构体是C语言学习的重要内容。在后继课程“数据结构”中各种链表也需要使用到结构体,同时这也是学习的一个难点。在教学中直接讲解语法概念,学生往往不容易理解。为了使学生在学习中有感性的认识,讲解结构体这一章时可利用学生当时正在参加微电影评选作为案例,要求学生完成与案例相关的任务。假设有8名评委对参赛的微电影打分,要求学生为评委会编写打分程序,统计每部参赛微电影各项指标的得分,然后分别评选出各单项最高的、综合得分最高的参赛作品,最后打印出获奖的每部微电影的所有信息。

在完成这个案例的任务时,教师可以让学生先讨论,然后提出解决方案,包括如何组织、存储和使用每部微电影相关的所有信息,如电影题目、导演、演员、片长、各个评委的各项评分等等。然后引入结构体的使用,详细讲解结构体在编写程序中组织这些信息的作用。和原来的方案对比,体现结构体编程的优势。同时在这个实际的案例中也可以将结构体和数组类型相结合,综合应用,加深学生对两种数据类型的理解。通过这样的教学过程,从生活中选取案例和编程的题材比直接讲解生硬的概念更能引起学生的兴趣,可以达到事倍功半的效果。

3.丰富上机实践环节

(1)上机的调试环节。现在的C语言教学中已经不仅仅注重课堂的理论知识,上机的实践也同等重要。因此在课程安排上都保证了充足的实践时间。但是,很多学生写好完整的代码后往往忽略了自己分析错误、动手调试的环节。上机调试是发现问题、解决问题的过程,可以通过一些方法增强学生的程序调试能力。一方面可以给出一些程序改错题,包括语法错误和逻辑错误,让学生在上机课上先阅读程序,然后动手调试、练习加断点、观察变量的值等。另一方面,在实践课上,把学习的主动权交给学生,可以安排一些“学生示范”时间。教师可以让一个学生上台调试,操作过程会通过投影仪展示给全班同学,如果讲台上的学生出现编程和调试的错误,可以让全体学生判断和讨论,提出修正的方案,教师最后给出总结并介绍一些避免错误和调试程序的技巧。这样,既了解和训练了学生的思维能力,又调动了学生主动学习的积极性。

(2)课程设计。对于初学计算机编程的学生来说,一个学期的课堂教学时间相对来说比较短,很多数据类型和算法还不能熟练地掌握和应用,教学中虽然有上机实践时间,但实现的程序相对来说规模很小,这个不足可以通过课程设计来弥补。

在课程设计阶段,为了增加学生身临实境的感觉,可以模拟软件公司项目小组的方式,以若干个学生为一个小组,选出一个组长负责,共同完成一个选题。通过这样的方式,一方面可以培养学生完成一个较大项目的能力,另一方面也可以使学生学会如何合理分配工作、团队合作。

课程设计的选题要具有一定的综合性,又要和各章的内容有密切的联系。可以选择实现一个的小型系统,但考虑到后续课程中有很多内容要涉及到系统的设计和实现,为了避免重复,可以考虑选择游戏类如(俄罗斯方块、扫雷)等趣味性的题目。一方面易于理解,另一方面可以学习以往没有接触过的C语言图形编程,激发学生对项目的兴趣,培养学生的自学能力。在课程设计过程中,学生可以在项目小组内讨论,提出合理的解决设计方案,再和教师进行交流,落实实现的策略。教师可以鼓励学生对传统的游戏规则进行改进,开发出有特色的游戏。设计结束后,提交报告。该报告可以用一定的软件工程的规范进行要求,比如提需求分析、整体和详细设计、系统的流程图等完整内容。项目的成功使学生有一定的成就感,有效地调动了学生学习的积极性。课程设计以项目答辩的形式结束,要求项目小组成员在讲台上讲解他们的作品,组织几位有经验的教师作为评委,在台下评分和提问,用这种形式使学生学习的知识更加牢固。最后,可以由学生投票,选出最具人气游戏,增加课程设计的趣味性。

三、多样化的考核方式

大多数高校的C语言课程仍采用单一的笔试考试这种方式。既然在教学中已经突出上机实践的重要性,这种重要性也可以体现到期末的考核中:采用理论考试、上机考试、课程设计多种考核方式相结合。通过上机考试直接体现了C语言学习中动手能力的重要性,也能考查学生调试程序的能力。这种综合考查的方法不再是对语法知识的死记硬背,而是对语法理解力、程序阅读能力、写程序和调试能力、团队协作能力的综合考查,更加全面,更加客观。

四、小结

C语言的教学虽有一定难度,但只要了解学生心理,提高教学的趣味性,激发学生的兴趣与学习主动性,就一定会收到良好的教学效果,使学生的理论知识掌握能力和编程能力明显增强。

参考文献:

[1]谭浩强.C程序设计[M].第三版.北京:清华大学出版社,2006.

c语言课程设计小结范文第7篇

关键词关键词:数据库课程设计;项目驱动;教学方法;考核方法;能力培养

中图分类号:G434 文献标识码:A 文章编号文章编号:16727800(2013)008017402

作者简介作者简介:邱月(1979-),女,硕士,湖北经济学院信息管理学院讲师,研究方向为数据库技术。

0 引言

数据库技术已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是将数据库与软件开发相结合,数据库设计和基于数据库的应用程序开发。为此,课程要求学生选用主流DBMS,自选某种高级程序设计语言,实现一个完整的以数据库为核心的B/S或C/S架构的应用系统。掌握设计实现一个完整的产品化导向的数据库应用系统的流程和方法,包括需求分析、数据库设计、应用程序设计。本文分析了湖北经济学院开设数据库课程设计以来,实践教学环节中存在的问题,结合项目模拟实训教学方法的基本原理,提出了基于团队项目模拟实训的数据库课程设计教学方法的具体方案及实施效果。

1 数据库课程设计教学现状

(1)题目过少不够开放。湖北经济学院是一所财经类教学型学校,开设的主要专业为经济管理类。但目前的题目多数都是老师提供给学生的,题材类似,不可避免地会出现学生相互抄袭的现象。另外,题目呆板,没有和本校的专业特色相结合,选择余地太少。长此以往,会使学生养成不劳而获的坏习惯,不利于学生毕业之后适应竞争激烈的社会。

(2)学生轻分析设计,重编程实现。 学生把编程工作放在数据库设计中的首要位置,轻数据库及其对象的设计,重开发工具的使用。很多学生只重视系统功能模块的设计与实现,缺乏全局观念。

(3)学生缺乏整体意识,团队协作能力不强。在数据库系统开发的过程中,学生对系统没有整体规划,经常把时间都花在需求分析和系统实现上,造成在学生项目后期没有时间做系统测试,这样开发出来的系统必然出现很多问题。

软件开发是一个系统工程,特别强调团队协作能力。如果一个课程设计题目只让学生一个人完成,缺少与他人相互的交流,不利于交流与沟通能力的培养和项目的正常开展。原有教学模式下,学生做课程设计往往单打独斗,没有形成一个团队。

(4)课程考核方式不够科学。老师通常采用平时成绩和实验报告相加权作为总成绩。在这种考核方式下学生是被动地完成任务,不知道所做项目的评定标准,因而积极性不高,也不能通过项目设计有效地提升自己的能力。

2 数据库课程设计基础准备及教学目标制定

2.1 基础准备

综合性的实验课程往往需要很多课程作支撑。在该课程开设之前,前期学生应该已经学习了C、C++等一些经典的程序设计课程,学习了数据库原理及软件工程课程,对于数据库原理课程中的相关概念例如数据库文件的创建、表的建立以操作、视图与SQL查询、存储过程与触发器等进行了相关实验,对于关系型数据库基本概念和特性有一个比较完整的认识。由于课程设计中需要将数据库原理与工程项目相结合设计出具体的应用程序和界面,所以学生还需掌握至少一门前台开发工具,如 、或PHP等,让不同层次的学生选择不同的培养方案,有针对性地进行学习。

2.2 教学目标

结合教材上关于数据库设计的思想和方法,对一些简单的信息管理问题进行必要的分析和设计。在掌握了数据库系统的基本原理和基本方法的基础上,熟悉数据库管理系统的工具及语言。能查阅资料解决数据库技术方面的问题,具备在微软开发平台下进行数据库设计和管理操作能力,培养数据库应用系统开发的基本能力,项目合作、团队精神及小组交流的能力,培养学生运用数据库管理系统解决实际问题的能力。

3 数据库课程设计教学构思

课程组根据学生的实际情况,制定了相应的教学计划。本课程安排在一个学期内,32学时,每周具体安排如表1所示。

3.1 人员安排及开题

把整个班级按照开发小组的形式进行分组,每组4~5人,选一名组长,每个同学承担不同的角色,共同完成任务。在整个过程中,为了达到锻炼的目的,每个同学的角色可以互换。

在选题方面,应充分考虑到学生的专业特色,体现经管类专业的特点,选择具有专业特色的案例,以激发学生的学习兴趣。比如,针对“旅游管理”专业和“国际金融”专业,可以根据专业要求来分别制定教学案例,使学生在数据库课程设计中加深对本专业课程的理解,从而达到数据库课程设计和专业特色融合的目的。在制定选题的过程中,教师应进行充分的调研,与该专业的教师进行讨论,帮助学生选择他们熟悉的题目,如旅游酒店管理系统、学生成绩管理系统、人力资源管理系统等,或者选择学生生活中经常接触、能很快上手的内容。同时,应注意控制题目的规模和难度,使学生经过努力后能在规定的时间内完成。这个阶段可以充分调动学生的积极性,鼓励学生自己选题组建项目小组。这种方式经检验取得了较好的效果。

3.2 需求分析

在此阶段,要尽可能收集课题的全面需求,利用不同小组互相模拟实际用户的形式,开小组讨论会来确定需求,增强学生的沟通能力和开发兴趣,并引导学生自己画出数据流图。

例如,某家工厂的采购部每天需要一张订货报表,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件列出下述数据:零件编号、零件名称、订货数量,目前价格、主要供应者。零件入库应有入库单,零件出库应有出库单,通过放在仓库中的CRT终端把入库单或出库单报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。

当系统比较复杂时,应当采用分层描述的方法。一般第一层描述系统的全貌,第二层分别描述各子系统的结构。如还未表达清楚,可以继续细化。

3.3 系统设计与实施

确定用户需求后,进入系统设计阶段。物理设计阶段应该充分利用表、视图、存储过程、触发器等各个数据库对象的特点,建立一个完整的数据库。要引导学生利用课程设计来熟悉数据库开发的一些常用技术和工具。例如,在数据库课程设计中可以教学生怎样使用Power Designer来做数据库设计。在软件公司实际的数据库系统开发中,有很多工具可以直接完成从数据库概念模型到物理模型的设计和转化。

系统实施阶段,各小组可以选择自己熟悉的程序设计语言动手编写代码,完成系统各个模块的功能。开发语言可选择机房环境,有Java、VB、VC、PB等;数据库可使用提供的SQL Serever2000、DB2、MySQL5等主流DBMS;软件架构两层、三层都可以。教师对各小组学生在设计中遇到的具体问题,有针对性地给与启发式的引导。

3.4 系统测试

系统测试阶段可以选取小组之间交换测试,主要从功能测试、数据库测试两个方面找出系统的缺陷,对软件质量进行评价打分。列出测试计划,往各数据库表中插入正确的测试数据,测试数据插入情况和各种约束作用,并记录结果;往各数据库表中插入错误的测试数据,记录出错结果;在各数据表中修改测试数据,记录测试结果;各数据表中删除测试数据,记录测试结果;创建各权限等级的用户,授予相应的权限,然后按权限等级执行相应操作,查看操作结果是否正确,最后再编写实验报告。

数据库功能测试主要是对界面进行测试,按用户类型进行分部测试,查看每一种类型的用户功能是否有欠缺;用户操作是否符合实际,是否具有意义;尤其是在功能实现上,不同情况,会有怎样不同的处理;查看在出错的情况下,系统如何处理。3.5 完成设计报告

设计报告主要内容要求有系统需求分析(功能模块图)、基本ER图(要求标明主码、外码、联系类型)、用户子模式设计、按模块分析所编写的应用程序等。撰写设计报告前小组中各成员必须对自己的工作进行归纳、分析和总结。小结一般包括工作内容、工作量大小、自己完成情况、遇到的问题以及解决方法、收获与体会、今后努力与改进方向等。教师给出设计报告书写规范,学生根据系统分析设计结果完成该部分内容。报告编写是考查一个学生总结工作、撰写科技论文的能力。该环节考查的重点:报告是否内容完整、充实,条理是否清楚,格式是否符合科技文章规范。

3.6 检查与考核

考核是检验教学成果的有效方式和重要手段,对学生学习和教师教学具有重要导向作用,不同的考核方式能激发学生的学习动机。除了加强平时考勤外,教师还需在每个阶段对各个项目小组进行跟踪检查,对各个阶段的完成情况进行记录。从数据库原理、数据库应用和数据库设计三方面对学生进行综合评测,达到对数据库系统主要内容和框架的评测。具体考核指标权重为:平时表现 (25%) + 任务完成情况 (30%) + 答辩 (20%) + 设计论文 (25%)。同时还要鼓励学生在课程设计后,尽量撰写相应科研论文,积极申报校级学生科研项目。对于能力非常突出的学生,可以建立课外研究小组,让他们参与到教师在研的省部级科研项目中,进一步提升他们的专业技能和综合素质。

4 结语

数据库技术是一门理论和实践并重的学科。课程设计是否成功的标准在于学生是否通过项目开发,将自己所学到的数据库知识运用于实际需求中,是否提高了学生的动手能力。通过两年的教学实践证明,以这种方式开展课程设计更贴近企业实际的项目开发方式,能倡导学生主动参与的探究式学习和研究,改变学生被动接受、大量反复操练的学习和实验方式, 真正培养学生严谨周密的思维和临时处理问题的能力,满足企事业单位信息化建设的用人需求,有效地解决了理论教学与实践教学脱节和经管专业学生数据库工程实践能力薄弱的问题。另外,做好数据库课程设计作业有利于学生毕业设计报告和毕业论文撰写。今后学生面临的毕业设计其实就是一个完整的系统设计,是课程设计的扩大化、完整化,为设计报告的撰写、文献资料的查阅也为今后撰写毕业论文打下坚实的基础。

参考文献参考文献:

[1] 赵慧敏,杨鑫华,牛一捷. 数据库课程设计实践教学改革探索[J].当代教育论坛,2011(8).

[2] 张志锋,王文冰.以就业为导向的学生综合能力培养教改研究[J].计算机教育,2010(11).

[3] 林巧,丁革建.数据库课程设计的项目化实验教学方法[J]. 实验室研究与探索,2009(5).

[4] 李晓娜,朱耀庭.从数据库课程设计看如何培养学生的软件开发能力[J].教育与教学研究,2008(16).

c语言课程设计小结范文第8篇

关键词:项目开发能力;教学过程;实施方法;考核方法

中图分类号:G642 文献标识码:A

1引言

数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广泛的技术之一,已成为计算机信息系统与应用系统的核心技术和重要基础。当前,计算机的计算模式已由单用户发展到主从式或主机/终端式结构、C/S结构、B/S结构,进而发展到了Web服务与网络计算时代,而数据库及其技术一直是它们的后台与基础。

当前国内软件产业发展迅速,为了增强学生的就业竞争能力,必须全面培养学生的软件项目开发能力,以适应时代的发展。学生在大学四年学习中,不仅应该掌握一定的理论与技术知识,而且应该树立管理理念,建立项目工程思维观念。

数据库课程设计是学生实践数据库理论知识,真正掌握数据库应用系统开发技能所必须的学习环节,目的在于培养学生面对大量而复杂的数据管理要求时,具备分析问题和解决问题的能力。我们于2004年完成对数据库课程设计的教学方法改革,不仅在教学手段(包括课程设计的实施过程、考核方法等)上进行了体系化和规范化,而且与“软件工程”课程结合,对两门课程的实践教学环节进行了整合。

通过两课整合的课程设计,不仅使学生在理解数据库理论的基础上,实际动手开发一个实际的应用系统,而且培养学生应有的团队协作、自主管理、主动学习、创新思维、综合运用、动手实践等能力,使课程设计真正成为学生验证理论的“实验场”,成为开发学生潜力、培养实战能力的“战场”,成为体验项目开发过程的“运动场”。

2数据库课程设计的教学方案

2.1基本内容

学生运用已学数据库理论思想和数据库设计理念,具体设计一个实用小型数据库应用系统。开发设计过程按以下顺序进行――自选课题研究方向,调查用户需求,总结归纳数据流程,分析性能,书写需求分析及总体设计报告(包括数据流图、数据字典、数据库概念模型、逻辑模型、系统功能模块),完成应用系统的开发,汇报设计成果(包括撰写设计报告、系统验收、结果汇报),在这一系列工作中树立学生项目开发管理思想,培养学生的综合素质。

2.2进度安排

为使学生充分感受数据库系统开发的全过程,安排课程设计进度如下。

2.2.1前期准备阶段

该阶段主要任务是理解数据库、数据模型和数据库系统的基本概念;掌握数据库的概念模型、数据模型及数据

库系统的设计方法;进而确立自选课程设计题目,并依据软件工程中项目需求调研方法进行系统需求调研,绘制系统数据流程,提出系统要解决的问题。该阶段成果主要包括3份报告。

(1) 系统需求分析报告:包括采用的工程开发模型,数据流图和数据字典,系统功能。

(2) 数据库信息要求报告:对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行详细描述。

(3) 数据库的操作和应用要求报告:详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能划分的模块图。

2.2.2基本操作阶段

主要任务是掌握数据库系统的基本操作,包括SQL语言的应用以及利用DBMS的工具进行数据库定义、维护、查询及掌握数据库安全性、数据完整性和并发控制技术等基本操作,初步设计系统测试数据,并能够正确解决实际遇到的问题。该阶段的成果包括一套系统数据表、关系以及基本数据。

2.2.3技术提高阶段

该阶段要求学生不仅掌握书本上的内容,而且还需要自学一些数据库系统开发新技术和相关知识。主要任务是掌握数据库备份和恢复技术以及有关的数据转换、复制、传送和数据库系统编程技术。该阶段成果为新技术交流讨论资料。

2.2.4设计完成验收阶段

该阶段教师通过3种方式对学生设计的应用系统进行全面验收:系统运行测评、分小组成果汇报和上交课程设计报告。

2.3全程指导原则

在课程设计进行过程中教师仅从宏观上把握一系列原则,让学生自己有更大的可选范围,实践时间长,紧密结合应用,实现了在课程设计中全面培养项目开发能力的目标,体现了新课程教学理念。在方案实施中严格要求学生从理论出发,与实际项目结合,从而提高他们项目开发的综合能力。

2.4评分原则

2.4.1根据数据库系统总体结构对系统从三方面进行评测

数据库原理、数据库应用和数据库设计三部分有机地联系起来形成数据库系统的总体结构,因此对课题设计的评测也从这三方面着手,达到对数据库系统的主要内容和框架的评测。

(1) 数据库原理部分:主要评测学生在数据库的数据结构设计、数据库系统总体设计以及数据库安全保护方面完成的工作。

(2) 数据库设计部分:主要评测学生如何将现实系统的数据通过某种数据模型组织起来,并利用DBMS系统提供的功能,完成结构及其约束的建立。

(3) 数据库应用部分:主要评测现实系统业务逻辑的实现,即通过某种应用模式(C/S模式、B/S模式)和某些(个)程序设计语言、开发技术和工具,在数据库设计以及DBMS平台支持的基础上,实现现实系统的业务功能,为用户提供友好和人性化的业务操作界面。

该环节的目的是使学生对于理论课中涉及的内容和自学内容进行综合实践以达到对它们之间关系的清晰理解,实现理论与实际的紧密结合。

2.4.2严格把关和考核,确保每一名学生在课程设计中得到实实在在的锻炼

由于课程是在学生第七学期开设,并且贯穿整个学期,很多学生面临考研或其他一些毕业前的事务,为了防止有些学生对课程设计任务敷衍了事,我们对课程设计的考核方法进行了详细规划,实施过程考核,而不是结果考核。具体考核步骤主要分为以下几个方面。

(1) 开题阶段:在第1~3周进行,要求每组写一份开题报告,包括课题内容、建立的需求分析及总体设计、小组成员任务分配、具体时间分配计划等,审验合格后方可进行系统开发。

(2) 中期检查:在第8~9周开展,根据计划表检查学生开发进度,纠正问题,督促学生按计划开展课程设计。

(3) 系统验收:在第13周进行,学生演示系统,说明和解释运行效果。考查的重点:每名学生是否完成了分配的任务以及任务量的多少、完成情况等。通过该阶段以后方可进入答辩阶段。

(4) 答辩:在第14周进行,每组学生指派一名代表进行陈述,然后进入教师提问环节(可提问小组中任何一名学生,为了鼓励学生参与提问,凡是提问的学生可以获得成绩加分)。考查的重点:陈述是否清晰、回答问题是否正确。

(5) 课程设计报告:报告的编写是考查一个学生总结工作,撰写科技论文的能力。考查的重点:报告是否内容完整、充实,条理是否清楚,格式是否符合科技文章规范。

以上各个方面考查的结果,进行汇总和综合评判,最后得出评分。

3数据库课程设计的创新点

3.1整合课程

目前在我国项目管理人员奇缺,大多数项目负责人在技术上能独当一面,而项目管理方面的知识缺乏,并且普遍存在着“重技术,轻管理”的思想,因此导致项目开发效率低、花费大。我们在课程设计中结合软件工程课程中学习的项目开发管理思想,对整个课程设计任务进行全面管理与实施,树立工程概念,培养团队合作精神。主要从以下几个方面强调管理理念。

(1) 认真执行需求分析与需求管理。

(2) 合理制订时间执行计划,记录与分析时间分配效果,积累时间分配经验。

(3) 个人分工明确,团队合理协作,通过全过程管理理念的贯彻,提高学生的管理能力,培养学生团队合作进行项目开发的素质。

同时各项目小组在课程设计的各个阶段还需填写阶段性报告,包括项目开发计划、小组角色的职责、需求规格说明书、概要设计说明书、详细设计说明书、项目开发日志等。

通过全过程管理理念的贯彻,提高学生的管理能力,培养学生团队合作进行项目开发的素质。

3.2丰富选题

教师推荐部分设计题目供学生选择,学生也可以自拟题目课题。但是课题的选择要由教师把关,主要依据以下几个原则。

(1) 随着Internet和Intranet的普及,网络数据库应用需求越来越广泛,因此课题注重开发基于B/S或C/S结构的网络数据库系统,以适应时代需要。

(2) 选题要求学生尽量选择实际需求的题目,这样学生不仅可以走出“象牙塔”,通过调查走访,了解国内计算机应用发展的状况,开阔眼界,而且在开发一个真实项目中,带来求学的动力,激发自主学习的渴望以及创造力。

(3) 对于虚拟题目,要求学生切合实际需要,符合发展潮流。

3.3工具多样

市场实际可用的编程开发工具与日俱增,且不断更新,为此在课程设计中,对于学生到底选择哪种开发工具,不做过多限制,鼓励学生自主选择,使学生可以选择自己感兴趣的程序设计工具进行系统开发,一方面锻炼他们自学的能力,另一方面也让学生成为项目开发的决策者,这种“主人翁”意识使得他们变被动学习为主动学习,实践证明学生自主学习的积极性和主动性直接决定了项目开发的成与败。

实际运作中教师会随时了解开发工具的发展形势,提出指导性意见,使学生根据选题“量身订做”工具,避免所选工具“大材小用”;跟上当前发展方向,实践技术“与时俱进”。同时,要求学生以讲座形式分类介绍所用新的开发工具,讲解自己学习新开发工具之后的体会,通过这种研究性的学习方式,避免学生重复学习、盲目学习,同时打开眼界,更加广泛了解技术发展局势。

3.4彰显个性

在完成数据库应用系统基本功能的基础上,鼓励学生运用安全技术、多媒体技术和美术功底等突出系统特色,完善系统性能,培养学生综合运用知识和创新的素质。

主要在以下几方面做进一步要求。

(1) 强调系统中信息安全保护的实现,把理论课中关于“数据库安全保护”的教学内容应用到所开发的系统中,学以致用。

(2) 用户界面友好、设计合理、画面优美反映系统设计人员的审美意识,强调色彩的协调,布局的合理,操作的方便。

(3) 各组之间允许选题相同,但必须突出本组特色,使学生通过竞争,努力发挥个人特长和创新意识。

3.5理论联系实际

系统的评测按照数据库系统的总体结构进行,从而达到对数据库系统的主要内容和框架进行评测,使学生对于理论课中涉及的内容和自学内容进行综合实践,以达到对它们之间关系的清晰理解,实现了理论与实际的紧密结合。

3.6过程评测

课程设计分阶段,每阶段设有检查与评估,既做到及时指导,又确保督促每一名学生在课程设计中得到实实在在的锻炼。考核依据环节的特点进行不同形式的考评,不仅培养学生的语言表达能力、编写技术文档、科技论文的能力,而且可以发现有组织能力的人才。

4实践效果

依据汇总的五轮评测统计表格可以看到,学生在课程设计中,学习积极性高涨,开发出来的系统形式多样,有单机版、C/S或B/S结构的网络版,甚至C/S和B/S结合的网络版,使用的数据库管理系统从小型DBMS,如VFP、ACCESS到大型DBMS,如SQL Server、Oracle等,前台开发工具从传统的Delphi、VB到先进的.Net、Java等,学生们普遍乐于挑选新工具、新技术,积极检索学习资料,参与网上BBS技术论坛,相互讨论,全面体验网络学习环境的乐趣。各组学生除了完成系统应具备的功能外,都在努力突出系统性能特色,完善系统功能,发挥本组同学的特长。各组开发的系统基本符合课程设计总目标的要求,并有几个系统成为他们工作后继续研究的方向。

通过数据库课程设计,表现出大部分学生具备参与一个项目开发的基本能力,并使他们动手实践、自主学习、积极创新等科学素质得到很好的培养,反映出课程设计大大提高了学生综合应用所学知识的素质,说明我们培养的学生具备终生学习的能力,能够适应社会发展的需要。

5小结

学习是人生的一个环节,就业是大学学习后的现实目标。面对严峻的就业形势,培养学生的实际动手人力,提升他们的竞争能力,是教师的责任。在课程教学过程中不断探索新方法,开展课程教学过程的改革,是教师的必须任务。这里所做的数据库课程设计改革,意在与大家共同探讨如何帮助学生摆脱“没有工作经验”难于就业的尴尬局面。

参考文献:

[1] 钱雪忠. 数据库原理及技术课程设计[M].北京:清华大学出版社,2009.

[2] 苗雪兰. 数据库系统原理及应用教程[M]. 北京:机械工业出版社,2004.

[3] (美)Stephen R.Schach.面向对象软件工程[M]. 黄林鹏,等译.北京:机械工业出版社,2008.

[4] 张海藩. 软件工程[M]. 北京:人民邮电出版社,2006.

The Training for Students’ Project Developing Ability in Database Course Design

WANG Yan-hong, ZHANG Xiao-li, JIANG Xiang-gang

(Department of Computer Science and Technology, Beijing Electronic Science and Technology Institute, Beijing 100070, China)

Abstract: Database is the core curricula of the computer science and technology specialty, and the Database Course Design is the necessary learning tache for students to practice the database theory and grip the skills of developing database application system in deed. The paper discusses the teaching process, implementing measures and assessing means of the Database Course Design.

c语言课程设计小结范文第9篇

关键词:程序设计;教学法;问题;对策

中图分类号:TP311 文献标识码: B 文章编号:1673-8454(2012)19-0061-03

程序设计课在教育技术学专业非常重要,笔者认为程序设计课除了让学生掌握基本的语法知识外,更重要的是让学生掌握算法的基本思想,能够解决实际生活中的程序设计问题。

一、程序设计课教学现状

1.教学过程中存在的问题

通过查阅大量资料,笔者发现程序设计课教学总体上过分注重计算机语言知识的讲解、机械式训练,缺乏对学生语言运用能力的培养,课程内容与实际的生活联系不够紧密。教学中忽视对学生提取信息和处理信息能力的培养,忽视对学生分析问题、解决问题能力的培养,单一的、“满堂灌”的教学方法和被动的学习方式难以形成综合的语言运用能力,难以开发学生的思维能力和分析问题、解决问题的能力。[1]

通过多年的《C程序设计教程》[2]、《Visual Basic 程序设计》[3]及《Java 程序设计》[4]的教学实践,笔者发现了教学过程中的一些实际问题,例如:教师上课PPT用的多,讲授的内容多,学生难以理解;学生听的多,做的少,下课后面对众多的内容无从下手,学习热情慢慢减弱。很多学生在实践课上不动脑筋,纯粹是验证程序,有些学生甚至在没有理解的情况下就算完成调试任务,课后不会自主学习,同学间缺少合作。

2.存在问题形成的原因分析

(1)课程本身的原因

程序设计课,学生在初高中阶段接触少,入门难。

程序设计课本身难度大、综合性强,要求学生有较好的逻辑思维能力。

程序设计课注重算法思想的形成和实际问题的解决能力。而原来初高中知识以识记和理解为主,两者之间学习模式不一样。

(2)教师方面的原因

教师为了让学生掌握程序设计知识,过于注重细节和语法规则,而忽略了算法思想的形成、思维能力的培养以及解决问题能力的培养。另外,教师在每节课教学内容的安排上,由于受课程内容和教学时间的双重限制,造成每节课内容太多,对学生来说就会产生一定的认知负荷。

(3)学生方面的原因

学生学程序设计不应该像学数理化课程一样死记语法规则和公式,而应该把握程序设计的核心思想——算法。学生自身受初高中学习习惯的影响,不会自主学习,事事都要依赖老师。而学习计算机语言要多学多练多看,程序是编出来的,不是老师上几节课就能教出来的;同学之间也需要养成协作学习的好习惯。

二教师在程序设计课程中的对策与方法探析

1.以系统科学理论为研究方法,科学安排教学过程

系统科学理论要求把事物当作一个整体或系统来研究,并用数学模型去描述和确定系统的结构和行为。系统论强调整体与局部、局部与局部、系统本身与外部环境之间互为依存、相互影响和制约的关系,具有目的性、动态性、有序性三大基本特征。[5]

这些理论用在教学过程中可以指导教师的教学和学生的学习。在教学过程中,教师布置任务要适度,既不能太难,也不能太容易,要做到让学生跳起来摘桃子;对待学生更不能一刀切,要对学生模底,因材施教;学生分组进行课题研究,需要学生之间分工协作,统筹安排。因此学生学会了自主学习和协作学习。例如,我们针对学生的实际情况,在设计项目的时候按照学生基础不同、兴趣爱好不同、技术基础不同对Visual Basic 程序设计课程中的学生进行分组,分为:游戏组、教学开发组、社会服务组等项目组。改变了教学方法后,课程的教学质量明显提升,教学效率明显提高。

2.不断创新教学方法,提升教学质量

在程序设计课中如何创新教学方法,笔者认为提升教学质量是关键因素。

(1)项目引导、任务驱动

项目教学以“项目引导、任务驱动”为主要形式,将实践项目贯穿于教学的始终,用实践任务进行新知识的引入,激发学生学习的原动力。[6]

笔者把原来每节课的任务驱动转换成课程的综合设计——项目引导、任务驱动模式。比如,在上Visual Basic程序设计课的时候,课程一开始,就给学生设计了若干项目:《试题自动抽取系统的开发》及《学生成绩管理系统的开发》等项目,并说明这些系统开发过程中要用到Visual Basic的相关知识,从界面的设计到过程的调用,从菜单的开发到数据库的调用,几乎每个知识点都用得上,这样学生就有了明确的学习目标,在学习每一部分知识的时候就会留意该怎么用上去。学生在学习过程中,既能把握整体知识又能掌握各个知识点,这种教学效果很好。学生在交作业时,开发出了很多实用的系统。《试题自动抽取系统》(如图1所示)已经用在各门课的试题库建设中,《学生成绩管理系统》也已经部分试运行,《汽车销售系统》已初步成形,可供其他单位使用。一些游戏软件稍加修改,就可供游戏爱好者使用。

(2)综合利用媒体资源,创新教学模式

C语言教学采用的教学方法是“多媒体+板书+上机调试”的形式,这一教学方法的使用,提高了教学效率,丰富了教学手段。

在Java课堂教学中,我们尝试了用QQ工具进行教学。例如在Java程序设计课的教授过程中,让同学们安装Java开发机,教师把软件包准备好,放在QQ共享中,学生下载安装就可以了。安装过程中学生看不清路径,教师直接就在QQ 群中通过即时消息框把路径发给学生。在多媒体制作课程教学中,遇到文件扩展名不一致的问题,教师引导学生从网上下载“格式工厂”,学生很快就掌握了转换方法,把多媒体制作学会了,还能举一反三到其它知识的学习中。因此,综合利用媒体资源进行教学,也是程序设计课教师创新教学模式不可或缺的一部分。

(3)改变课程评价方法,促进教学质量提升

我们在教学过程中对考试模式进行了修改,由原来的教师出题考试变成了试题库,而且可具体到每一章节,试题实现自动抽取(如图2所示),[7]这样学生可以随时检验自己的学习效果,便于及时发现问题、解决问题,使其学习效果得到极大提高。

(4)肯定学生能力,挖掘学生潜力

在上Visual Basic程序设计课时,当教师给学生设计项目时,学生几乎还没开始学习这些课,学生们担心在期末时,根本无法完成老师布置的任务。这时,老师一定要给学生足够的信心,通过梳理以前的知识,找出学生可用知识和需补充知识,还需给学生明确几本实用的参考书,这个过程教师一定要精心组织、认真安排、循循善诱,决不能布置下任务就算完事。例如:在Visual Basic程序设计教学开始之时,我们就给出了两本参考书,并划出需参考的章节,这样学生就可一边学一边做,既培养了学生的自主学习能力,又教会了学生开发系统的方法,为其以后走向社会打下了坚实的知识基础和技术基础。

三学生在程序设计课中的对策探析

1.培养学习兴趣

学生在刚开始接触课程时,需要有一个入门的过程,因此要着意培养他们的学习兴趣。具体应从以下几方面着手:

(1)明确学习目标,激发学习动机

学生有了明确的学习目标,学习过程中才会有的放矢,才能持之以恒,否则就会得过且过。比如:C语言程序设计是其它语言和计算机软件的基础,C语言程序设计掌握了,Java语言学习有了好的基础,Flash中的结构控制就容易理解了,同样网页制作中的控制结构就好理解了;如果C语言程序设计学不好,后续课程的学习将会很困难。只有让学生知道了C语言程序设计课的重要性,明确了学习目标,才会激发他们的学习动机。

(2)与实际生活结合,引起学习兴趣

不管是C语言还是Visual Basic程序设计,都是为解决实际问题而学习的。学生在学习时,一定要从实际生活中找问题、解决问题。从简单问题入手,从实际问题出发,才能引起学习兴趣。例如:对数的排序,不仅可以解决比赛排序问题、成绩排序问题,甚至还可以解决图书资料的排序问题以及试题提取中试题的排序问题。这样从实际生活的需要出发,学生的学习兴趣就会越来越大。

2.学会循序渐进

万丈高楼平地起。其实学程序设计语言没什么诀窍,除了多看、多想、多练、多编,没什么好的捷径。这就要求学生要学会在教师引导下循序渐进。从基础开始,先编顺序结构、再练选择结构和循环结构,当这些基础打牢了,再学数组、函数和指针就容易多了。

3.改变学习方法

在初高中学习阶段,教师的主导地位比较明显,不管什么课,教师都会反复多遍讲解以促进学生的理解和记忆,而大学教育,学习的内容多,知识量大,教师不可能像高中学习阶段那样一个知识点讲很多遍,学生必须改变学习方法,适应大学教育。大学有很多的网络课程和论坛供学生学习和讨论,学生要学会自主学习和协作学习,教师在教学过程中起主导作用,学生除了被动的接受学习外,还要学会自主学习、协作学习和发现学习。

4.认真做好课程设计

每一门程序设计课程的学习,最终结果都要体现在课程设计中。比如:C语言课程会让学生统计本学期班级成绩和排序,学生只有认真做好课程设计,才能掌握程序设计方法。Visual Basic程序设计,学生要开发《试题自动提取系统》、《成绩管理系统》等项目,而Java程序设计课,学生要设计基于Java程序设计的网站开发和数据库利用,学生只有把这些课程设计做好了,学习的知识才能得到应用和巩固,如果仅限于课本知识,程序设计语言是学不好的。因此学生一定要开发设计系统才能把计算机语言学活用好。

四小结

本文通过对程序设计课的探析,总结了教学过程中存在的问题,并针对存在的问题,从教师教学和学生学习两方面提出了相应的对策,对教师的教学和学生的学习有一定的参考价值。?

参考文献:

[1]马学梅.《C程序设计》课堂教学探讨与反思[J].科技经济市场,2008(10).

[2]谭浩强.C程序设计教程[M].北京:清华大学出版社,2007.

[3]余华,何玉香.Visual Basic程序设计[M].北京:北京理工大学出版社,2005.

[4]刘宝林.Java程序设计与案例[M].北京:高等教育出版社,2004.

[5]戈.老三论·新三论[J].教育发展研究,1987(1).

[6]童克波.“项目引导、任务驱动”型教材编写创新研究[J].实验科学与技术,2011(4).

c语言课程设计小结范文第10篇

关键词: 一体化教学 课程模式 任务驱动 考核机制 以赛促学

一体化教学改革已经在广大职业教育院校广泛开展,所取得的成效已经逐步体现。一体化教学中,学生提高了学习兴趣,学习的积极性、主动性得到了充分调动,知识的掌握更牢固,运用能力更强。为了推进和全面开展一体化教学,计算机专业的一体化教学改革迫在眉睫。

数据结构很多是用C或类C语言描述的,所以在传统教育中,通常先开设C语言课程,随后的学期中学习数据结构,但在实际教学中发现存在以下问题:一是先学的C语言注重语法的学习,没有太多实际应用,掌握不够牢固,在下学期学数据结构时需要花很多时间复习C语言的知识;二是花时间复习C语言,自然就会占用学习数据结构的时间,导致数据结构讲授时时间仓促;三是过多的语法和细节的学习并没有让学生觉得掌握好了C语言,反而觉得太过琐碎,难以掌握。为了解决上述问题,我们把《C语言程序设计》和《数据结构》这两门课程整合,并进行一体化教学改革,具体从以下方面开展和实施。

一、针对学生特点,设计课程模式为“由果到因”

教学是教师的教和学生的学所组成的一种人类特有的人才培养活动。传统教育中,教师是教学主体,传道授业解惑,这种方式强调教师的主体地位,侧重考虑教师所教授的知识和方法,而忽略了学生学习的主观能动性,我们俗称“填鸭式”教学;现在的教育倡导以学生为主体,充分调动学生的主动性和积极性,让他们从原来的“要我学”转变为“我要学”,这样可以大幅提高学生的学习效率,取得更好的效果。另外,职业院校的学生普遍存在基础薄弱、自觉学习能力较差的现象。基于上述理念,课程模式设计为“实例―理论―设计实例”,即教师先给出实例让学生模仿操作,操作过程中或操作后(依据不同实例的具体情况确定)讲解实例相关理论知识,然后让学生自己设计实例。通过模仿―学习―应用的过程,达到学以致用。

如C程序的入门,传统的课本都是先讲授C程序的结构、数据类型、运算符、表达式,直到顺序结构程序设计讲完,学生才可以自己写简单的程序,这个过程大致需要8到10个学时的理论学习,如此漫长的时光中,很多学生已经失去了学习C语言的兴趣,等到让他写程序的时候,大部分学生很难写出来。改用新的方式后,简短地对C语言进行介绍后,就给出几个经典的程序,让学生上机操作,熟悉上机环境和C程序的调试方法。学生在操作过程中,切实感受到程序在计算机中的运行,并看到运行的结果,这些直观的冲击会让学生保持良好的学习状态和持续的求知欲望。然后讲解C程序的结构和实例中用到的数据类型、运算符等理论知识,为学生答疑解惑。有了基本的概念后再模仿已经操作过的实例,自己设计程序完成指定的任务,实现复习、巩固和灵活应用的既定目标。

二、使用任务驱动模式,依据课程内容,合理划分任务

为了配合第一点的实现,将现有的《C语言程序设计》和《数据结构》课程进行整合编排,设计如下几个任务:C程序入门、程序设计的三种结构、顺序表、链表、堆栈、队列、树、排序、搜索、图。各个任务进一步细分,划分成若干个子任务,方便具体实施,如顺序表又分为顺序表的创建、插入、查找、删除等。

任务的划分是一体化教学改革中的重点,任务的难易程度、规模的大小、实例的选择,都直接关系到课堂的组织、学生的学习效率、学习的积极性等,这些因素都直接影响教学效果。要做到任务划分合理、实例选择得当,需要注意以下两点:第一,任务划分要经过专业教师的讨论和分析,条件允许的话,最好请企业的专家进行指导,得出哪些内容是需要整合的,哪些内容是需要拆分的,拆分到哪些任务中是合理的,便于教学实施,有利于在以后的学习和工作中应用。第二,每个任务下的子任务拆分要合理,规模大小要尽量适合每次课(一般为2学时)的实施;实例的选择要遵循从简到难、循序渐进的原则,并能通过两到三个实例将相应的子任务的内容分解。同时应该考虑到学生的兴趣,尽量从学生感兴趣的实例入手,提高学生的主观能动性。

三、理论知识做到够用就好,最好随时补充

传统教学中,我们习惯于先把理论知识全盘讲给学生听,要求学生理解、掌握,然后会应用。实际教学过程中,枯燥的理论知识很快就会让学生感到厌烦,他们不等你把这些知识讲完,就已经将注意力投入到了其他跟课堂内容根本不相关的事物上。结果大部分学生只掌握了整堂课中小部分的内容,教学效果很不理想。采用任务教学后,学生首先拿着程序上机操作,在做的过程中会发现不懂的地方,随之产生这是什么,这个可以做什么的疑问,从而吸引学生的注意力,提高课堂教学效率。

以前教C语言,我发现到写顺序结构的程序时,学生写程序无从下手,帮助他回忆程序书写的整个过程,其实只需要三分钟的时间就够了,我疑惑:既然短短几分钟就能够让学生了解程序的基本组成,为什么先前要花那么多时间讲?最关键的是,讲的那些理论知识,根本就没有几个学生能掌握,效率极低。由此得到启发,不如先让学生操作,然后探究为什么这么做,这样顺理成章地将理论知识传授给学生。显然这时候的理论讲解要简明、扼要,切忌长篇大论。当然,这样也会产生一些问题,理论知识会被分割得支离破碎,没有系统性。目前我们采用的是一个任务结束后让学生讨论、总结,教师补充的方式将相应的理论知识串联,使之完整和系统化。课堂上当学生有疑问或用到已学过的知识时,也要随时补充和复习,通过多次强化,帮助学生牢固掌握相应的理论知识。

四、防止“重操作、轻理论”

在任务驱动模式实施过程中应避免出现“重操作、轻理论”的状况。也就是片面强调学生的动手操作而忽略了理论知识的传授。教学过程中,教师对于整个课堂的组织把控显得更重要。尽管我们强调课堂的主体是学生,要充分发挥学生的主观能动性,但并不是让学生放任自由。教师应在课堂中做好组织引导工作,合理划分时间段内任务,让整堂课有序、有效进行。如可以将一堂课划分为操作、同学讨论、教师小结、设计实例等环节。将理论知识渗透在每堂课中,学习了这些操作中遇到的理论知识后,能够运用这些知识设计实例,而不是简单机械地重复操作,达到理论指导实践的目的。

五、制定完备的考核体系,保证教学顺利进行

为了监督学生保质保量完成每个任务,并保持一定的积极性,需要对整个教学过程进行有效监督和管理。传统教学中结果考核显然已经不适用于任务制教学模式,而应该采用全新的过程考核机制。过程考核的细则在制定时要考虑到学生的操作能力、态度、学习效果等因素,使考核起到监督学习过程、端正学习态度、肯定学习效果、促进学生努力的作用。良好的考核机制可以有效保证教学的顺利进行,防止课堂监管失控。学生在被考核的过程中,会更好地约束自己,更好地实现自我管理。

六、适当开展竞赛,以赛促学

积极鼓励学生参与技能竞赛。技能竞赛既能起到交流经验、切磋技艺的作用,又能调动教师和学生钻研技术、提高技能的积极性。为了使竞赛取得良好成绩,应营造能促进学生学习的氛围。这样以竞赛为学习目标,以竞赛的成绩作为奖励,从而促进日常教学活动顺利开展。

七、配套合理的课程设计,提高综合应用能力

课程结束后,还应该进行相应的课程设计,使学生对所学知识的理解不断深入,并能综合应用,学以致用。课程设计应从易到难,循序渐进,为学生学习期满的毕业设计打下良好基础。通过实际应用,也为日后的工作打下坚实基础。

上一篇:生态文明建设作文范文 下一篇:诗歌朗诵词范文

友情链接