第一篇:微课程理念下的“C语言程序设计”教学改革
微课程理念下的“C语言程序设计”教学改革
摘 要 针对高职院校学生学业素质不高,普遍认为C语言程序设计课程难懂、难学的现状,本文结合目前的研究热点“微课程”理念,从C语言课程教学资源库开发、教学应用模式、微课程共享共建平台等多个方面,提出该门课程的教学新思路。
关键词 微课程 资源开发 教学模式
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdks.2015.05.058
“C Programming Language” Teaching Reform
under the Concept of Micro-courses
TIAN Jinhua
(Chongqing College of Electronic Engineering,Chongqing 401331)
Abstract Vocational colleges for students academic quality is not high,generally considered the C programming language courses to understand,to learn the status quo,this paper,the concept of the current research focus “micro course”,from C language teaching resource library development,teaching application mode,Teaching the course of new ideas shared many aspects of the micro-programs proposed to build a platform.Key words micro-course;resource development;teaching model
随着科学技术的快速发展,高等职业教育面临着一系列的挑战,传统的教学方式、学习方式与动态的个性化、多元化的学习需求之间的矛盾日益加剧,高职教育的教学改革必将顺应时代的潮流。如今大学生已是“数字时代原住民”,高职教育教学形式需要适应数字一代的学习方式和思维方式。微课以其“精、短、趣、小”的特点,迎合了时代要求和大众心理,本文把微课程教学理念引入到高职院校的教学中,打破了传统的以老师为主的教学模式,让学生真正能成为课堂的主人,目的是让大学生将所学C语言知识与实际生活结合起来,进行深层次的讨论与思考,从而更好地钻研学科知识,取得最佳的教学效果。微课程理念概述
微课教学通常是以教学视频为载体,其主要的学习形式通常为流媒体与自主学习,它是根据人才培养计划和教学目标的要求来完成的,它覆盖其整个课程的所有重要知识点,在短时间内实现本课程所有教学活动,并能取得良好的教学效果。其课程体系并不复杂,教学目标与教学对象是为需要学习该部分知识的人群设定,并传授其特设的教学内容。其特征如下:
(1)片段视频教学。以教学视频片段为主线的统一完整微课在教学内容选取上要求突出重点主题、明确教学目标,其教学资源包含图片、视频、微课课件、讲义、成绩、反思、评价、问题、建议等与之有关的教学资源构成了相对完整的教学环节,其教学结构与主体突出、类型多样紧密结合。
(2)教学资源所占空间小。微课核心内容是教学视频,但其总的视频教学容量非常小,它目的是便于学习者将资源保存到电脑或移动终端设备上,不受时空的限制,让师生们阅读教案、课件、观摩课例等课辅资料,以实现师生在internet上的探讨、答疑等内容与学生的移动式学习。
(3)突出重点内容。微课教学设计的要求是突出学科知识的重、难、疑点等内容,其教学内容相比传统的复杂宽泛的内容更为精辟。人们之所以称它为“微课堂”,其主要原因在于它的教学设计比起传统课堂要求,其问题更加集中,主题更加鲜明突出。
(4)教学时间短。传统的教学时间为40 或45 分钟的一节课,而“片段式教学”的微课根据学生的学习规律和认知特点其时间一般不超过15分钟。另外,微课相比一般的课堂更能提高思维能力高阶段的培养,并能较好地领悟默会知识和隐性知识,提高了教师的业务水平和学生的学业水平,从而促进了教师的专业成长,提高了学生的专业素养。C语言程序设计课程引入“微课程理念”的必要性
由于C语言程序设计课程本身来说是一门高级语言,对刚入校的大学生们来说是非常难以理解的,为了简化问题的难度,本文将微课教学理念实践于C语言中,其主要原因如下:
第一,作为一门汇编语言之后的高级实用编程语言,它的编程功能非常强大,且具有灵活自由的编程风格,一直以来受到广大编程人员的喜爱,但同时以上优点又成了入门级学习者前进的阻碍。语法结构灵活使得初学者们望尘莫及,繁琐的知识点使得他们头昏脑胀。加之目前高职院校大多数在大一的上学期就开设了C语言程序设计这门课程,而大一新生对计算机硬件结构和一些简单的软件概念不够了解,他们基本上很难理解和掌握本门课程所学知识。因此,教师需要在上课之前为大一新生解决较多的知识衔接的问题,微课程的出现为当前的教学需求提供了良好的解决方案。
第二,移动式internet为学生的学习时间更加碎片化带来了便利,这使得学生的教学可以通过微课程的教学模式来学习。微课程教学强调以“学生自主学习“为中心,学生在学习过程中具有更多的主动权,学生可以对C语言知识难点多遍学习直到学懂为止,不受时间的限制。在教学资源整合的过程中,教师要扮演多种角色,如内容呈现者、辅助者和设计者等。除此之外,教师还要在学习的内容上给予控制与学生自主活动之间起到转换平衡的作用。学生利用很少的时间通过微课程教学掌握关键的知识点,进而提高该门课程的教学效果。
第三,目前,国内外C语言程序设计教材有很多,而且大部分教材上都提供了一些经典的案例,具备有较为完整的知识结构和丰富的实例,并且C语言程序设计相关案例和知识点适合以微课程的形式引入教学过程中。微课程可以因材施教,形成自主学习的资源库,学生根据自己的学习情况,从资源库中吸收重难点知识。基于“微课程”理念的C语言程序课程的教学改革
3.1 开发本土化的微课程C语言程序教学设计
打造专业核心课程的网络“微课程”教学资源库是C语言程序设计教学改革的关键,教学资源池是教学的基础,如果没有它,教学改革将很难进行。为了确保更新教学内容,高等职业学院校的教学改革实践应与高校教学全新的理念相结合,依据不同年级的不同学时给予在教学内容上有所取舍,并注重交叉学科的融合学习。开发C语言程序设计课程微课程设计应注意以下三个方面:
第一,微视频是教学的一个环节,也是一种学习资源,但并非教学的全部内容,它是根据培养计划与时代发展的需求,选取重、难、疑、热点内容来开发的微课程学习资源库,这些微课教学资源池里面包含所学内容的教案、课件、测试与练习、教学反思、点评等支持性和扩展性教学资源,形成了一个动态的资源与教学交互的应用环节,该资源具有半结构体、网页化、开放性、动态性等特点。因此,微课的资源不是静态的,而是发展的,不断完善的过程。
第二,建立“学习者”为中心的教学理念,学生为本的教学思想,要从学生的现有知识水平去制作微视频,努力营造一种主动参与与探究学习的氛围,并非教师从自己的角度去进行教学设计,这是作为一名教学工作者首要解决的问题。教师在信息环境下的微课教学设计的理念、模式、方法等内容时,一定要考虑到学生是个体,它是学习的主体。因此,在设计时一定要把微课程的性质定位于“学习型资源”,更多的是关注学习者的心理和习惯思维,在激发学习者的兴趣时,通常采用活动设计、问题导向、任务驱动等方法。要求学生在课堂外进行深入的自主学习和探讨,为课堂内开展面对面的思想碰撞创造条件。
第三,建立C语言程序教学模式。C语言程序设计课程教学应用模式包括两部分:一部分是课前教师将微课程为主的学习资源放到云端资源池,要求学习者进资源池去事先学习C语言相关的知识,包括学习本课程前的必备知识、本课程主讲内容、自我检测题库,并对所学知识难点、凝点总结并形成问题,便于与同学、老师探讨;另一部分是在课堂上教师通过学生提出质疑,对知识点的实践与应用进行深入的探讨和分析将知识进行消化、内化、应用并体验,最后成为学习者自身的一部分,让新知识的应用变得很自动化,目的就达到了――达成了所学知识在学生工作和生活中的顺利迁移。具体如图1所示:
图1 C语言程序设计教学模式
3.2 师生共同搭建微课程学习云平台
微课程教学理念下的C语言程序设计教学,它是以“学生为主体”师生共同构建的“微课程”学习云平台。教师是课程教学的引导者,学生则为课程学习的主动者。在具体运用中,成立项目小组,推荐网络经验丰富、专业知识较强的学生来管理,并对网络上的课程资源不断进行维护与更新,采用微博、博客等网络工具。在信息化发展的今天,internet实时管理操作受到大学生群体的推崇。在学习云中建立了课内外两个互动平台,并且有一套激励学生学习的机制,对平台有贡献的学生给予学分鼓励的政策,以提高学生积极的参与度,促进学生对知识的消化和吸收。另外,专业教师也要在这个云平台中扮演好角色,如对云中心教学内容进行定期的监管与更新,对学生的问题要及时给予回馈和解答。结束语
将“微课”引入到高职C语言程序教学中,解决了学生在学习中的一些常见问题,教学效果得到明显提升。在以后的工作中,将继续研究探讨“微课”在教学设计中的应用,进一步增强其对教学功能的补充,实现多元化、个性化的教学方式。作为高校教育工作者应有积极的态度接纳新事物,敢于挑战传统的教学模式,对其弊端大胆地进行整合和革新,方能与时俱进。在夯实传统教学优势资源的同时,也要积极分享其教育信息技术革新带来的成果。
参考文献
[1] 张丽华,叶利华.基于微课程的C 语言程序设计教学改革探索[J].计算机教育,2014.6.[2] 奚骏蔷.微课程在程序设计教学中的运用[J].应用交流,2014.11.[3] 胡铁生.微课:区域教育信息资源发展新趋势[J].电化教育研究,201l(10):61,65.
第二篇:C语言程序设计教学改革总结报告.
《C语言程序设计》教学改革总结报告
《C语言程序设计》是信息工程系各专业都开设的一门非常重要的专业基础课,也是国家计算机等级考试可选编程语言之一。掌握好C语言的编程技术,将为学生学习后续高级编程语言奠定坚实基础。但C语言概念比较复杂,规则繁多,使用灵活,容易出错,学生掌握起来有一定的难度。以往授课方式为大教室合班上课,课后安排上机实验。学生反映理论内容较抽象,并与实践有些滞后脱节,给学生掌握课堂内容增加了难度。针对这种情况,我系自2007年起,对《C语言程序设计》进行了教学改革,对授课方式,考核方式,教案组织,上机考试等几方面进行了改革,并取得了非常理想的教学效果。
首先,改变了以往大教室合班上课方式,改为单班实验室授课。这种方式授课,可以使学生听懂教师所讲授的理论内容之后,马上通过上机实践,加深理解并真正掌握课堂内容,同时也提高了学生的动手编程能力。掌握编程技术的最佳方法就是自己动手编程,在实践中逐步提高水平。而这种授课方式,正好可以使理论与实践相结合,并且由于单班授课,教师可以对每名学生进行一对一辅导,这样可以使学生对课堂内容马上理解并掌握,所以教学效果良好。
其次,对考核方式进行了改革,成绩考核方法是平时成绩占30%,上机考试成绩占30%,笔试成绩占40%。这种考核方式即可以考察学生的平时表现,又可以考察学生对课程的掌握程度。既考察了理论掌握情况,也考察了学生的实践动手编程能力,客观公正。通过学生意见反馈,学生对这种考核方法也表示赞同和认可。
第三,我们针对单班实验室授课这种新的授课方式,重新编写了教案。组织教案的原则主要是理论与实践相结合,组织方式是,对于每一章节,首先介绍概念,原理,算法,语法和注意事项,然后通过适当的例题来讲解,同时组织1-2个例题,立即让学生上机实践,编写和调试程序,教师当堂辅导,所以使学生可以对课程内容当堂理解,当堂消化吸收。
第四,对以往上机考试进行了改革。以往上机考试为教师出3-4道编程题,每名学生都答一样的题,存在一些弊端。现在上机考试改为采用《C语言程序设计上机
考试系统》,系统具有自动出题、随机组卷、计时收卷、实时评分和记录成绩功能,大大提高了考试效率。每名学生的3道考题是随机产生的,与周围学
生的考题均不相同,所有考题取自国家二级考试模拟题题库,具备针对性,同时《C语言程序设计上机考试系统》具备平时练习和正式考试两种使用方式,学生平时练习时可以生成参考答案,这样学生可以在练习过程中,逐步提高编程水平。因为是实时电脑评分,所以迫使学生必须经常练习,在不知不觉中也就提高了对C语言程序设计的理解和掌握。
从成绩上分析,以2007-2008第二学期为例,我系共有314 人参加了考试,及格人数 281人,及格率89.5%,不及格人数 33人,不及格率10.5%,平均分72.3。我讲授《C语言程序设计》已有多年,据我所知以往考试的不及格率约为30%左右,平均分约为60分上下,所以教学改革后,《C语言程序设计》取得了很好的教学效果。
从学生反映上分析,学生对在机房上课及考核方式完全认可,认为既可以掌握理论知识,同时通过自己动手实践掌握编程技术,加深了对课程内容的理解和掌握。学生普遍反映能够提高动手实践能力和理论知识运用能力。
《C语言程序设计》教学改革存在的问题有以下几点,第一,现在使用的教材是清华大学出版社谭浩强编写的《C语言程序设计》,是国内权威的教材,但它在内容的组织、顺序的安排与在实验室上课有些差别,所以是否考虑针对在实验室上课这种新的授课方式,重新编写一本教材。第二,教案的内容上,还有待于进一步细化和调整,尤其是学生练习的例题,需要进一步的斟酌与挑选。第三,《C语言程序设计上机考试系统》还需要升级完善,在考题数量,难易程度,答案数量以及适用于VC++开发环境等方面,还有大量的工作需要完成。
总之,《C语言程序设计》教学改革取得了非常理想的教学效果,无论是在学生成绩的提高上,还是学生的反映上,以及考试的效率上等均达到了教学目的,但仍存在一些不足,希望院系领导能够针对存在的问题,组织人员,商讨对策,进一步提高《C语言程序设计》这门课程的教学水平。
总结人:谢进军 2007年12月
第三篇:关于《C语言程序设计》课程的教学改革与实践.
关于《C语言程序设计》课程的教学改革与实践
日期: 2010-5-12 1:24:52 浏览: 8 来源: 学海网收集整理 作者: 佚名 【摘 要】C语言是我国高校普遍开设的一门课程,本文根据实际教学经验,介绍了在C语言程序设计中进行的一些改革与实践。其中对提高学生的学习兴趣,发挥多媒体教学的优势,提高课堂生动性及学生能动性提出了一些行之有效的方法。
【关键词】C语言程序设计; 教学改革;网络多媒体教学
Abstract :C language is a course generally set up by China’s colleges and universities, this article introduced some of the reform and practice in the C programming language in accordance with the actual teaching experience.Threre are number of effective methods which can increase the students’ interest in teaching,play the advantages of multi-media teaching and improve classroom liveliness and students’activity.Key words:C language programming design;Teaching reform;Network multi-media teaching
现在计算机已普及到各行各业,深入到各级层次,而学习C语言程序设计是提高人们计算机知识水平的重要步骤。在我国高等学校教育中C语言不但成为计算机专业的必修课,而且也越来越多地成为非计算机专业的学习课程。做好该门课程的教学具有非常重要而深远的社会意义,现将我在C语言程序设计课程中教学内容、教学手段、教学方法等方面的改革与取得的教学效果与大家做一探讨。
一、仔细领会教学大纲,全面深入教材改革
教师深入分析教学大纲,在全面了解学生的数学基础知识状况的前提下,根据大纲制定好教学计划。将教材中涉及到学生未掌握的数学知识方面的例题进行更换,避免因数学知识问题形成教学障碍。
在选取教材时,要选择“精讲多练、案例应用”为主的教材。C语言程序程序设计本身比较抽象,学生在刚开始接触的时候很难理解,所以兴趣并不很大。根据这门课程的一般教学顺序,在前几周讲授的内容往往是变量、数据类型、运算符、表达式、语句、函数等定义、使用说明等。这些理论知识中概念多、难以理解和记忆,会使一些学生失去学习C语言的兴趣。为了避免这种现象的出现,应该采用“理论精讲,够用就行”的教材,教师在讲授具体程序和案例时再将涉及到的未讲知识补充讲解。通过这种讲解方法可以减少学生的学习压力,保证教学进度和教学效果。
在教学过程中,以“案例驱动,兴趣引导,自身实现”贯穿整个教学过程。以学生感兴趣的某种游戏为案例,通过用C语言编程来实现游戏的过程引起学生的兴趣,再讲解具体的C语言知识。引起学生兴趣的案例除了游戏案例外,还可以是其他学生感兴趣的内容。最后让学生自己建立一个开发项目,用所学的C语言知识来实现。这种方法避免进行枯燥的语法训练,学生不会觉得课程枯燥无味,能提高学生的学习积极性,更重要的是学生能感受到C语言的结构化编程思想,并进行一定的实际编程获取编程经验。
二、应用网络多媒体教学模式的 C语言教学
1 世纪人类社会全面进入信息化的世纪,信息技术的广泛应用将极大地改变人们的生产生活方式,教学也不例外,网络技术的应用必将改变传统的教学方式。C语言教学中重点与难点内容用FLASH软件制作成动画演示教学,能够把抽象的过程以真实的、直观的方式展现出来。把动态的图象和学生的抽象思维活动密切地结合起来,教师可以重点突出的讲解程序算法,教师演示课件时的速度、次数,以及前后顺序等都可以根据教学需要灵活地控制和改变,使得教师易于把握教学的进度。根据FLASH软件的特点,可以让学生动手控制动画的执行步骤,在观看或者参与动画的过程中加深理解C语言的执行过程。利用几何图形、色彩变化及闪烁等效果,再现程序执行过程的动态及变化过程,例如C语言课程中的汉诺塔问题、杨辉三角形问题,还有许多排序和比较的程序,能够通过动画把完整的过程演示。
在网络教学方面可以把教学内容做成课程网站。上课时讲解网站上的理论内容和相关练习题。学生可以通过计算机访问网站中每次课讲的内容,在编写程序时遇到问题可以先通过网站查找相关资料先自己解决问题。这种方式便于学生整理学习笔记,培养学生解决问题的能力。还可以在网站上布置课后作业和收取学生的作业,便于教师的作业批改。
在网络教学方面还可以采用局域网内的网络教学管理软件进行教学与指导,例如极域教学软件。这种教学软件可以在教师机上给学生做同步演示与讲课,在学生做练习时可以把学生做练习的过程用广播形式在局域网内演示给其他学生看,这样增加了互动效果、方便对学生的练习进行讲解。
三、创造条件加强学生能力的培养
学生编程能力的提高,不是听来的,不是看来的,而是练出来的。机械的练习老师布置的作业只能完成对知识的认识,还不能完成对知识的理解与运用。利用比赛、项目任务的方式给学生以压力,让学生充分动脑在短时间内提高自身运用C语言的能力。比赛能给学生一种荣誉感,能激发学生的学习主动性、创造性,可以充分展示学生的学习能力。在教学过程中,可以根据以讲完的教学内容进行专项应用比赛,也可以在学习完C语言后进行班级内、学校内的大型比赛。比赛完成后树立学习的榜样,给学生以学习动力。
在学生C语言的编程能力方面,“授之以鱼,不如授之以渔”。程序设计是一种具有创造性的工作,程序设计具有一定的抽象性,它用数学的方法去描述一些问题。一般的程序设计要建立数学模型,要进行算法设计,这样才能将实际问题的解法表达成计算机所能表达理解的形式。在教学的过程中不能单单满足于授予学生多少知识内容,而是要加强学生独立分析问题、解决问题能力的培养。因此,课堂教学要摆脱呆板、生硬的灌输,应着力于激发学生的学习兴趣,帮助学生树立正确的学习动机,培养学生的学习能力。例如以一个成熟的项目展示完整的C语言代码,向学生讲解代码中算法、建模的过程,培养学生的良好编程习惯。
四、采用综合考核法评价学生的成绩
对C语言程序设计的考试是衡量这门课教学情况与学生学习的好坏的标准,不是看学生“知不知道”,而是“会不会干”。C语言程序设计考试是一门考察学生的逻辑能力、C语言语法掌握能力、编程能力的综合考核。不能只用主观题和客观题来评价,而应当把重点放在编制程序和调试程序上。所以对学生学习成绩的评定,采用综合考核法,将平时的实践成绩与期末卷面成绩进行综合,得出本课程综合考评分。这种教学法,不但能更客观地反映学生的学习情况,同时也能促进学生学习起到很好的教学效果。
单一的考核方法并不能体现学生的学习效果和教学效果,需要用多种方式来评价。在采用上述方法后,还可以试行反复考试法。反复考试法就是当学生对自己成绩不满意,认为没有考出自己实际水平时,可以给学生一次或多次重新考试的机会。高校教学的目的并不是考试,而是培养学生的学习能力与实际动手操作能力,通过这样多方式考核的办法可以充分评价出学习的学习能力与实际动手操作能力。
五、校企结合面向社会培养学生的编程能力
为了使学生学习到的知识与社会接轨,可以创建校企结合的课程建设方法。听取企业家对C语言程序设计教学改革的意见、由企业向学校提供实验(实习)条件、以企业作为学生的校外实习基地或者企业为学生提供就业岗位,通过这些方法使学生熟悉公司内的编程环境,尽快进入工作状态。学校还可以邀请企业家为学生开讲座,派遣青年教师到企业去实习,使教学的内容与企业的实际更为贴近。学校作为企业的人才培育基地,发挥技术和设备的优势,为企业提供支持,向企业输送合格毕业生,校企结合实现双赢。
总之,在“C语言程序设计”课程中,我们要努力提高学生对课程的兴趣和学习热情,在教学手段上充分利用多媒体、网络软件等手段,使得学生充分掌握C语言的基本理论知识,同时加强学生自身的学习能力和实践能力的锻炼,使学生更好地掌握C语言程序设计方法符合现代社会对人才的要求。
【参考文献】
[1]孔垂柳.田地.基于程序设计思想的C语言教学方案.吉林大学学报(信息科学版),2005,23(8):5-6.[2]陈东.计算机多媒体教学改革的一些尝试[J].福建师范大学学报(自然版),2004,20(3):98.[3]李明等.C语言程序设计教程[M].上海:上海交通大学出版社,2007,26-32.
第四篇:《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲
一、课程教学目的
本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。
二、课程教学要求
通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。
三、课时分配
本学科计划学时为246学时,其中理论与实训课时比例为7:3。
四、课程教学重、难点
课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。难点:指针的使用、结构体链表的构造和使用及函数的参数传递。
五、课程教学方法(或手段)
本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。
六、课程教学内容 第一章 C语言概述 1.教学内容
(1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2)C语言的历史背景、特点;(3)C语言源程序的格式和程序结构;(4)C程序的上机步骤。2.重、难点提示
(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;
(2)难点:编程入门以及对语言的理解。第二章 算法 1.教学内容
(1)算法的概念及特性;评价算法优劣的方法(时间和空间);(2)简单算法举例;
(3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化程序设计的基本思想及基本步骤。2.重、难点提示
(1)重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解);
(2)难点: 算法概念以及对结构化程序设计思想的理解。第三章 数据类型、运算符与表达式 1.教学内容
(1)基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数(float和double);
(2)变量的类型说明、初始化及引用;(3)运算符与表达式: 2.重、难点提示
(1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。
(1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。第四章 最简单的 C 程序设计 — 顺序程序设计 1.教学内容
(1)C程序结构和语句的构成;
(2)顺序结构程序的设计:赋值语句的使用要点;(3)数据的输入与输出: 2.重、难点提示
(1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利用流程图加深对顺序结构程序的理解。
(2)难点: 格式输入与输出表示中各种格式字符的表示含义。
第五章 选择结构程序设计 1.教学内容
(1)关系运算符和关系表达式;(2)逻辑运算符和逻辑表达式;
(3)if语句(if;if„else„;if„else if„else„);(4)switch和break语句。2.重、难点提示
(1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利用流程图加深对选择结构程序的理解。
(1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中使用break语句运行结果的判定。第六章 循环控制 1.教学内容
(1)用goto语句构成循环、for语句、while语句和do„while语句;(2)循环嵌套;
(3)break,continue语句。2.重、难点提示
(1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;常见的循环嵌套形式;正确区分for语句、do„while语句与while语句;break语句和continue的应用及其区别;
(2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。第七章 数组 1.教学内容
⑴ 数组的含义与存储特点; ⑵ 数组的定义与使用; ⑶ 字符数组。2.重、难点提示
(1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。
(2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。
第八章 函数 1.教学内容 ⑴ 函数的定义;
⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句; ⑶ 参数的传递方式:形式参数与实在参数; ⑷ 局部变量与全局变量; ⑸ 变量的动态存储与静态存储; ⑹ 内部函数与外部函数。2.重、难点提示
(1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。
(2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。第九章 预处理命令 1.教学内容
⑴ 预处理的概念与特点; ⑵ 符号常数和宏的定义; ⑶ “文件包含”处理。2.重、难点提示
(1)重点:宏定义的方法;“文件包含”与预处理的应用。(2)难点:宏定义的方法。第十章 指针 1.教学内容
⑴ 指针与地址的概念;
⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指针变量作为函数参数的应用;
⑶ 指针与数组(数组的指针和指向数组的指针变量); ⑷ 字符串的指针和指向字符串的指针变量;
⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数; ⑹ 指针数组和指向指针的指针;
⑺ 对main()函数命令行参数的基本了解。2.重、难点提示
(1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串的指针和指向字符串的指针变量;指针数组与指向指针的指针。
(2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有关指针的数据类型定义和指针的相关运算。第十一章 结构体与共用体 1.教学内容
⑴ 定义结构体类型变量的方法;
⑵ 结构体变量的引用与结构体变量的初始化; ⑶ 结构体数组与指向结构体数据的指针; ⑷ 指向结构体类型数据的指针及用指针处理链表; ⑸ 共用体; ⑹ 枚举类型;
⑺ 用typedef定义类型。2.重、难点提示
(1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、共同体类型变量的定义方法。
(2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。第十二章 位运算 1.教学内容
⑴ 运算符和位运算; ⑵ 位运算举例; ⑶ 位段。2.重、难点提示
(1)重点:掌握各种位运算符,运算规则和优先级。(2)难点:各种位运算符的运算规则和优先级。第十三章 文件 1.教学内容
⑴ 文件类型指针; ⑵ 文件的打开与关闭; ⑶ 文件的读写; ⑷ 文件的定位。2.重、难点提示
(1)重点:掌握文件操作的相关标准函数;(2)难点:文件的读写和定位操作。
七、实验教学内容
实验项目(一):C 语言中控制语句的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(二):C 语言中数组的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、引用、初始化,用二维数组实现矩阵的有关方法算法。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(三):C 语言中函数的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定
义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个复杂问题。
(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(四):C 语言中指针的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。(4)主要仪器:计算机(5)实验考核方法:随堂考查
实验项目(五):C 语言中结构体与链表的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使用;检共用体的概念与使用。(4)主要仪器:计算机(5)实验考核方法:随堂考查
实验项目(六):C 语言中文件的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求:
掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。(4)主要仪器:计算机(5)实验考核方法:随堂考查
八、课程考核方式 1.考核方式:
闭卷考试 2.成绩构成:
平时+期末
九、选用教材和参考书目
[1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。
[2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学出版社,2001。
[4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。
第五篇:c语言程序设计课程教学大纲2012
《C语言程序设计》课程教学大纲
课程编号:
适用专业:机械制造、数控、焊接 专业责任教学单位:机电工程系 总学时:36学时 考核形式:闭卷 笔试 课程类型:专业基础课 选读方式:必修课 教学目的:
我们的时代是一个离不开计算机的时代,对于机械制造、数控、焊接专业学生,程序设计是学生必备的技能之一。C语言是一种广泛使用的结构化程序设计语言,它既具有高级语言的特点,又具有低级语言的特点,它的通用性与灵活性使得它比一般的程序设计语言更加通俗易懂。
本课程从介绍C语言的基础知识入手,引入“模块化程序设计”思想,强调实例教学,并结合大量的上机实践,要求学生在模仿、实践中逐步学会编写程序,提高阅读程序的能力及实际操作能力和技能,为以后更好的理解程序,学习程序,开发软件打好基础。
主要教学内容及要求:
第一部分 进入C语言程序世界(2学时)
1、要求:了解C语言的特点,掌握C程序的结构组成,算法的概念及其表示方法,熟悉VC编程环境使用。
2、内容:
1.1 了解C语言程序的结构 1.2 设计简单的C语言程序 1.3 C程序的调试与运行 1.4 计算机语言的发展
3、重点:C程序的结构、VC编程环境、算法的概念及其表示、编写最简单的C程序。难点:编写简单的C程序。
第二部分 编制C程序设计的基础知识(2学时)
1、要求:熟练掌握C语言基本数据类型和表达式,掌握并熟练运用常用的I/O函数。
2、内容: 2.1 常量与变量
2.2 C语言的基本数据类型 2.3 C语言的常用运算符与表达式
3、重点:C语言基本类型、C语言常用表达式。难点:C语言表达式运算符优先级的判断。第三部分 顺序结构程序设计(2学时)
1、要求:了解三种结构程序设计的思想,掌握顺序化结构程序设计的方法。
2、内容:
3.1 结构化程序设计的三种基本结构 3.2 数据的输入与输出 3.3顺序结构程序设计举例
3、重点:顺序结构程序设计,printf与scanf函数的使用。难点:printf与scanf函数的使用。
4、实验:
实验
一、输入/输出函数编程实训 实验
二、顺序程序结构设计
第四部分 选择结构程序设计(2学时)
1、要求:掌握选择结构程序设计的方法,if语句,switch语句的应用。
2、内容:
4.1 选择结构程序设计简介 4.2 if语句的典型应用形式 4.3条件运算符和条件表达式 4.4 switch语句的应用 4.5 选择结构程序设计应用
3、重点:选择结构程序设计,if语句与switch语句的应用。难点:if语句与switch语句的使用。
4、实验:
实验
三、选择结构程序设计
第五部分 循环结构程序设计(4学时)
1、要求:掌握循环结构程序设计的思路,while语句、do—while语句和 for语句的使用,循环语句嵌套,break和continue语句。
2、内容:
5.1 为什么使用循环
5.2 while语句与do...while语句 5.3 for语句实现循环 5.4 几种循环的比较 5.5 多重循环(嵌套循环)5.6 break和continue语句 5.7 循环结构程序设计举例
3、重点: while语句、do—while语句和 for语句的使用,循环语句嵌套,break语句。难点:循环语句的嵌套。
4、实验:
实验
四、循环结构程序设计
第六部分 应用数组设计程序(4学时)
1、要求:掌握数组的定义、引用和初始化,熟练运用数组解决同类型的多个变量问题。
2、内容: 6.1 数组的引入 6.2 一维数组 6.3 二维数组 6.4 字符数组 6.5 数组的应用
3、重点:一维数组、二维数组和字符数组的定义和应用。难点:二维数组、字符数组的应用。
4、实验:
实验五、一维数组的使用 实验
六、字符数组的使用
第七部分 应用函数设计程序(4学时)
1、要求:掌握函数的定义及调用规则,理解实参和形参数据的传递方式,熟练运用函数实现模块化程序设计,理解函数的嵌套调用和递归调用,内部函数与外部函数,理解变量的作
用范围和存储类别
2、内容: 7.1 函数的引入 7.2 函数的定义与调用 7.3 函数的嵌套调用和递归调用 7.4 函数应用实例
7.5 局部变量、全局变量及其存储 7.6 内部函数和外部函数
3、重点:函数的定义与调用、递归和嵌套函数、变量的存储类别和作用范围。难点:函数的调用、递归函数的使用。
4、实验:
实验
七、函数的使用 第八部分 应用指针编制程序
1、要求:了解指针的概念及定义,掌握指针的使用方法,掌握指针和一维数组以及指针和二维数组的应用。掌握几种特殊类型的指针。
2、内容: 8.1 指针概述 8.2 指针变量 8.3 指针与数组 8.4 指针与函数 8.5 指针数组 8.6 指向指针的指针
3、重点:指针变量的定义和使用、指针与变量、数组、函数指向应用。难点:指针变量作为函数参数、指针指向数组、函数的应用。
4、实验:
实验
八、指针的简单使用 实验
九、指针的高级使用
第九部分 结构体、共用体和枚举类型的应用(4学时)
1、要求:理解并掌握结构体的基本概念和用法,掌握共用体和枚举类型的基本概念及一般使用方法,了解用户自定义类型。
2、内容:
9.1 结构体类型与结构体变量的定义 9.2 结构体变量的引用 9.3 结构体数组 9.4 结构体与指针 9.5 结构体与函数 9.6 结构体应用—链表 9.7 共同体 9.8 枚举类型
9.9 用typedef定义类型
3、重点:结构体、共用体和枚举类型的定义、引用和初始化 难点:结构体的概念和使用
4、实验:
实验
十、结构体和共用体的应用 第十部分 文件(2学时)
1、要求:理解文件的结构类型、文件指针的相关概念,掌握文件的打开、关闭、读写、定位等文件操作
2、内容: 10.1 文件概述 10.2 文件的常用操作 10.3 文件的应用举例
3、重点:文件的打开与关闭,文件的读写 难点:文件类型指针的概念,文件的读写
4、实验:
实验
十一、文件的使用
第十一部分 C语言程序设计应用实例(4学时)
1、要求:成功完成“实现通讯录的管理程序”与“贪吃蛇游戏编程实例”训练。
2、内容:
11.1 实现通讯录的管理程序 11.2 学生成绩管理程序
11.3 图形与游戏编程实例
3、重点:强化多种C语句、规则的混合使用,理解结构化程序设计的思路。难点:C语句规则的熟练使用,图形库函数的使用。本课程与其它课程的联系与分工:
先修课程:《计算机应用基础》、《高等数学》、《线性代数》
编写者签名:
****年**月**日 系部审核:
教务处批准:
年
月
****年**月**日
日