从程序设计本质入手,上好C语言的第一课

来源 :知识力量·教育理论与教学研究 | 被引量 : 0次 | 上传用户:ning0001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]本文针对大学生学习C语言、编写C语言程序中的问题,分析了C语言程序设计第一堂课的重要性,阐述了以程序设计本质作为切入点,上好C语言第一堂课的观点。并提出了将将程序设计本质作为整个C语言教学的“纲”的做法。
  [关键词]程序设计 第一堂课 C语言
  [中图分类号]G642.0 [文献标识码]A
  C语言程序设计是计算机专业学生进入大学后接触到的第一门专业基础课程。在该课程中主要讲授程序设计的基本方法和基本技能,学生对这门课程学习的效果直接影响对本专业技能掌握程度,也影响到他们后续专业课程的学习,甚至还会影响到学生对本专业的认可度。因此如何提高C语言程序设计的教学质量,切实提高学生的编程水平,是广大C语言教师最关心的课题。
  我校C语言课程组总结了C语言教学的经验,分析了学生学习C语言过程中出现的问题。秉着从程序设计的规律出发,从第一堂的授课内容开始,对课程的教学内容和教学方法进行改革。
  一、C语言的第一堂课的重要性
  在大学的学习中,许多课程对学生来说都是一个全新、陌生领域的开放,这其中学生需要接受新的知识,新的思维方法,新的学习方法等等。正如C语言程序设计,是学生第一次接触计算机编程,第一次需要按照计算机思维方式思考问题,第一次使用形式化的语言进行设计。
  正是因为这样,许多同学在学习C语言程序时,经常会出现这样的情况:在课堂上、在教师的引导下,学生“感觉”教师所讲授的内容都听明白了,看书时对书中所介绍的语法好像也是清楚了。但是合上书本却就感觉大脑一片“空白”,编写程序时不知如何下手。许多时候,教师在总结的原因是都归结为学生应该多加强练习,多编写程序。当然这是一个非常重要而且也是非常好的学习编写程序的方法。笔者认为,教师可以从另一个角度去分析其中的问题。
  学生对于刚开始接触的新事物是非常陌生的,对于它究竟是“什么”是不清楚的。尤其对于刚接触编程的学生来说,C语言程序是什么,很多同学都是一个“模糊”的认识。当教师在授课过程中如果一味只讲解一些C语言的语法规则,而没有从本质上解决C语言程序设计是什么的问题时,学生对课程的理解是片面的。而这些问题的解决需要教师在第一堂课上,使学生对C语言程序设计有一个本质上的、清楚的认识。并通过这种认识,引导学生使用C语言进行程序设计。
  因此,俗话说“好的开始等于成功的一半”,如果开了一个好头,那么对以后的教师的教学和学生的学习都是大有裨益的。如果从他们的第一堂开始,能够正确引导他们的学习C语言的方法,可以收到“事半功倍”的效率。
  二、C语言的第一堂课的教学现状
  通过调查发现,很多C语言的教师在对待的第一堂课时都没有足够的重视,大多都是先简单的自我介绍和学习C语言的重要性的介绍,以及课程内容的安排等;然后接着就是介绍C语言的程序的例子;再次就是引入C语言的语法规则,对语法规则进行讲解等。
  这样的授课方式开门见山,可以直接使学生了解C语言的知识,但是如果掌握不好,可能会使学生陷入一个“语法旋涡”。学生在学习本课程时,可能都是为了学语法而去学语法,不知道这些语法规则如何用,应该用到什么地方。随着学习的深入,甚至可能会导致学生对程序产生恐惧感,令他们失去学习本课程的兴趣和信心。
  三、第一堂课应该讲什么
  第一堂课应该讲什么?如何讲?应该达到一个什么样的目的?笔者认为应该从授课内容的本质入手,使学生在第一堂课就清楚的认识到“程序”是什么,“程序设计语言”是的什么。为学生的学习指明一个方向,使他们能了解,在接下来的学习过程中应该怎么学。
  C语言程序课程的主要目的是要传授学生如何使用C语言编写程序,因此在C第一堂课应该使学生了解程序、程序设计、程序设计语言的本质。通过第一堂的讲解使学生充分认识到编写程序、运行程序的过程,并消除对程序的陌生感。
  (一)程序的本质的讲解
  通过调查研究发现,学生在学习C语言程序设计时所出现的问题,都是可以归结为对程序的本质不了解。
  但是,程序的概念对于学生来说又是一个非常熟悉的概念,在现实生活中处处都充斥着程序的例子,并且计算机程序的本质与生活中他们所碰到的“程序”的本质是一致的。因此,教师首先应该通过这些现实生活中例子,例如,“新生报到程序”、“请假程序”等,引导学生对程序的本质特征进行总结、分析,找出其中的特征。从而指出程序是“指为解决某一问题而既定处理步骤”、“程序是为了解决问题而存在的”、“存在一个‘程序的执行主体’来按照其规定的步骤进行”、……。从而引出“C语言程序”的概念,并将其与生活中的程序实例进行对比,使学生能找到二者之间的“交点”,消除学生对“C语言程序”的神秘感。
  (二)程序设计本质的讲解
  虽然同学们在生活中都会接触到许多程序实例,但是许多同学平时都没注意“程序设计”的概念,认为程序设计似乎很神秘、很抽象的过程,尤其是把程序设计引入到计算机中之后。
  因此在学生了解了程序的概念后,应该指出程序设计本质就是“设计程序”,即“为解决某一问题”而设计如何处理的一系列步骤。并且也需要结合现实生活中设计程序的例子,使学生充分认识程序设计的本质。例如可以指导学生设计一个程序,从一堆球中找出最重的球。
  同时应该使学生认识的到:程序是指导、限定“程序的执行主体”如何执行过程的“蓝本”。为了能使“程序的执行主体”能按照程序正确的解决问题,设计程序者应该需要按照“程序的执行主体”的思维方式去思考问题。接着再指出计算机思维的特点,通过具体实例,明确告诉学生在编写C语言程序时,应该按照计算机的思维方式去设計解题步骤、编写代码等。这是许多学生在学习C语言时经常忽略了的,他们在编写程序时通常按照人类的思维习惯去看待问题,结果编写程序时自然处处“卡壳”,认为自己C语言总学不好,时间一长就对编写程序失去了信心。   (三)程序执行过程本质的讲解
  计算机程序的执行归根到底是计算机按照指令序列中规定的操作对内存中数据进行处理。这部分内容属于计算机组成原理等硬件类课程的范畴,对于C语言的初学者来说很难认识、也很难理解的。教师应该在学生清楚了程序的概念后,抛出“冯.诺依曼原理”,并指出计算机的工作方式;深入浅出的引导学生认识到计算机程序中指令的概念以及指令执行的过程。
  在这一部分内容的讲解过程中,应该将计算机执行程序代码的过程和人类执行程序的过程结合起来讲解。例如,可以使用计算机“计算两数相加”的例子,分析人类是如何其求和过程和计算机是如何完成求和的过程。在基础上进一步引出“内存”的概念,以及内存在计算机处理过程的作用,为后面“变量”、以及数据存储的讲解做好铺垫。
  如果能使学生接受计算机执行程序的本质过程,对学生理解计算机系统和程序都是非常有好处的。因此,为了能帮助学生比较好的理解,对于课件中要求有生动的动画是必须的。通过动画的演示,展示计算机工作的过程,使学生可以有一个好的“感性认识”。
  (四)程序语言本质的讲解
  在学生了解了程序的概念后,应该指出“程序设计语言”的本质是“人”与“计算机”交流的工具。人们需要使用这样的工具将自己设计好的、限定计算机如何操作的想法与意图“告诉”计算机。其本质上C语言与学生熟悉的汉语、英语一样,其作用都是人们用来描述思维活动,向外界展示自己的意图。
  同时通过与学习汉语、英语的方法作对比,指出C语言与其他语言一样,都有着严格的语法规则。人们必须按照这样语法规则,构建相应的“语句”,组成符合逻辑的“文章”。正式因为“文章”中的“语句”,程序运行时可以向计算机发出相应的“指令”,指导计算机如何执行,最终得到问题的解。
  并且通过和自然语言的对比,可以指出学习C语言的目的和自然语言一样,也是如何将自己的想法传达给她的“受众”—计算机,编写程序的过程也是按照C语言的语法规则,表达自己思维的过程。同时也可以指出学生学习C语言和学习这些自然语言的方法是一样的,C语言的学习不能只是“语法”规则的学习,而是应该在掌握了“语法”规则后,必须使用这个语言工具,表达自己的意图,解决实际问题。而熟练的掌握这一过程,只有在不断的“实践”中才能完成。
  (五)程序结构本质的讲解
  在通过前面一系列的有关程序和程序设计的认识后,需要列举一些简单的C语言程序,分析这些程序实例的结构。指出一个C语言程序的基本结构是什么样的,程序结构的本质也是语法规则的一种。通过这些具体的程序实例,提出构成C语言程序最简单的“模板”,构建一个“填空”式的程序编写模式。使学生可以在课余按照这样的“模板”可以模仿编写一些简单的程序;也使学生可以按照这样的“模板”去阅读程序。
  通过“填空”式的程序,可以增加学生学习程序设计的兴趣,规范学生编程习惯,降低学生的编程难度,同时也不自觉提高了学生编写C语言程序的能力。
  四、需要注意的问题
  在第一堂课中需要时刻注意到学生的接受能力的问题。因为此时的学生是一个刚刚接触程序的初学者,并且关于概念的讲解是一个比较抽象的过程。如果在开始时只是从理论上,将一些抽象的概念灌输给学生,而不注意学生接受能力,可能就会把学生堵在这些抽象概念的门外。甚至会造成其反的效果,降低了学生学习的兴趣。因此教师在授课时,需要能紧密结合学生身边的问题,使学生可以切身感受到这些概念,以一种他们非常熟悉的方式,去引导学生感知这些概念的内涵和本质,这一点教师上课时要注意的。
  五、与后续课堂的衔接
  第一堂课不能只是课程的开始,它应该是整个课程教学的“纲”,是整个课程教学的一个“指挥棒”。不能简单的把这些知识内容讲完了就可以了,应该把第一堂课的内容“辐射”到整个C语言课程的教学中。在后续的课堂教学时,需要时时紧密的结合这些本质概念,引导学生去学习,时时将知识点落脚到这些本质概念上来。引导学生使用这些本质概念去编写程序;使学生在编写程序时又能进一步体会其中的概念,以达到提高编程能力的目的。
  例如,在讲解“变量”,紧密“内存”的概念,引导学生深刻体会“变量存储数据”在程序中的意义。例如在讲解“选择”、“循环”结构的程序设计,紧密围绕计算机工作过程和程序体现人类的思维过程进行讲解,引导学生体会流程控制的含义。在设计、编写程序时,围绕“C语言程序是指导计算机解决问题的步骤”,引导使用计算机的思维方式思考问题、分析问题、解决问题。
  六、结束语
  在第一堂课中,通过给学生传授程序设计过程中的各种本质概念,可以丰富课堂内容,提高学生对本课程的认识度,增加学生学习的兴趣,有利于学生编程能力的提高。同时也给学生的在后面的学习中,搭建了一个理论框架,为学生学习其他的语言,使学生做到“一通百通”,打下了一个良好的基础。
  [参考文献]
  [1]韦霖.谈谈中职教师如何上好基础会计第一堂课.中等职业教育.2012.5
  [2]王洁.高等数学第一堂课的博弈.商丘职业技术学院学报.2011.2
  [3]夏英俊.关于如何上好《高等数学》第一堂课的思考.科技资讯.2011.1
  [4]关忠仁.C语言教学质量的思考与实踐.计算机教育2007.3
  [5]张长海.以程序设计为主线讲授“高级语言程序设计”课.计算机教育 2005.5
  (作者单位:湖北汽车工业学院 湖北省十堰市)
其他文献
[摘要]数控技术专业的综合实训课程是以复杂零件的加工工艺设计、相应夹具设计及制作、复杂零件的数控加工、精度检验为主要内容,以项目小组为教学基本单位,由学生自主完成。而行为导向法是一种启发式的教学方法,强调以学生为主体,教师为主导,充分发挥学生的主观能动性,提高学生的综合能力。符合职业教育的基本特征,适应职业人才培养规律,具有一定的探索和应用价值。  [关键词]行为导向 数控技术 综合实训课  一、
期刊
[摘要]新一轮课程改革倡导联系生活的教学策略,目的在于使学生拥有的丰富的直接经验。《新课程标准》以描述学生“能做什么”为主线,强调学生要能用所学的英语做事情。要通过创设良好的语言环境和提供大量的语言实践的机会,使学生通过自己的体验、感知、实践、参与和交流,形成语感;在教师的引导下,通过观察、发现和归纳等方式,掌握语言的规律,形成有效的学习策略,通过交流与合作发展交流与合作的能力。  [关键词]优化
期刊
引言  教育部办公厅2007年发布《大学英语课程教学要求》,其中规定了大学英语的教学目标是帮助学生打下较扎实的语言基础,掌握良好的语言学习方法,增强自主学习能力,提高综合文化素养,使他们具有较强的英语综合应用能力,特别是听说能力,能用英语有效地进行口头和书面的信息交流,以适应社会发展、经济建设和国际交流的需要。由此可见,《课程要求》把“培养学生的英语综合应用能力”和“增强其自主学习能力”作为大学英
期刊
[摘要]在小学数学教学中渗透德育教育,就是要将德育本身的因素与数学学科所具有的德育因素有机地结合起来,使德育内容在潜移默化的过程中逐步内化为学生个体的思想品德。  [关键词]德育教育 小学数学教学  育人为本,德育为首,教师在教学中,不仅要向学生传授系统的科学文化知识,还要开发学生的智力,培养学生的能力,更要有目的、有意识、有计划的对学生进行正确的道德影响,从而培养学生正确的世界观、人生观和良好的
期刊
在当今时代,信息日新月异、瞬息万变。要想不被时代淘汰,固守自封要不得,要有知识,要密切关注信息,更要有创造性。要创造,没有想象力哪行?爱因斯坦说:“想象力比知识更重要”。因此,在教学中要注重培养学生的想象力。  这学期,根据新大纲、新教材的特点,我在教学活动中注重培养学生的想象力,收到了一定的效果。下面是我设计的一篇“口语交际”教案,也是自我感觉比较满意的一篇教案,现以近乎“课堂实录”的形式呈现出
期刊
[摘要]本文主要针对大学数学教学方法,分析将数学建模思想融入数学教学的方式手段,从学生实际出发,结合自己的教学实践,在数学建模教学模式方面提出了一些有益的改革与探索。  [关键字]数学建模 数学教学 问题 数学模型  一、绪论  随着科技与自然科学的飞速发展,数学已经从一门单纯的研究性学科转变为社会基础学科。数学已经渗透到了自然科学、社会科学等各个领域,形成了“数学无处不在,无所不用”的大环境。数
期刊
[摘要]对于小学一年级数学教学,“量身定制”是适合低龄儿童的方法,无论在课堂上还是生活中,让学生对数学充满足够的好奇心、树立学好数学的信心,才能让学生产生浓厚兴趣并逐步引导他们学好数学。  [关键词]数学教学 意识 情境 生活实践  数学被称为“百科之父”,当孩子会说话时大人们便教孩子数数,从这个现象我们足以看出数学知识的重要性。目前的一年级数学课本从形式上也较以前有了很大的变化,每一课学习内容、
期刊
[摘要]阅读是语文课程中极其重要的学习内容,阅读教学是学生、教师、文本之间的对话过程,阅读教学的目标是提高学生的语文素养。让学生在读中感悟,是提高学生语文素养的重要途径。  [关键词]以读为本 体验感悟  一、阅读教学为什么要倡导以读为本,读中体验感悟  阅读是语文课程中极其重要的学习内容,课程标准关于阅读的目标在理念上有较大变化。现代阅读观认为,一般意义上的阅读是搜集、处理信息,认识世界,发展思
期刊
作为班主任,我深知班主任工作之不易。尤其要成为一名人人称道的优秀班主任,其中的艰辛付出,任劳任怨自不必说,单是那唠唠叨叨、啰哩啰嗦就够令人头痛的了。这里,我仅就班主任工作的点滴体会谈几点自己的看法。  第一、班主任工作,必须要“勤”。  所谓“勤”,首先要起得早、到得早、跟得紧。尤其针对初一新生,只有做到“两早一紧”才能够发现问题及时解决。因为学生的不良行为和习惯总是在老师未到之时,课未上之时形成
期刊
[摘要]国防教育是学校素质教育的重要组成部分,是一种特殊的教育形式,在学校开展国防教育不仅有利于增强学生的国防观念,而且有利于提高学生的身心素质和科学文化素质,有利于培养国防后备人才,促进国防现代化。为此,学校必须提高国防教育重要性的认识,通过宣传教育活动,增强学生的国防意识,使学生树立“居安思危”的思想和以国家兴亡为己任的历史责任感。  [关键词]政治动员 国防意识教育  政治动员是国防动员的重
期刊