c语言程序设计实验报告范例6篇

c语言程序设计实验报告

c语言程序设计实验报告范文1

教师两个月顶岗实习报告 中文教育专业实习报告范文

汽车美容实习体会 网络工程师实习报告总结

在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理。简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

c语言程序设计实验报告范文2

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 改革评价体系,面向实践和应用,注重过程评价

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

c语言程序设计实验报告范文3

【关键词】C语言程序设计;教育机器人;教学改革

1引言

C语言是一门通用计算机语言,广泛用于系统与应用软件的开发,具有高效、灵活、功能丰富、表达能力强和较高移植性等优点[1],是近些年来使用最广泛的编程语言,是众多高校理工科学生的必修课,也通常作为程序设计的入门课程,为后续的程序设计课程打基础。课程的主要培养目标为学习C语言的基础语法,理解并掌握计算机编程思想,能运用C语言解决一些实际问题,培养分析问题、解决问题的能力[2]。因此,C语言课程的学习效果对学生以后的程序设计具有重要意义,而在C语言教学实践中发现存在诸多问题。1)课程本身的难度较大。在C语言学习中,有不少学生感觉学习难度较大。涉及的概念和语法规则繁多,使用灵活,容易出错,并且理论性较强,实践性较低,而且知识点细化烦琐,不易理解。学生在学习时会感到比较困难,不同程度产生畏惧心理,由此影响学习主动性和学习效果。2)学生逻辑思维能力较差。C语言对数学知识和逻辑思维能力以及动手实践能力的要求比较高。而高职计算机专业学生普遍数学基础薄弱,通过研究各类C语言程序设计教材,发现大部分教材中的实例与解决数学问题有关,学生对此兴趣不大。3)实验教学形式单一,应用价值不高。传统“C程序设计”实验教学形式单一,主要以上机为主。实验教材上的实验项目和实验内容相对比较固定,主要是解决数学问题,与实际联系不大,学生积极性不强。

2C语言程序设计实验教学改革的措施

针对以上问题,我们把教育机器人引入到C语言程序设计实验教学过程中来,学生边学习C语言边慢慢融入机器人工程项目中,现学现用,使得学生更快速理解C语言的语法结构并灵活运用。

2.1硬件平台的选取

教育机器人是由生产厂商专门开发的以激发学生学习兴趣、培养学生综合能力为目标的机器人成品、套装或散件,结合了机械、电子、传感器、计算机软硬件、控制、人工智能和造型技术等众多的先进技术研发的教育机器人平台。我们选择的平台是机器时代科技有限公司开发的“探索者创新平台”,简称“探索者”。其采用标准通用的结构件、传感器和控制器;快速验证设计方案,简单易用的初始程序;开源的资料库,实现了无上限的升级功能。适合于各类的开发创新,可设计出各类型智能机器人。

2.2设计教学实验项目

通过丰富的、有趣的项目实例,将CDIO的项目式教学方法理念融入到C语言程序设计课程中[3],让学生能动手制作并思考设计如何让自己做的机器人的动作达到自己的理想状态,使得被动学习转入主动学习状态。在动手并思考的过程中学生是一个开发程序的算法阶段,算法完成后再根据想法流程编写出程序再运行测试就是一个完整的C程序开发过程。因此在设计教学方案时,应以提高学生兴趣为出发点,大胆创新教学内容,激发学生的求知欲[4]。实验项目应按难易程度分并逐步进行,相对较容易的实验内容放在软件平台上进行[5],使学生掌握基本语法、基本知识点、错误查找方法、软件调试方法等基本知识,并养成良好的编程风格,例如制作调试“电风扇”“搅拌机”。以“迎宾机器人”“起重机”经典控制项目为对象,掌握基本的硬件编程、调试方法,实现机器人自动运行,并根据需求设置参数等,使学生掌握基本的硬件编程方法。后期可以鼓励学生,添加各种传感器、模块套件等硬件设施,独立设计方案实现不同功能。通过这些环节的训练,可以培养学生解决实际问题的能力。

c语言程序设计实验报告范文4

[关键词] 算法数学教学高职计算机专业算法学习报告

算法(algorithm)一词源于算术(algorism),算术方法的原义是一个由已知推求未知的运算过程。后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法。

算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。对于高职计算机专业的学生来说,算法的学习尤为重要,因为它是学习程序设计语言等专业课的基础。可是,现在的高职数学教材没有这一内容,并且在实际教学中数学理论与专业课程之间严重脱节,让学生觉得数学学习学之无用。因此在高职计算机专业的数学教学中加入算法内容,可以让学生在初步感受算法思想的基础上,结合对具体数学实例的分析,撰写算法学习报告,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力,为学习程序设计语言等专业课程打下坚实的基础。

一、根据学生的学习现状,设计了算法学习报告,通过让学生撰写学习报告来探讨如何通过具体的数学实例让高职学生体会算法的基本思想

算法学习报告包括:学生预习情况、小组讨论、教师点评、学结、教师对学习报告的评价和调查问卷六个部分,下面来具体进行分析:

1.学会课前预习是学好任何学科的前提,数学学习也不例外。可是,对于职业学校的学生来说,大多数的学生没有良好的学习习惯,也比较懒惰。如何让高职学生改变这样的现状已成为新时期高职教师亟待解决的问题。因此,根据高职学生的这一特点和算法学习的要求,我设计了算法学习报告中的学生预习情况部分,让学生通过充分课前预习来为课堂学习做好准备。这部分细分为:解题分析、算法分析、画出流程图和写出程序设计的代码(程序设计代码的编写可根据学生的实际情况进行调整)。

下面以一个数学实例来具体介绍算法学习报告中的学生预习部分。

教师在课前先给出预习内容:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在?

学生预习情况:对于这样一道“判断分别以这3个正实数为三边边长的三角形是否存在?”的题,以往的数学课上讨论的很少。因此,可能班级中绝大部分的学生没有一点正确的解题思路,就更谈不上写出解题分析、算法分析、画出流程图和写出程序设计的代码了。那么这时就来看看在课堂上教师如何引导学生进行这个内容的学习。

2.在课堂上通过以学生为主体的小组讨论方式,可以调动他们学习算法的积极性,同时开拓他们的学习视野。俗话说:“三个臭皮匠,顶个诸葛亮!”

课堂上小组讨论情况:有同学提出利用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。

3.教师点评是教师从旁引导,使学生能够正确理解算法的设计思路,建构正确的知识体系。

教师点评:为学生分析构成三角形的条件,鼓励学生尝试用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。

4.学生经过课堂上的小组讨论和教师点评后,已经有了大致的解题思路,但是仍需精加工。因此,要求学生独立完成学习报告中的学结,写出其中修改后的算法分析、画出流程图和程序设计的代码以及学后记。

学生修改后的算法分析:

第一步:输入3个数a、b、c。

第二步:利用“两边之和大于第三边”判断a、b、c是否能构成三角形。

第三步:如果能构成三角形,输出结果或者输出“无法构成三角形”的信息。

学生修改后的流程图:

程序设计代码:略

学后记:要求学生写出学习这部分内容的学习感受,找出自己在学习中的优缺点,为今后的算法学好坚实的基础。

同时通过以上这些具体的学习过程让学生通过自我反思,提高自身解决问题、分析问题的能力,为以后的算法学习积累丰厚的经验。

5.教师对学生所做学习报告的评价和成绩评定,可以让学生了解自己在算法学习上的优势和不足之处,为今后的学习打下坚实的基础。

6.学生在新的内容学习结束后,究竟掌握了多少?在算法学习方面还存在哪些问题呢?我在设计算法学习报告的同时还设计了一份调查问卷来了解学生的学习状况。

(1)你在预习时能理解多少研究主题的内容?

A.全部B.一半左右C.很少的一部分D.一点也不懂

(2)你在预习时能写出多少算法设计的步骤?

A.全部B.一半左右C.很少的一部分D.一点也不懂

(3)你在预习时能画出多少流程图的结构?

A.全部B.一半左右C.很少的一部分D.一点也不懂

(4)你在预习时能写出研究主题的程序设计多少行?

A.全部B.一半左右C.很少的一部分D.0行

(5)在听了小组的讨论后,你觉得在哪个方面的收获最大?

A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有

(6)在听了教师的点评后,你觉得在哪个方面的收获最大?

A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有

(7)你觉得填写学习报告中的预习情况对你的算法学习有帮助?

A.有很大帮助B.有一点帮助C.没有帮助D.可有可无

(8)你觉得小组讨论有必要进行下去吗?

A.很有必要B.有些必要C.没有必要D.可有可无

(9)在学习了这个研究主题后,你觉得目前你最薄弱的是哪一个环节?

A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有

(10)①教师给出的最佳程序设计写了行,

②你写出的正确的程序设计是行,

③最佳程序设计的行数:你写出正确的程序设计的行数= 。

让学生每做一份算法学习报告就做一份调查问卷,可以让数学教师和专业课教师及时明确地掌握学生学习情况的第一手资料。教师可以通过这些数据,对全班学生学习情况进行横向的对比,随时调整教学设计方案,找到适合高职计算机专业学生数学教学的模式;在撰写多个算法学习报告后,也可以对某位学生调查问卷的数据进行纵向的对比,从中可以看出这位学生的算法学习是否有进步,还存在哪些方面的问题亟待解决。教师可以及时给学生进行有针对性的辅导,提高他们的算法学习成绩。

二、撰写算法学习报告可以加强算法的核心内容――程序框图的学习

由于算法的概念并没有一个统一的定义,在教学过程中应从实例出发,通过让学生撰写算法学习报告可以加强学生对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,力求使学生能够对算法本质有所认识。自然语言、程序框图和算法语言是表达算法的三种形式,其中程序框图最为重要,它是算法的核心内容。教师在教学中要重点抓住它,而不必一味的追求程序设计的完整。算法案例配合学习报告的使用,可以使学生进一步理解程序框图,领会算法的本质。

三、算法学习报告对高职计算机专业数学教学的重要性和有效性

1.算法学习报告的撰写将数学学习与程序设计语言学习有机的进行了结合。

算法是实践性很强的内容,只有通过学生自己的亲身实践,让学生亲自去解决几个算法设计的问题,才能使学生体会算法的基本思想,学会一些基本逻辑结构和语句。算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法。为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,又要将自然语言或程序框图翻译成计算机语言。因此,如果能让学生上机,算法设计的整个过程就可以得到完整的体现,学生可以及时看到自己设计的算法的可行性、有效性,这不但可以很好地激发学生的兴趣,而且还能提高学习效果。但是有些学校教学条件不允许或者还没有开设程序设计语言的课程,算法学习报告的撰写正好弥补了这一不足,方便了学生进行算法的学习。

2.算法内容的学习最好安排在高职计算机专业的学生已经开始学习VB、C等程序设计语言课程后,这样能够直接与专业课的学习进行互动,学习成效会更加显著。

如果算法内容可以让高职计算机专业的学生用数学学习报告的方式进行学习,那么不仅能提高学生数学学习的兴趣,也能为专业课的学习打下了坚实的基础。

目前,算法教学刚刚起步,还有很多不完善的地方,但是我相信经过一段时间的摸索,一定会找到一个适合高职计算机专业学生的数学教学模式。高职数学教学改革任重而道远!

参考文献

c语言程序设计实验报告范文5

关键词:全英语教学;国际合作;留学生教学;分组教学法

中图分类号:G646 文献标志码:A 文章编号:1674-9324(2015)40-0215-02

一、引言

2001年教育部在颁发的《关于加强高等学校本科教学提高教学质量的若干意见》中提出:“本科教育要创造条件使用英语等外语进行公共课和专业课教学。对高新技术领域的生物技术、信息技术、金融、法律等专业,更要先行一步,力争三年内,外语教学课程达到所开课程的5%~10%”。2002《普通高等学校本科教学工作水平评估方案》要求“用双语授课课程指标采用外文教材,并且外语授课课时达到该课程课时的50%以上”。在这种导向性的背景下,普通高校由部分课程采用英语教学到实行全英语教学,已经成为高校教育改革的热点。

二、课程教学背景

德里克・博克,美国当代著名的法学家和高等教育专家,1971―1991年博克任哈佛大学校长。博克认为,高等学校是开展国际合作和学术交流最为有力的场所,大学和学院必须承担起这方面的责任。他指出:“像美国这样一个在科技发展建筑与海外学生和学者贡献基础上的国家,没有理由拒绝培养到我们大学寻求教育的有才华的外国人。任何限制外国学生在我们大学中研究科学的努力都是自我败阵的错误之举。”

上海理工大学和德国科堡应用技术大学联合举办光电信息科学与工程专业,中德双方分别授予“光电信息科学与工程”和“应用物理”专业的学士学位。本专业贯彻宽口径、光电结合的国际化教学理念,依托德国的优秀师资和现代化教学模式,定位为培养具有国际化能力的企业高级工程师,并且为去国外继续深造打下良好的专业基础。本专业采用国际化混班教学合作教学模式。一年级,中方学生在专业基础课程学习的同时侧重强化英语教学,二年级,德方加入我方实现混班全英语专业课程教学。《C语言程序设计(英)》即是我们为本专业学生开设的全英语基础课程。

三、全英语课程设置介绍

《C语言程序设计》是全校各专业本科教学中的一门重要公共技术基础课,在全校各专业的本科教学计划中占有重要地位和作用。在计算机教育方面,C语言是为数不多的与国外保持内容同步的课程之一,在本科生教学中的地位不言而喻。由于C语言是许多后续专业课程的基础,在本科生教学体系中,C语言教学仅是起点,而非终点。

本着“卓越工程教育”的培养目标,结合本校生源情况,着眼未来,本课程的建设目标是要努力把C语言从应试课程转变为一种实践工具,不再局限于使学生单纯地了解和掌握C语言的基本语法规范,而是要致力于培养学生运用C语言解决实际问题的编程能力。以C语言为工具,介绍程序设计的基本思想和方法,培养学生无论以后使用什么语言编程,都能灵活应用这些思想和方法的能力。

以程序设计方法为主线,以语法和结构为核心,以培养能力和提高兴趣为目标,变应试为应用。摒弃C语言课程以讲述语法为主的落后面貌,重视在新形势下的新方法、新规则和新思想的传授,把程序设计领域最新、最有价值的思想和方法渗透到古老的C语言中,给C语言一个焕然一新的姿态,并让学生从多角度以多种方式去了解和掌握C语言以及程序设计的精髓,让学生在学习程序设计的过程中,养成良好的编程风格。

全英语教学是培养学生“专业+英语综合能力”的重要手段。我国传统的基础外语教学基本上不涉及专业知识和技能,专业课的教学无论是从教材还是授课上基本是汉语一统天下,因此,我们要尽快提高学生“专业知识+英语听说阅读”的综合能力,而进行专业课全英语教学无疑是一个十分有效的方法。

教学共64学时,教学内容和学时分配如下:

第1章 C语言介绍(Introduction)(2学时)

第2章 数据类型、运算符与表达式 (Data Types,Operators and Expressions) (理论4学时,实验2学时)

第3章 简单的C程序设计(Simple C Programming)(理论4学时,实验4学时)

第4章 程序的控制结构(Controlling Structure of Programs)(理论6学时,实验4学时)

第5章 函数(Functions)(理论6学时,实验4学时)

第6章 数组 (Arrays)(理论6学时,实验4学时)

第7章 指针 (Pointers)(理论4学时,实验4学时)

第8章 结构体和共用体(Structures and Unions)(4学时)

第9章 文件操作(File Operation)(理论2学时,实验2学时)

复结(Review and Summary) (2学时)

实验设计的思想:以主要知识点为主线设计实验题目,实验程序兼具趣味和实用特点,以循序渐进的任务驱动方式,指导学生从一个代码较短的程序开始逐渐完成一个代码较长的实验程序的设计。

教材选用的是Cengage Learning出版社出版的Michael Vine著的《C Programming for the Absolute Beginner》,该教材为C语言入门级教材,深入浅出,注重实例,在实际教学中发挥了很好的作用。

四、教学方法创新――分组教学法

我们在授课阶段是采用授课和实验相结合的方法,教学仍以课堂讲授为主,虽然对学生自学能力要求不高,但启发式教学、讨论式教学和面向实践的教学方式也是注重实践能力培养的一种举措,既符合我国的国情,也符合国际发展高等教育的趋势。

2014―2015秋季学期,我们在《C语言程序设计》全英语教学班级采用了分组教学法。学生由两大部分组成,其中中德合作国际班学生32人,均为母语为中文的中国籍学生,留学生16人。在分组时,我们本着男、女生结合,中、外学生结合的原则,将学生分为8组,每组由1名中国女生+3名中国男生+2名外国留学生组成。分组教学主要体现在如下教学策略中。

1.分组讨论。Think-Pair-Share(思考―配对―分享)式教学方法。基于教育学中互相学习理论,在分组讨论时,让学生大胆用英语说出自己的见解,并和同组的学生互相交流,通过用英语反复阐述自己的观点,增强了关键知识点英语表述的能力,让学生更多的澄清了对问题、概念、知识的理解。

2.分组总结。Freyer-Model(纸片总结)式教学方法。孔子说:温故而知新。每节课结束后限制时间让学生进行一张纸总结,这样可以清晰地知道学生的掌握情况。同时教师可以通过一张纸总结清晰地了解学生对知识点的掌握情况。一组学生中遗漏或写错的知识点可以通过单独交流的方式予以澄清,如果几组学生都会写错或遗漏的知识点教师就应在下一次上课时集中指出。这样的交互式方法极有针对性,提高了教学效率。

3.分组实践。Practice-Oriented(面向实践的教学方法)。欧美等国家的高校在教学方式上多为课程教学与大作业相结合,对实践环节和学生自学能力要求高,考核非常严格,尤其注重实践环节的考核。上机实践时,我们采用分组方法,将一个大任务划分成子任务,由每一组中的成员协作完成,每组成员必须在实验报告中写清自己所承担的任务。实验的评分由实验水平、所承担任务的难易和实验报告的撰写水平共同决定。通过分组实验的方法,锻炼了学生协同工作的能力,明白了团队合作的必要性,同时也提高了英语的口语能力和英语实验报告的撰写能力。

五、教学视频和课程网站的使用

根据课程建设项目的要求,我们录制了全部理论教学的视频并实现了全部视频可以在线观看。作为教学辅助的重要措施,我们开发了《C语言程序设计》课程网站,包括以下内容:(1)Syllabus(课程教学大纲)。介绍本课程的教学目标、教学内容、学时数、理论与实验学时分配、考核方法、参考教材、参考书和参考资源。(2)Team(教学团队)。介绍本课程教学团队成员的基本情况,并留有联系方式,供学生与教师联系使用。(3)Slides(教学课件下载)。全部上课用的多媒体课件均实现网上可以下载和观看。(4)Videos(教学视频)。全部章节的上课现场视频已录制完成,并转换成“flv”格式,以便高速下载或在线观看。(5)Experiments(实验)。全部实验项目实现上网,历届优秀实验报告范例均贴出,供学生学习参考。(6)Strategy(教学策略)。每节课后的一张纸总结是本次教学改革的重点,在课程网站上,每一章我们选取最优秀的一组学生的总结并贴出来,以供其他学生学习参考。

六、结语

《C语言程序设计》是一门理工类院校的专业基础课,本文总结了我们在该课程在中德合作国际班上引入留学生进行全英语课程建设和教学中的心得,通过全英语教学,提高了学生的专业英语水平;通过和留学生的分组教学实践,提高了教学效率,促进了文化融合。

参考文献:

c语言程序设计实验报告范文6

一、改革课程内容,突出精讲多练

(1)对知识点进行分类

课程内容的合理调整是C语言课程改革的核心,围绕专业培养目标,根据企业对学生能力的要求,以“理论够用,强化实践”和“精讲多练”为原则,在课程内容上放弃过度追求C语言知识点本身的系统化和细节化,集中精力于本课程的核心知识点,对于一些不重要、不常用的知识点略讲或让学生课下自学。

具体地说,将C语言的知识点划分为A、B、C三类。A类为“应会”知识点,是学生必须掌握的核心知识点,教学中要求重点打透,反复练习;B类知识点为“应知”知识点,要求学生对其有一定的了解,教师要在课堂上适当讲解,进行练习;C类知识点为“自学”知识点,有兴趣的学生可在课后自学,教师可根据情况给以个别指导。

(2)内容模块化

整个教学内容分为四大能力模块,每个模块都制定了明确的学习目标。

基础能力模块以较快的速度,让学生接触程序基本结构、数据类型、程序设计的三种基本结构、函数等编程基本概念,而不去过分追求知识的系统化和细节化。

初级应用能力模块引入数组和字符串的知识,重点讲解如何使用数组和字符串,强调知识的应用,并巩固练习第一阶段的分支和循环等知识。

高级应用能力模块引入更复杂的构造类型D结构体,让学生掌握如何用结构体数组来解决较复杂的实际问题,并能够举一反三,解决其他相近的实际问题。

综合应用能力模块引入指针和链表,通过链表的操作,让学生掌握指针的基本使用方法,和如何利用指针来进行复杂操作的思想。最后将指针和数组做函数参数进行对比,让学生进一步理解函数中参数传递的问题。

(3)精心设计实践教学环节

C语言是一门实践性很强的课程,我们针对该课程的工程性和应用性,精心设计实践教学环节,注重实验、实训、课程设计的完整性、实践性,在内容的设计上突出可操作性、技能性和探索性,使实践教学环节内容与理论课程内容能够有机结合。C语言实践教学环节包括随堂实训/实验和课程设计两个部分。

1) 随堂实训/实验。随堂实训是学生利用自己的笔记本电脑在课堂实施的,随堂实训根据教学案例实施的阶段,设计了多个小型案例,使学生能够边学边用C语言。实验则要求学生在指定的时间内到开放实验室自己完成实验指导书上的实验,并提交实验报告。在实验的设计上,结合课程内容设计了八个系列实验,每个系列实验由若干个小实验组成,覆盖了教学大纲中要求掌握的全部知识点。

2) 课程设计。要求学生综合运用所学的C语言知识开发完成一个小项目。教师在课堂上介绍初步的软件工程思想,让学生了解软件开发的各个阶段及所要完成的工作,然后引导学生按照软件工程的思想,对给定的课程设计项目进行需求分析、系统设计、编码实现直至测试。学生完成全部工作后,要撰写课程设计报告,并进行答辩。

几年来的实践表明,多种不同形式的实践教学,激发了学生学习的兴趣,发挥了他们的主动性和创造性。通过实践教学,促使学生将所学的C语言理论知识转化为从事与C语言相关的软件开发所必需的职业技能,从而实现学以致用的目的。

二、注重培养学生思维能力,加强对学生程序设计思维的训练

《C语言程序设计》课程不仅仅是一般意义上的知识传授,还要让学生掌握程序设计的基本方法,对学生进行逻辑思维能力的培养。在实际的教学过程中,我们发现有些学生平时学得很认真,对语法、语句等细节也很熟悉,但碰到稍微复杂的编程则无从下手。教师在教学过程中要树立正确的教学思想,加强学生的程序设计思维训练,帮助学生顺利地实现思维方式的转变,而不能单纯地讲授语言的语法、语义、语用,应该将复杂枯燥的语法知识分解到一个个生动实用的程序实例中。对于从未受过设计训练的初学者来说,可能会感到无从下手,对此,教师应该有意识地加强这种思维方式的训练,通过讲授一些常用算法、典型算法,如记数、累加、连乘、两数交换、求最大(小)值、迭代、排序、分类等为以后编写程序、软件设计奠定基础,同时典型算法熟练的掌握,也可增加学生学习的信心并提高学习的兴趣,培养学生的思维能力。

三、改进考核方式

C语言课程所有考试均实行考教分离,在考核方法上,考虑到高职院校是培养应用性实用型人才的这一特点,该课程除采用传统的笔试外,大胆采用更能反映学生知识应用能力的上机考试,这一考试形式非常受学生欢迎。可以采用多种形式考核学生,重点考核学生的实践动手能力。对学生学习成绩的评定,可以采用综合考核法,将平时同学之间的合作、参与问题讨论的效果、书面作业、实验作业等与期末卷面成绩进行综合,得出本课程综合评分。这种方法不但能客观地反映学生的学习情况,同时也能促进学生自主学习,起到很好的教学效果。

参考文献: