c语言程序范文

时间:2023-10-17 15:14:19

c语言程序

c语言程序篇1

1、数据类型。

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2、常量与变量。

常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3、数组。

如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

4、指针。

指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。

5、字符串。

C语言的字符串其实就是以''字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。

6、文件输入/输出。

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件;中。

c语言程序篇2

关键词:《C语言程序设计》;教学内容;实验内容;课后思考;考核方式

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)20-4917-01

《C语言程序设计》在各高等院校广泛开设。不同学校的学生对这门课程要求不一样,对一般本科院校的学生来说,这门课程难度偏大,学习起来有一定困难,不易学习!随着课程教学的改革,许多学校对这门课程课时进行了压缩,教师根据课时也进行教学调整,随着课时减少,很多学生没有养成自学的习惯,导致教学效果不理想。《C语言程序设计》对大部分学生,是接触的第一门计算机语言课程;它学不好,直接影响到学生后面对计算机学科的学习,数据结构、算法分析等课程也就很难开展。根据以上现象,本文拟从教学内容、实验内容、课后思考以及考核方式等方面进行探讨,提出《C语言程序设计》教学改革方案;期望跟任课教师交流学习,共同提高教学质量,培养学生C语言的编程能力。

1 教学内容调整

由于C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者感到困难,迫切希望能找到一本容易入门、容易学习的C语言教材。对目前国内各高校使用教材分析发现,C语言教材章节安排一般如下:C语言概述,算法,数据类型、运算符与表达式、顺序程序设计、选择程序设计、循环控制、数组、函数、预处理命令、指针、结构体与共用体、位运算、文件等[1]。这样的安排很符合学习逻辑,但很多教材数据类型、运算符与表达式论述过多,弄的很复杂,在没有计算机组成原理的知识背景下对数据类型、码制等问题的学习,几乎不可能做到真正理解;如果在这些内容花过多篇幅描述,或花过多时间讲解,会把学生刚从第一章中学习了几个C程序例子激发学C语言的激情慢慢抹灭,甚至有的学生因为理解不了,对学C语言产生害怕的心理,不利以学生的学习。

针对上述问题,对教学内容调整如下。第一章概述精细讲解几个例子(输出、2个数加法、2个数最大数),第2章只精细讲解一个例子(5!阶乘),其他的例子简单讲解,第3章讲解数据类型时,只要求学生掌握基本数据类型定义,对基本类型存储、范围、类型转换可以后面章节例题中讲解。顺序结构可以跟基本数据类型合并起来讲解,使学生上机、实验都有了练习的内容,持续了学生学习C语言的热情。一般院校学生的学习主动性不是太好,保持学生的学习兴趣很重要。

2 实验内容思考

实验是提高学生实践能力的主要途径之一。在学习C语言过程中,经常会听到学生说:“上课我能听懂老师所讲的,下课让我自己编写程序,我就不知道怎么入手了。”这样的现象在刚开始学C语言的学生中普遍存在;这种现象会打击学生的积极性,也不利教师教学。在刚开始教学的章节,教师可以固化下简单程序编程的步骤。如一个程序体有4部分组成,变量声明(变量定义)部分、输入部分、数据加工、输出部分;通过输出思考程序输入,通过输入、输出来确定程序的变量,再通过原始数据推导数据加工。当学生把这几个问题都弄清楚了,也就能顺利写出程序。经过前面章节简单程序的编写,到函数章节时,再提高学生对复杂程序编写能力。

实践教学内容的设计上,以巩固和综合运用课程上讲解的主要知识点为主线,内容应该具有趣味性和实用性,以从简单到复杂的任务驱动方式,要求学生从一个代码较短的程序开始逐渐完成一个代码较长的实验程序的设计。要求题目可以如下:身高预测、模拟计算器、猜数游戏、小学生算术测试、餐饮服务质量打分、学生成绩管理、模拟数字式时钟等[2]。

3 课后习题思考

随着课程教学的改革,C语言课时也大大被缩减;但是编程能力提高唯一的方法就是多读程序多写程。一般院校学生学习的自觉性普通不高,这就要求教师督促和施压;因此,课后习题布置和课后指导学习是很有必要的。课后习题的布置,可以不局限于课本;比如国家计算机等级考试二级C语言的历年真题、国家软件资格水平考试程序员级别的历年真题等都是很好的题材;程序员考试的题目更注重学生的编程能力和程序的实用性。面授时间短、学生多等原因是教师不能回答每个学生的问题,所以教师也可以建立教学网站,方便随时跟学生交流、答疑,也方便教师把课程资源共享。

4 考核方式改革

编程能力是这门课程考查的重点。什么样的考查方式能更科学地反映学生的编程能力?一直是广大教育者思考的问题。传统的考核方式主要是以笔试,理论考试为主,这经常会出现“高分低能”的现象。

C语言的考试可以不进行理论笔试;期末考试以实践环节的考核加答辩的方式。 做到不仅考理论, 同时还要考实际编程能力。平时成绩、实践考核成绩、期末考试成绩按 20%: 20%: 60%的比例评定综合成绩。

实践考查方式如下。学生可以根据自己的能力选择相应题目,进行协作完成;考查题目:1)贪吃蛇游戏;2)蓝黄棋游戏;3)五子棋游戏;4)推箱子游戏;5)骑士游历问题;6)八皇后问题;7)C语言课程设计综合应用实例――学生成绩管理;不懂的学生可以通过跟其他同学协助讨论、查找资料实现程序;对学生考查,采用答辩的方式;从4个方面进行考查: 1)程序的运行情况。A.好;B. 中;C. 差。2)对程序的结构解释。A. 好;B. 中 ;C.差。3)对某些局部模块的详细解释。A.好;B.中;C.差。4)对某些语句的现场编写情况。A.好;B.中 ;C.差。这些题目难度多层次,要经过看书学习,查资料跟同学讨论协助完成;通过答辩,评定学生对理论知识、程序的掌握程度以及编程能力并给学生建议。通过这种方式让编程能力好的学生带动其他学生,让其他学生体会学习的乐趣,编程的乐趣;让同学间互相协助。经过实验这种方法可行有效,但需要教师答辩,花费教师过多时间。

5 结束语

《C语言程序设计》的教学改革应围绕“以课程知识点为核心,以提高学生程序设计能力为主线,培养解决实际问题的应用型人才为目标”的思想,抓好课程理论、实验、考核的每一个环节,重点突出理论与实践相结合[3],根据学生实际情况,因材施教;培养出应用型程序设计人才以及提高教学质量。社会需求、生源都在不断变化,教学改革是个永久性的课题,要求教育工作者与时俱进不断改革创新,寻求适合的教育方法。

参考文献:

[1] 谭浩强.C程序设计[M].3版.清华大学出版社,2005.

[2] 翟秋菊.C 语言程序设计教学改革初探[J].农业网络信息,2008,3.

c语言程序篇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。

[5]陈刚,朱晓燕,江汉大学“C语言程序设计”课程教学改革[J],计算机光盘软件与应用,2012(7):245-246。

c语言程序篇4

计算机程序设计类课程具有实用性强,和应用广泛的特点。C语言作为现代非常流行编程的语言,更是具有通用性强和面向对象等众多特点,作为大学计算机基础编程类课程被广泛学习。C语言存在一定的复杂性并且授课时限制,授课方式限制等等问题。将计算思维融入到C语言的教学中,合理调整针对各专业授课内容,将计算思维融入课程,并与MOOC教学模式对接。笔者结合十年的教学实践经验,总结出授课效果不佳的原因,提出若干改革措施。

关键词:

计算思维;C语言程序设计;MOOC;

黑龙江省教学改革项目《高等院校计算机基础程序设计类课程综合研究性教学改革与实践》项目编号:JG2014010854

1教学内容与模式存在问题

1)先理论后实验

C语言程序设计课程在传统的教学中,理论部分采用课堂讲授的模式,边讲知识点边进行编程,实验课则是在理论课城讲完之后,单独进行实验教学,单人单组,这种教学模式容易出现理论与实践脱轨,接连不上,理解不透彻等问题。

2)创新性实验不足

一般教学模式下,设计性实验和创新性实验占的比例在20%以下,创新性项目不足。这种模式下,学生在课堂上的学习积极性大部分依靠于教师的授课技巧或个人魅力来吸引学生,教师把知识点讲授得清楚明白,但是学生自己动脑思考相应问题的时间短,并且大部分学生课前预习基本没有,不能真正发挥学生主观能动性和自主学习能力。

3)直接灌输

大多数学生对与课前预习做的并不出色,可能大部分学生是完全没有课前预习的。学生在头脑中并没有带着问题听课,而是老师直接灌输C语言定的设计结构、数组、指针等复杂内容。学生没有预习,没有思考,只有类似直接灌输式的教学模式。

2从教学模式改良教学内容

1)将计算思维能力培养融入课程中

程序设计类课程的教学方法要注重将“不可见”变为“可见”,变“无关”为“相关”,把大问题碎片化,把复杂问题进行分离与分层处理。例如,将C语言中的语法有融合到程序设计中,在程序中讲语法,又在学语法的同时练习训练了编程,这样就避免了枯燥乏味的讲述语法,将语法融合入程序设计中。

2)在C语言程序课程中扩展计算机思维的改革模式

①改进教学方法。不将C语言程序设计课程的教学内容做大量调整,而是通过改进教学方法来启发引导学生认知知识点背后蕴含的联系与规律,比如设置问题导引,问题讨论,追溯反思,新建构架等等方式来潜移默化的渗透计算思维,使计算思维模式逐步走进学生的思维方式中。②重新构架体系结构。并不对课程教学的知识点做大量更改与替换,而是以计算思维模式为主干重新构建知识体系,只是课程内容授课顺序和结构有较大复读调整。例如容易基本的数学问题,生活常识问题,即由C语言外而进入C语言内的知识体系的调整。③更新大量陈旧项目。以往的教学内容包含一些生硬死板的程序项目,其目的只是为了说教语法和结构。取而代之的融入计算思维的程序项目则更加新颖,更加联系实际,更加突出对计算思维的训练,例如,爱因斯坦天国的阶梯;生肖属相轮回等项目,不仅生动、引人入胜,更能训练思维。

3)依据计算思维融合传统科目内容

我们可以将一部分学生选出来进行试验性教学,打破传统的几门课程包括C语言、数据结构、算法分析、VC程序设计,等系列课程的教学方式,采用根据不同专业设定的包含基础数学、程序设计技巧、算法分析的一体化教学内容,打破传统的教学内容,该体系能够更充分利用学生的自主能动性,课下的工作量比课上的工作量要大得多,学生在课前要进行大量的准备工作。

4)加大课前预习量

打破传统的理论教学与实验教学分开的模式,在理论教学中同样需要学生进行大量的课前准备,然后在课堂上进行分组讨论老师提出的问题,根据每组学生的讨论内容,讨论结果设置而在实验教学方面,可运用本校的网络教学平台,提前发放讨论内容及作业题,在实验课中以项目提交的方式来完成实验教学。

3对接MOOC网络教学

1)MOOC兴起

网络技术的不断发展,人们更愿意使用电子产品依托网络进行学习。MOOC大规模网络公开课程(MassiveOpenOnlineCourse,MOOC)[1]是2012年在美国兴起,它作为一种大型的开放式网络课程,为学生提供免费的学习平台。随后全球的各大知名大学逐步开设MOOC课程,纷纷涌入到MOOC的浪潮中。在中国的很多知名高校也加入其中,纷纷开设MOOC网络课程,当前的coursera、udacity和edx的火热应用,实施了翻转课堂进行教学。

2)登陆MOOC

C语言程序设计的授课,为了适应新时期的教学发展趋势和教学需求,要将传统教学与在线教学平台融合,更好地使二者相互补充和促进。MOOC也将教育推上了全球化的舞台,这种变化带来的好处显而易见,最明显的一个特征是打破了教育壁垒,令教育资源平等化[2]。

3)重组设计课程内容

C语言课程登陆到MOOC,并不能简单的将课堂的内容简单,直接的传送到MOOC平台上,而是应该结合C语言程序设计课程的特点,和MOOC平台的优点,进行课程内容的整体策划,重新设计设计整门课程的体系结构。

4总结

我们要通过分析教学中存在的问题,教学模式和教学内容进行多管齐下的相关改革。改革并不能与从前的单一模式相同,要针对课程的特性,改革教学内容与计算思维相对接,改革教学模式与MOOC相对接,实现多管齐下,真正达到教育教学目的,让学习者能真正学以致用,转换思维模式,无论在哪一方面都收获良好的教育教学效果。

作者:逯柳 陈刚 孙毅 耿姝 王树芬 单位:哈尔滨石油学院信息工程与计算机技术系

参考文献:

[1]BartholetJ,FletcherS,DuncanA,etal.MOOC:教育革命[J].环球科学,2013(9):22-55.

c语言程序篇5

关键词:C语言程序设计实践教学;课时统一化;小组竞赛;网络平台

中图分类号:G642.41 文献标志码:A 文章编号:1674-9324(2015)51-0224-02

在21世纪信息技术时代,大学生不能只满足于会用办公软件。为了迎接新世纪的挑战,无论计算机专业还是非计算机专业的学生,都应当学习C程序设计课程,并且把它当作进一步学习与应用计算机的基础。C语言作为一种程序设计语言,它功能强大、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高低级语言的许多优点和特点,适用于编写系统软件,又能方便地用来编写应用软件[1,2]。因此,C语言程序设计作为第一门计算机语言教学显得尤为重要,且实际上它也日益受到各个高校的重视。然而,当今大学生在学习这门课程的过程中却出现了各种问题,如学不会、不想学、听不懂,这些问题逐渐地恶性循环,致使这门课程没有完全发挥出价值,形同虚设。所以,我们亟需大家探讨并发现问题,解决问题。

一、实践教学现状

C语言程序设计作为一门计算机基础教育课程,已经在各高等院校开设,现各高校普遍采用板书或多媒体讲解概念、语法、教材,然后让学生上机操作,这种方式存在弊端,致使大部分学生只能读懂程序而不会编写程序,甚至一部分学生变成程序代码的“搬运工”,与我们的教学目的背道而驰。根据目前的教学状况,C语言程序设计的教学存在以下一些问题。

1.学生的参与度不够。在传统的教学中,教师采用的是全板书形式,如今,多媒体普及,教师又改为全多媒体教学[3]。实际上,多媒体就是节省板书时间,但依然是教师照本宣科地讲,学生一头雾水地听这种陈旧的模式。一味地采取“填鸭式”教学,从头讲到尾这样被动的课堂,学生就是一名观众,没有参与到学习与思考中来,正因如此,学生注意力不集中成为一件高频率事件,等学生再集中注意力回归课堂,会发现对教师的话已经是不知所云,所以为了保证学生高效率听课,一定要让学生参与其中。

2.理论与实践脱节。现在,大多数高校普遍存在的一个问题是课时总量不够,时间安排也不适当,表现在师资力量匮乏,教学班级多,教学任务繁重。以笔者所在的学校为例,一个学期理论课共42个授课课时,26个上机实验课时,加上各种节假日,上课的时间少之更少。C语言程序设计是长期的、逐步深入的教学过程,依照现在的教学任务设置,教师要想按照考试大纲要求进行讲解,就只能加快教学进度,顾不上对实践内容进行详细讲解,结果导致学生的实际操作能力偏低,但若全部进行机房实践,又不利于学生掌握基本理论。而且,为了教学课程的安排,通常学生的上机实验课会比理论课晚两天左右,甚至周一理论课,周五才安排上机操作,不能将实验与课堂教学环节很好地进行连贯,导致理论与实践的严重脱节[4]。

3.实践与应用太少。学以致用是学生学习的最终要求,我们的教学目的是让学生可以运用所学的知识读懂程序、编写程序,然后去解决实际问题,而现在高校的大部分学生做不到这一点。目前,多数高校的学生学习C语言程序设计这门课程的学习方法非常不到位,即在课堂上,学生仅仅翻开教材,盯着讲台听课;在上机课上,学生也只是按照课本照搬程序。除此之外,在课余时间,学生们不巩固复习教材,也不看程序,更不会自己编写代码。如此下去,他们的实践能力不仅不会提高,反而极大地降低了他们对C语言程序设计的学习兴趣。

4.实践未得到及时反馈。由于课时紧张,教师不能将学生上交的实践报告或上机操作的实验结果及时地反馈给学生本人,以致于学生不能在第一时间对自己的错误或疑惑有进一步的了解与解决,造成学生盲目地学习,甚至不学习。但等到课堂上,教师也不能占用大部分时间去点评学生的实践结果而耽误课程的进展。另外,新的知识点讲完就会有新的练习内容,如此积累,工作量繁杂,学生对之前编程的细节也会慢慢忘记,更重要的是程度较落后的学生会出现知识的缺陷,长此下去,学习困难的打击会使学生的学习兴趣急剧下降。

二、教学方法

要解决上述问题,我们就要紧紧抓住学生的实践锻炼,重视实践教学,明确实践教学方法,才能使我们的教学目标达到事半功倍的效果。

1.课时统一化,采用多种方式考察。既然由于课时原因,全理论授课与全上机操作导致学生的参与度不够,理论与实践脱节,我们可以统一课时,即我们的C语言程序设计课程全部在机房授课。如今,机房设施完备,软硬件已足够完善,我们可以选择在机房授课,利用机房的多媒体与黑板,讲解理论知识,遇到需要学生动手的地方,可以让学生及时地动手操作。教师完全不用担心在授课时,学生玩电脑游戏影响听课,我们可以远程控制桌面,实时控制学生的电脑,进行各种操作,提高学生的听课效率。同时,系统还可以自动统计出勤率,比点名更加快捷,具有实时的监督作用。另外,教师再也不用担心学生由于近视问题而看不清多媒体屏幕。其次,这种机房授课以多种方式对学生学习状况进行考察,例如提出问题法、纠错奖励法、学生演示法、小测试法……提出问题法是指教师提出一些重点或难点问题,由学生来回答;纠错奖励法指教师给出某个算法或程序让学生去发现其中的错误并纠正,最快找出的学生给予小小的奖励,如一张精美的书签、一句鼓励的话语等;学生演示法指的是找一名学生到教师端编写一个小程序或某个算法中的易错点,以此找出学生的通病,引起大家的注意;小测试法是在课堂最后十分钟左右给学生发放一份提前写好的试题,两到三题即可,可以按照计算机二级等级考试模式编写,学生提交,系统直接核对,省时省力。这样多种方式进行考察,真实地反映学生对该节课的掌握程度,也让教师真正了解学生的学习情况,以便进一步开展教学工作。

2.小组竞赛法,模拟各种编程竞赛。为了激发学生的学习兴趣,增强学生的动手实践能力,可以采用小组竞赛的方法来加强学生对C语言课程的学习。整个班级可以自由分组,两到三个人一组,教师布置相应的编程题目,要求学生在规定的时间内上交,由教师来评分,选出程序最清晰、代码更简练的一组。在学期中后期,学生拥有一定的基础和能力的情况下,可使其参与评选过程,通过评选人员相互交流讨论,在提高被评学生编程能力的同时使参评学生也有所提高,即所谓的“教学相长”。除了进行班级内小组竞赛,还可以进行班级之间、专业之间集体赛。依然是先在班级中进行初选,再经过层层选拔与淘汰,指出各方的优缺点,最终评出优秀、良好等。奖项不是重点,关键在于让学生都参与到实践活动中来。通过以上各种形式的竞赛,可以提升学生对C语言的学习兴趣和编程能力。

3.网络交流法,建立多种网络平台。伴随网络化时代的到来,教师可以通过多种网络平台与学生交流、互动,及时指出并解决问题。如教师可以给每个班建立一个QQ讨论组、微信群,如果学生在课下时间有难题或者对课堂上的知识点有疑问,可以在第一时间通过网络交流平台和教师取得联系,以此使得“教学课堂”在时间和地域上得到无限制的延续。另外,通过网络平台,教师还可以给每个年级建立公共邮箱、论坛,用来分配任务、布置作业、共享教学资源等。更重要的是,教师可以把一些实践或实验发到网上,对学生的作品进行网上点评,把优秀的程序分享给大家,同时指出学生的不足之处,到网上,学生自行查收,及时地给学生反馈。另外,这些平台还可以作为学生们的“讨论网”,大家自由交流各自的学习经验与学习心得,成为学生在线学习交流、在线测试的途径。通过各种网络平台,使教师与学生、学生与学生的交流不受时间的限制、地点的约束,由学生自主地选择学习,从而解决教学时间不充足的问题,消除教师与学生之间在时间和空间上的距离感,进一步方便学生及时解决疑惑,及时得到反馈,取得更有效的学习效果。

本文探索的一些方法和改革创新是优缺点共存的。研究发现,采用以上多种方法相结合,一环扣一环的教学组织与管理,能保证学生学到一定的知识。没有最棒的方法,只有最适合自己的方法,我们做的就是尽可能给予学生指导,建立良好的学习氛围。但是,如果学生对自己不负责任,学生之间存在相互包庇、帮忙完成实验上机报告等问题,将影响整个教学效果。所以,教师要特别关注这些学生,经常鼓励、辅导他们,督察学习情况,特殊情况特殊处理,引导和帮助他们找到自己的学习目标和学习方法。C语言程序设计成为越来越多高校学生选择的课程,也是全国计算机等级考试的选择之一。我们要紧跟时代的步伐,不断更新教学内容,分析和探讨C语言程序设计教学过程中存在的问题,进行教学方法的改革,适应时代需要,做好十足的准备去迎接未来的挑战。

参考文献:

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

[2]薛小锋.《C语言程序设计》教学方法探析[J].福建电脑,2004,(01):87-88.

[3]余炳辉,孙娟.《C语言》课程教改浅论[J].科技资讯,2009,(27):222-223.

c语言程序篇6

关键词:C语言;程序设计;机考;分层教学;课程改革

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)34-8225-02

《C语言程序设计》课程的授课对象是计算机专业本科学生,为专业基础(必修)课,是学好后续各软件课程必要的基础。有别于已经掌握的汉语、英语语言,作为人与计算机交流的语言,C语言不但概念多、符号多、语法多、规则多,而且抽象、难懂,再加上需要有一定的理解力以及解决问题的清晰思路,有些学生在学习过程中会感觉到枯燥、繁杂、无趣。因此培养学生的学习兴趣、加强对课程的重视、提高实际编程能力、将理论与实际相结合,是教师必须解决的问题。

为了提高学习质量,从2010年秋季学期开始对《C语言程序设计》课程的教学过程、成绩考核进行了改革,由原来的纸质试卷考试变成全程上机考试。改革实施多年来,大部分学生增加了学习兴趣,有了编写程序的主动性和积极性,增加了专业学习的信心,提升了程序设计的能力。

考虑到学生在基础知识、智力因素、学习能力上的差异,为了更有效地实施“因材施教”,从2013年秋季学期开始实施分层教学。在讲完C语言基础知识、程序基本设计方法之后进行分层。通过考核,外加自愿的原则,将原来的教学班打乱,重新组合成两种班型――高层次、低层次班。分层之后,每个学生个体获取的知识趋于最大化,极大地提高了课堂学习效率。

1 传统教学与纸质考试存在的问题

传统的教学是按照指定教材,在课上将重点内容进行讲解,典型的问题、方法在TC/VC环境中进行演示,课后留给学生一定的纸质作业和上机编程作业。同样的讲授,理解力强的学生一听就懂;理解力弱的学生,老师需要讲多遍才有可能懂。传统的教学中,老师只能顾及大多数中等学生,照顾不到特殊的学生。降低了课堂效率,也可以说浪费了某一部分学生的时间。

由于期末考核采用的是纸质考试,只是从纸面上考核学生对C语言理论、编程方法的理解、掌握程度,更对学生的学习产生误导。部分学生也只重视理论,不重视实际动手编程。他们只满足于“纸上谈兵”,不考虑结果。因此,实际应用时,对上机环境不熟悉、编写的程序不能顺利通过,导致很多学生高分低能,在解决实际问题时,茫然无措。

2 机考及分层教学改革的探索

计算机专业课程的特点是实践性强,学生在掌握了基本语法后重点是上机实践,即在计算机上解决实际问题,这里包括问题的分析与抽象、程序的编写与调试。

常言道:“实践是检验真理的标准”。在学习C语言过程中,上机实践是巩固理论知识、增加理解力、提升编程能力的重要途径。为了提高教学质量,让学生真正打好专业基础,授课教师在教学内容、教学方法、教学组织、考试方式等多方面上进行了调整。

2.1 教学方法以及教学组织上的改革

为了使教学效果更好,将两个自然班作为一个授课班,教学内容统一要求。讲授时,由浅入深、循序渐进。在语言的基础上,重点放在程序设计的思想、方法、技巧的讲解,结合典型例题,培养学生分析、设计、解决问题的能力。通过精心设计实验题目、课后作业、调整考核比例、增加课后上机机时、多方位提供答疑指导等环节培养学生学习兴趣,使学生重视上机编程。

对学生作业题目进行精心设计,既覆盖知识点,又有趣味性,每个题目都像在讲一个故事,把要解决的问题融在故事中,学生在读故事的同时,不自觉地就会去想解决办法,增加了兴趣,提高了自主性,也锻炼了思维。

调整平时考核内容。平时考核的环节包括:上机小测试、期中机考、上机作业、考勤,每一个环节的成绩都会反映到平时成绩中。平时成绩的取得完全依赖自己的学习态度。

增加课后上机机时。由于考核重点是对实际动手能力的考核,光靠课内安排的上机时间显然不够,所以需增加学生课外自主上机实验时间,并配有指定人员辅导。

多方位提供答疑指导。所有任课教师把答疑时间错开,这样每周学生可以有多次答疑时间,对比原来教师只给自己学生答疑的做法,学生增加了学习解疑的机会。

2.2加强上机实验过程控制,促进考试改革

借助于“课程自动评测与抄袭检测系统”,老师和学生有了C语言作业部署、学习、检测的平台。通过这个平台,老师可以布置上机实验、安排考试、检查学生提交的作业。根据知识点,每章布置4-5道题,限定学生在规定时间内独立提交。老师可以随时查看学生提交的程序,及时与学生沟通、反馈。学生可以随时把自己编写的程序提交,系统对提交到服务器的程序自动判断对错,学生可以及时了解自己程序存在的问题,不断进行修改,直到能够顺利通过所有测试。

这一环节起到了巩固课本知识、增加独立思考、加强动手能力的作用。期末就是利用这个平台进行全程两个小时的考试,要求学生既有编程的能力,又有时间的紧迫感。

加强过程考核,增加平时机考次数。为了缓解期末机考时的紧张情绪,之前会安排1-2次的上机考试,成绩记入期评,其中期中考试的考试形式与期末一样,为全程两个小时的机考,随机组卷。学生可以尽早了解考试模式,并更加重视对本门课程实际动手能力的训练,学会调整心态。

为了满足不同层次学生的要求,在平台上配备了大量不同难度的习题,不受提交时间的限制。学生可以根据自身需求,随时编程测试。

2.3分层教学,提升学习效率

分层教学是根据学生不同基础、不同学习需求而实施教学的一种手段。是在承认学生差异、考虑学生兴趣的前提下,以发展的眼光看待学生,给每个学生提供符合他们发展的教学目标与方法,是同时提高所有学生能力的理想状态。经过调研,从三个方面进行分层教学。

1)学生分层。对学生能力考核的一个重要标准就是学生的学习成绩,但是在学习这门课之初,没有可依据的成绩。分层安排在讲完两周课,即学完了简单程序设计之后进行。学生根据自己当前对C语言的理解和接受程度,选择不同层次。在分层教学的实施过程中,这样的分层是暂时的、动态的。过一段时间,视学生的后期学习成绩、学生的具体情况,可递进或降层。这样更有利于学生个性化发展。

2)讲课分层。对不同层次的学生,采取不同课堂。在讲授编程思想、必备知识基础上,对高层次学生,拓宽和加深问题的难度,做到拔尖提高;对普通学生,在达到大纲要求的同时,考虑他们的接受能力,适度增加和加深知识,做到稳步推进。

3)实验分层。练习是对所学知识的巩固和消化。按照作业、实验题目的难易,对不同层次的学生提出不同要求。对普通学生布置基础题,进行强化训练;对高层次学生,以综合运用知识进行练习。要求学生多编程解决问题,以提高应用知识的能力。这样使得不同层次的学生得到不同程度的提高。

3 教学改革实践效果

实行考试改革后,学生的学习积极性有了明显提高。由于考试时间的有限性,增加了学生的紧迫感、主动性,在程序编写、调试程序的实际动手能力方面得到了重视并有所提高,为后续课程学习奠定了良好的基础。经过分层教学,满足了不同层次学生学习的需要,激励了各层次学生朝着有利于自己的方向努力,有利于学生个性能力的张扬,有利于学生综合素质的提高,更有利于优秀学生综合能力的发挥、较低层次学生潜在能力的开发。

3.1带动学风,促进后续课程的学习

大部分学生能够按时到课,勤于思考,互相研究,答疑的同学增多了。改变了不良学风,营造了良好学习氛围。由于课程期间比较重视学生结构化程序设计的方法,要求编写程序之前理清解题思路、做好算法设计,经过训练后,在后续的“程序设计专题训练”中,面对稍难一些的问题,学生也能逐步找到解决办法,编出程序,顺利通过测试。在小学期“学术工程实践”课程中,要求完成一个小型管理系统,有一定的难度。大部分学生能够顺利编写由多个结构体、多个文件、几十个函数组成的、2000-4000行代码的程序,并调试成功,完成管理。

3.2提升学生的程序设计能力和创新能力

竞赛是考核学生全面素质的一个平台,它要求学生具有扎实的理论基础、清晰的算法设计能力、娴熟的编程能力、良好的心理素质和快速的临场应变能力。

随着知识的积累,学生的能力和自信心不断增强。学生们更加渴求知识,渴望展示自己,参加竞赛的积极性提高了,人数也不断增多。在大二阶段,报名参加全国软件设计大赛的人数由09级的16人次(占09级学生人数14.04%)、10级的33人次(占10级学生人数26.19%),增加到11级的66人次(占11级学生人数51.56%)。全国获奖人数由09级的1人次(占09级学生人数0.88%),到10级的12人次(占10级学生人数9.52%),再到11级的17人次(占11级学生人数13.28%),获奖人数同比增多。

4 结论

总之,学习“高级程序设计语言”不仅要使得学生在程序表达和设计上得到培养,更重要的是在掌握解决问题的思想、方法和手段的同时,实际动手编程能力有所提高,从而增长设计程序的能力。因而,将“C程序设计”课程的考试改为上机考试是很有益的,可以改变不良的学风,营造良好学习氛围;可以加强学生对课程的重视,提高学生程序编写、调试等实际动手能力,提升学生的程序设计能力和创新能力,为后续课程学习、为培养合格的专业人才奠定良好的基础。

对“C程序设计”课程实施分层次教学也是必要的,可以针对不同层次学生的需求给予相应的学习指导,以达到学生全面发展的教学目标;可以激发不同层次学生学习的欲望,向着更高更深的知识海洋探索;可以鞭策任课教师积极思考、合理取舍,做到充分了解学生、合理安排进度,能够极大地提升老师的组织与应变能力。

参考文献:

[1] 李学会.C程序设计教学改革与实践[J].实验室科学,2010(4)33-34.

[2] 肖潇,贺细平.C语言程序设计教学探索[J].计算机教育,2011(5):65-68.

c语言程序篇7

【关键词】独立学院 C语言程序设计 课程教学 改革 研究

【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2010)05-0024-02

人才培养质量是院校的生命线,课程教学的质量是关系人才培养质量的重要环节,深入扎实地搞好课程教学改革是提高教学质量的重要手段,是落实人才质量的根本保证。独立学院作为我国高等教育改革的新产物于2003年开始出现。短短几年时间,其规模得到了迅猛发展,已成为我国高等教育的重要力量。由于成立时间短,可借鉴的经验少,其课程教学又有自身的特点,改革任务更加紧迫。

大连理工大学城市学院是东北首家成立的独立学院。学院特别重视质量工程建设,一直把以精品课程建设为核心的课程教学改革放在学院工作的突出位置。确立了培养高素质应用型人才的培养目标和努力争创一流独立学院的发展蓝图。C语言程序设计是学院对IT类专业开设的一门非常重要的专业基础课。几年来,该课程教学小组以国家精品课程为目标,以提高育人质量为前提,从教材体系建设、大纲制订、教学方法改革、题库建设、考试方法和手段改革、实践教学环节建设、学生业余时间的学习指导等多个方面进行了全方位、捆绑式、立体化改革,取得了显著效果,提出了很多独创性的思想和诸多行之有效、可操作性强的措施,具有很好的推广价值,经过了教学实践的全面检验,具有很好的示范作用。

一、建立了特色鲜明的立体化教材体系,确保了教学的先进性和实用性。

为了适应高质量应用型人才的培养要求,突出工程性、实践性和实用性,我校精心编写出版了三部教材:①《C语言程序设计》,47万字,08年9月;②《C语言程序设计习题解答和上机指导》,37万字,09年9月;③《C语言程序设计习题与详解》,30万字,09年9月。

上述三部教材在内容框架上保持一致,形成了相互融合、相互促进、相互补充的完整的立体化的教材体系。该教材体系本着打造精品课程的教学理念,突出体现了以下几个特色:

1.结构合理、循序渐进、容易理解

对知识结构进行了认真规划,对课程前后知识的衔接进行了认真梳理,确保了前面的内容是后续知识的储备,后续内容是前面知识的运用、整合和延伸。

2.内容精炼、语言简练、通俗易懂

在规划结构的同时,对教材内容进行了精选。在编写时反复推敲,注重文字流畅、规范和简练,确保不同层次的读者都能看懂。

3.大量的可视化素材,使读者学习更容易。

本教材克服了众多教材一味的文字阐述的通病,把一些重要的或难懂的知识点抽象成了各种图表,可以使读者面对难点茅塞顿开,理解起来更容易。

4.大量的习题,有助于读者练习和提高。

教材每章后面均配有小结,有助于学习者对知识进行对比归纳;此外,还配有大量的习题,很多习题取材于国内外有工程背景的小课题,读者通过做题可以使解决问题的能力大大提高。

5.面向应用,突出能力培养。

在阐述知识的同时,着重介绍分析问题的方法和思路,加强学生对工程方法论的学习和掌握。精选了大量具有一定工程背景的程序实例,不仅让学生明确为什么要学,还明确了如何去用。同时,把程序设计规范和软件工程思想纳入教材中,有利于对学生包括良好编程习惯在内的职业素质的培养。

6.优秀的队伍和良好的素质,使教材的先进性和实用性更有保证。

负责本教材编写的同志是教学和科研双重骨干,用英文原版教材授课多年,对教育教学规律有深入研究,掌握学科前沿技术。其他成员均是该课程的优秀主讲教师,也是科研的主要参与者。不仅把国外的先进知识和技术引入到教材,还把长期的研究成果融入到了教材中,使教材的先进性和实用性更有保证。

正是因为教材质量高,特色鲜明,《C语言程序设计》出版不到两年、《C语言程序设计习题解答与上机指导》出版才半年多,都已经印刷两次,印数分别达到了上万册,被地跨辽宁、吉林、北京、河南、江苏、江西、福建等多个省份和地区,包括“211”工程院校在内的10余所不同层次院校选作了本科生教材,师生反映很好。已被全国包括北京理工大学、北京航空航天大学、北京科技大学、中国人民大学、中国地质大学、厦门大学、山东大学、同济大学、合肥工业大学、华南师范大学等全国名牌大学在内的百余所大学的图书馆收藏,学生借阅频繁,评价很高。该系列教材,还被国内外百余家网站销售,销售情况比较好。

二、合理规划,认真编写教学大纲,确保了课程教学的科学性和有效性。

根据学院人才培养的总体要求,本着一门课程多套大纲的“多元化”思路,组织人力反复研究,编写和修订教学大纲4份,突出解决了以下几个方面的问题:

1.精选内容,合理规划知识结构,做到了“四个突出”:

①突出基本知识和基本概念;②突出教学重点和难点;③突出工程应用;④突出学生能力培养。

2.准确定位,明确了课程在专业教学中的要求和作用,正确处理了与其他课程的关系。

3.吸纳国外优秀的教学内容和教学经验,确保了内容的先进性和前瞻性。

4.制定科学的考核与积分办法,突出考能力、考应用,以考促学。

三、提出了六大框架结构的课件编制模式,有效地促进了教学。

提出了用“工程设计”思想来设计电子课件,把课件制作比作是一个工程项目的开发过程,要有规划、有设计、有思想、有内容,而不是简单的内容堆砌。为此,我们遵循学生的认知规律,紧紧围绕学生容易理解,能激发兴趣,有利于学生思考和能力培养这一主题,本着“学什么?为什么学?如何学?”三个基本问题,采用包括知识回顾、问题引出、主要内容、目的要求、复习思考题、上机编程与练习六大框架的课件编制模式,认真编制电子课件。把授课的纲目和非常典型的应用实例捆绑到一起。对较抽象和难理解的知识,使用图表、动画等形式进行讲解,不仅学生普遍欢迎,而且其他老师也用做了模板,对整体教学水平的提高起到了很好的作用。

四、提出了“任务驱动+吸引+激励”式教学法,教学效果大为改观。

教学方法改革是课程教学改革的重要内容。在教学中我们提出了“任务驱动+吸引+激励”式教学法,简单地说就是提倡教学中使用典型程序实例作牵引,把知识融入其中,克服一味灌输理论,理论与应用脱节,学生理解和接受困难的问题。提倡老师要通过全面提高自身的素质和授课艺术吸引学生,善于发现他们的闪光点,多给予鼓励少给些抱怨和批评,从根本上解决学生厌学问题。几年的教学实践证明,此教学法有利于激发学生学习的兴趣,有利于引导学生主动思考,对改善教学效果起到了很好的作用。

五、建成了一支水平较高的教学队伍,为改革夯实了基础。

始终坚持以课程建设带动队伍建设的原则,课程由学术造诣较高、具有丰富教学经验的老师负责,并精选了其他几名态度认真、业务水平较高、教学效果好的讲师和助教组成了课程教学小组。通过几年的培养和锻炼,年轻教师进步很快,逐步形成了一支结构比较合理、人员稳定、水平较高、教学效果好的教师梯队,为教学的实施和改革的深入奠定了坚实的基础。

六、大力改革考核方式,积极探寻以考促学的新路子。

我们已经建立了课程试题库,收录了典型题目近500道,研发了上机考试系统软件。该系统彻底改变了原有的课程考核方式,实行与国家计算机等级考试类似的模式,采用由系统随机抽题,多人同时机上考试,由系统自动评分。这样一方面可以更好地起到考能力,考应用的作用,另一方面可以大大提高教师的工作效率,确保考核的真实性、客观性和公正性。

七、注重实践环节的设计,全面提升学生的应用能力。

为了真正提高学生的实践能力,我们专门开设了“C语言编程实践”课,本着突出系统性、工程性和应用性的原则,认真研究实践环节的内容和实施方法,准备了很多具有实际工程背景的小课题,让学生分组选做。这样不仅使学生把课程学习的零散知识系统化,而且也把程序设计的方法和工程思想融入了其中,让学生得到全面的训练。同时,注重培养学生良好的编程习惯和与他人合作的能力,为良好职业素质的形成奠定了基础。

八、创建C E-Learning环境,推进课程教学向大纵深发展。

建设C E-Learning环境是我们提出的一项创造性工作。试图把课程教学由课堂进一步延伸到课后,以此来强化对学生业余时间学习的指导,激发学生的学习兴趣,切实提高整体效果。基本设想是:研发集多种功能于一体的软件――包括知识库管理、试题库管理、教师和学生信息管理、BBS留言板、学习自测、FTP服务等等,依附校园网平台,面向全院所有学生(甚至全社会)开放。学生可以随时随地登录到这个环境,充分享用丰富的课程资源和服务,这些资源和服务包括:

1.利用环境中提供的知识库、多媒体课件,对C语言知识进行自主学习。

2.利用环境中提供的BBS实现生生、师生间的研讨和答疑,还可以对学生的讨论情况、老师答疑情况进行汇总和统计。

3.利用环境中提供的在线点播获取一些老师的精彩视频,进行在线学习。

4.利用环境中提供的试题库和测试软件进行学习效果的测试。

此外,在通过系统管理员审核和允许后,不管是学生还是老师,都可以把有价值的知识点、测试题目提交到系统,以达到师生共同维护、共同建设的目的,使整个环境变成一个“滚雪球”式的动态变化的大系统。

通过教学实践我们体会到,对很多课程来说,只靠时间有限的课堂教学环节是很难实现高目标的,因此,加强对学生业余时间学习的指导是一项非常重要的课题。创建C E-Learning环境,就是要试图把C语言课程教学由课堂进一步延伸到课后,以此来强化对学生业余时间学习的指导,真正激发学生的学习兴趣,形成“在愉快中学习、在学习中进步、在进步中成长”的最高境界。

c语言程序篇8

[关键词]高职 C语言程序设计 教材建设

[中图分类号]G642 [文献标识码]A [文章编号]1009-5349(2016)02-0237-02

程序设计课程一直以来都是信息类专业的必学课程,而《C语言程序设计》又是很重要的一门专业基础课,对后续课程如数据结构、面向对象的程序设计、C#程序设计、.Net应用开发等而言,是非常重要的一门前导课。数十年来,《C语言程序设计》在信息类专业的基础课中有着不可取代的地位,该课程旨在培养学生熟练掌握程序设计的语法规则,形成良好的程序设计风格,为进一步学习后续课程奠定基础。教材作为一本工具书,是教师授课与学生学习的主要参考工具,拥有一本集科学性、完整性和趣味性于一体的《C语言程序设计》教材,是学生学好这门课程的必要条件。对于高职院校的信息类学生来说,能够满足自身学习需求,与教师课堂讲授相吻合,便于自己课堂之余进行知识反刍的教材更是必不可少的。

一、 《C语言程序设计》教材现状

高职院校的培养目标、教学模式、教学内容有其鲜明的特色,教材的建设更应该符合学生特点和学习需求。高职院校《C语言程序设计》教材经历了两个发展阶段:在高职办学的早期,高职教学的主要内容是具体的实用技术,不需要也没有教材,因此,高职《C语言程序设计》教材建设明显滞后。随着高职院校的不断发展与完善,诸多《C语言程序设计》的教材相继问世,尽管其中许多冠以“高职”字样,却依然存在不少弊端,主要表现在以下几方面:

(一)延续本科教材风格,不符合高职教学特点

继高职院校广被诟病为本科院校的“压缩饼干”后,高职教材也成为本科教材的压缩版,《C语言程序设计》的教材也存在此类问题。打开最新版的某一册“普通高等教育‘十二五’部级规划教材(高职高专教育)”的《C语言程序设计》教材,发现内容结构依然是C语言基础、顺序结构、选择结构、循环结构、数组、函数、位运算、结构体与共用体、指针、文件等章节,和任一册本科教材内容结构几乎一致,而每一章节的内容也基本是由例题、解题步骤、流程图、代码和课后习题组成的,延续了本科教材的风格,与高职所突出的培养技能型人才的特点不符合。

(二)内容枯燥,实用性差

目前,大多数《C语言程序设计》教材对语法规则的介绍着墨很多,枯燥无味、实用性差。比如,打开任一本C语言程序教材,会发现还有“编写判断一个数是否为素数”“编写斐波那契数列的前20项”这种与生活距离较远、无法吸引学生的案例,因此,使学生在学习过程中把精力多放在记忆各种灵活多样的C语言语法规则上,忽视了使用C语言解决实际问题的能力的培养。

(三)未能给学生提供充足的自学条件

作为高职信息类专业学生的第一门专业基础课,《C语言程序设计》与学生在进入大学之前所学的知识有着本质上的不同,尤其是让初学者理解并掌握“指针”“函数”“数组”等闻所未闻的概念有相当难度。因此,教材不仅是学生课堂学习的参考工具,更是学生课后进行知识反刍的指导书。目前的教材除了课后习题之外,并没有对学生的自学进行有效的指导和知识补充,不利于学生对C语言知识的理解与掌握。

二、 《C语言程序设计》教材建设的指导思想

鉴于当前《C语言程序设计》教材所存在的各种问题,根据实际教学过程中积累的经验和学生的反馈,我们认为《C语言程序设计》教材的建设应遵循这些方面:①教材内容应兼顾高职院校的教学要求中初学者的学习水平;②教材案例设计应兼顾知识性、趣味性和实用性;③教材主体内容应力求通俗易懂、深入浅出,能让绝大多数学生理解和掌握;④教材的建设应使学生能够理解并积极参与教学过程,引导学生积极思考,调动学生学习的积极性,针对学生的练习应建立由浅入深、由简单到复杂、由单一到综合的转变,形成学习梯度;⑤教材应提供参考依据,为学有余力的学生提供了解更多专业知识的条件,同时对学习进度缓慢的学生,也应该让他们课堂之余有具备咀嚼知识的自学条件。

三、《C语言程序设计》教材建设的具体举措

(一)围绕课程定位,精选教材内容

《C语言程序设计》课程的主旨是让学生树立程序设计的理念,而不仅仅定位于C语言本身的知识点上。因此,教材内容的设计应选择程序开发过程中所共有的知识点,尽量删减C语言本身所独有的知识点。比如,在顺序结构、选择结构、循环结构这三种基本结构的内容安排中,应把重点放在这三种结构的应用环境上,特别是围绕这三种基本结构的程序设计思想与方法,而应该弱化这三种基本结构的语法、格式,特别是应该减少输入输出的格式控制符的篇幅,只要让学生了解各种程序设计语言都有各自不同的语法格式规定即可;还比如,C语言在构造数据类型的内容安排中,要重点介绍引入构造数据类型的目的,而非构造数据类型本身的编写格式;此外,C语言对于程序设计非共性的知识,比如二级指针(函数指针)、文件函数等内容,则可以在教材中删减。

(二)遵循学习规律,重整教材结构

学生知识建立的过程是认知与实践交替运用的过程,单纯的认知与单纯的实践都不能形成完整的知识建构,知识学习的过程就是认知、实践、再认知、再实践的循环过程,知与行不断交替以达到统一。前文所述,程序设计类课程对于高职院校信息类专业的学生而言,是入学之后的第一门专业基础课,既没有前导课,也没有同期学习的同类课,而且与他们在大学之前所接触的知识完全不同,是一片极为陌生的知识领域。因此,在教材的结构设计中,应注重将内容由浅入深、循序渐进,切忌将难点重点集中,以免让初学者遇到太多难题,磨灭学习的积极性。比如,数据类型和变量的定义这部分内容,是《C语言程序设计》学习之初的内容,可与C语言程序的小案例结合起来做简单的介绍,目的是让初学者了解数据类型、变量定义的基本方法及作用,当学习了函数的知识之后,可以再对数据的存储、变量的定义过程、变量的作用域和有效性加以深入介绍;还比如,运算符与表达式这部分内容,可以在简单程序设计部分只告诉学生如何使用,让学生较快地进入编程阶段,而在学生学习过三种基本结构之后,再将运算符与表达式进行深入透彻的讲解,则学生能够将结构化程序设计与运算符表达式相结合,对知识的掌握更加完整和彻底。

(三)构造学习框架,强化设计思维

在以往的《C语言程序设计》教学过程中,当要求学生对某个案例进行编程时,学生通常了解程序生成的大致结构,但是对程序具体的编写过程就感觉无从下手,究其根源就在于C语言教学方式与实际解决问题的途径相脱离。当教学内容偏重于语法规则和编程格式的介绍而忽视培养解题思路与解题方法时,学生就无法独立编写完整的程序。因此,为使学生理解和掌握编程方法,教材中各章节在设计编程案例时,应建立一个学习框架,按照“变量分析”“设计思路”“程序代码”“运行结果”“说明与思考”进行设置――对于某一个具体问题,首先分析解决问题需要设置哪些变量及变量的数据类型,接着分析解决问题的具体思路及步骤,给出程序流程;然后,写出程序代码并调试运行,得出结果,并对重点语句进行注释;最后,针对程序设计和实现过程中容易出现的错误及需要注意的问题给出必要的说明,让学生能够充分掌握程序设计整个过程中的思考方法。

(四)针对学生学习特征,适当降低难度

教材的面向对象是学生,所以在教材编写过程中必须首先考虑教材内容与学生的接受能力,高职院校的学生与本科院校的学生在学习态度、学习能力和学习习惯上还是存在一定差距的,高职学生相对来说缺少学习的主观能动性和钻研精神,因此,在保证知识点丰富的前提下适当降低内容的难度是编写高职教材需要遵循的首要原则。其次,高职院校的学生应注重其实际应用能力的培养,在面向高职学生的《C语言程序设计》教材中,我们可以删除或简化难度较大又不涉及程序开发共性的内容,如:浮点类型数据的存储格式、函数指针、数组与指针的关系等内容可以删除;C自增自减运算、位运算、共用体、文件操作等内容可以只介绍基本知识点而不做深入讨论。此外,教材中例题和习题的编排也要注意难度适中,尽量选择贴近生活又较为简单的案例,便于学生理解和接受,并且使之在编程过程中产生兴趣,让学生易于上手,在学习的过程中不断产生成就感,乐于对新知识进行更深入的挖掘和探索。

(五)夯实理论基础,注重实验环节

虽说高职学生注重的是技能培养,但作为信息类学生的第一门专业基础课,《C语言程序设计》还应起到奠定理论基础、训练编程理念的作用。因此,在教材的内容设计中,不能完全轻理论,还要把一些重要的理论讲述清楚。例如,三种基本结构(顺序结构、选择结构、循环结构)的流程及应用,要让学生能够将三种结构整合起来解决实际问题;算法是编程之真是思路之源,对一个问题首先要确定算法,才能根据算法步骤编写具体代码形成程序;“结构体”也是一种构造的数据类型,但对于数据类型的理解要更加透彻,有了数据类型的概念,对以后其他程序语言的学习就会更加轻松。教材内容设计上,还要加大实验环节的设计,实验内容按照设计性、验证性和综合性兼顾的原则设计题目,每道题目给出题目描述、题目分析、测试数据、提示代码和参考运行结果。其中,题目分析从变量分析和设计思路两个角度讨论,让学生能够充分体验程序设计整个过程中的思考方法,提示代码只是给出一小段代码,其余让学生进行补充,能够进一步锻炼学生的程序设计能力和创新思维能力,强调对学生分析解决实际问题能力的培养。

四、结语

高职《C语言程序设计》教材的改革与开发是一项既长期又必要的任务。教材要突出高职教学特色和教学规律,符合高职学生的特点,遵循“理论适度、内容生动、案例实用、难度相当”的编写要求。课题组教师结合多年教学经验和学生反馈,编写适合高职学生的《C语言程序设计》教材,并在使用过程中不断补充和完善,使教材成为课程的有效载体,成为教师的有利教具,成为学生的学习指引。

【参考文献】

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

2005.

[2]廖雷.程序设计(C++版) [M].北京:机械工业出版社,

2004.

[3]李风云.C/C++程序设计基础[M].北京:人民邮电出版社,2003.

上一篇:应用程序范文 下一篇:智力测验范文