当前位置: 首页 > 范文大全 > 办公范文

计算机编程自学教程范例(3篇)

时间:

计算机编程自学教程范文篇1

从当前的就业情况看,计算机专业的学生在软硬件知识和应用能力上的优势逐渐弱化,在与具备特定行业、应用领域和专业背景的学生竞争就业时,面临的压力越来越大,而在已就业的学生中又少有人从事编译系统的研究和开发工作。所以,编译原理”作为计算机科学与技术专业的经典”核心课程的存在价值受到质疑。其实,本科教育解决的是培养学生基本专业能力、可持续发展能力这些本质性的问题,因此,我们要从如何结合专业课程完成学生专业能力的培养与素质的提高这样的角度来看问题。

在大学里,学习一门课程,不能简单、肤浅地看成是对这门课程所含内容的研究、设计和开发,而是关注是否在有限的时间内最有利于学生专业能力的培养。计算机是一门技术性、工程性和应用性很强的学科,有其自身的基础理论支撑体系。编译原理”课程本身以计算机专业基础知识为载体,含有问题求解的典型思想、技术和方法,整个课程的内容对培养学生的计算思维,程序设计与实现,算法设计与分析,计算机系统的认识、开发和利用等学科基本能力都非常重要。并且,编译技术在计算机体系结构设计、提高软件开发效率与质量的工具开发等方面有着重要的应用。因此,编译原理”课程不但有存在的价值,而且对于计算机专业学生的能力培养和素质提高有着极其重要的作用和意义。

作为计算机专业的教育工作者,应该结合当前计算机的发展状况,重新认识编译原理”课程的重要性,并根据当前的教育和就业形势,积极研究、改进编译原理”课程的教学和实验方法,提高教学效果和质量。

一、明确编译原理”课程对学生能力培养和素质提高的重要性

从课程体系总体设计看,编译原理”课程的主要教学目标之一是使学生在系统的级别上重新认识算法和程序,提升学生的系统能力。它是计算机专业课程中最难学的课程,既涉及形式语言和自动机等抽象理论,又是数据结构、程序设计语言、算法和软件设计等知识的综合体现,有效培养了计算机专业学生应具有的计算思维,算法设计与分析,程序设计与实现(硬件和软件实现),系统的认知、分析、开发与应用等四大基本能力。

计算学科问题求解的基本思路是问题-形式化描述-计算机化”,以抽象、理论、设计为其学科形态。编译原理”课程中要求学生掌握的包括程序变换基本概念、问题描述和处理方法(自顶向下、自底向上、逐步求精、递归求解,目标驱动,问题分析、问题的抽象与形式化描述,算法设计与实现,系统构建、模块化)等知识、思想和方法,有利于学生养成问题、形式化描述、计算机化”问题求解本文由http://收集整理的习惯,实现从实例计算”到类计算”和模型计算”的跨越。这其中既有明确的、便于抽象的问题,又有较成熟的理论,而且在限定规模下又容易实现(设计),涉及的是一个比较适当的抽象层面上的数据变换,所以该课程是计算机专业本科生的重要专业技术基础课程。

二、编译原理”课程教”与学”的新思考

目前,在编译原理”课程教学中,教”与学”两方面的问题都很突出:一些抽象的重要理论使学生学习的畏难情绪严重,加上有些人认为毕业后很少有机会参与设计与实现编译系统,使得该课程的教”与学”的热情偏低,而适用于新型体系结构及新一代计算机系统的编译器的需求和大量应用,也给编译原理”课程内容的充实与更新提出更高要求。

作为教师,要让学生深刻认识到:编译原理”是许多课程知识的集成与实践,能进一步加深对许多专业基础课程知识的理解;编译程序所使用的原理、方法和技术有利于领悟计算机理论的精髓,在非编译系统的实际应用中也发挥着很大作用;学习编译对今后从事应用软件,语言开发平台、编译系统甚至操作系统的开发等工作非常有益。

实践证明,如果首先让学生认识到课程内容的重要性,再辅之以合适的教学方法和教学手段,是不难取得好的教学效果的。根据笔者的编译原理”课程教学经验,认为对于该课程的设置和教学可以从以下几个角度来开展。

1.科学设置课程

对于编译原理”课程的设置问题,可以根据本科院校自身办学宗旨,从普通高校本科、重点高校本科和研究生阶段教育三个层次来考虑教学目标和培养要求等因素,在总学时的限制下,实现总目标的最佳课程。因此,可以考虑以下2种模式。

(1)课程分解模式。分为:编译技术”(必修),介绍为满足基本应用而需要学生掌握的基础知识、方法和技术,以达到语言转换和实现理论基础介绍的目的;编译理论”(选修),主要偏重于介绍形式化等原理性的深层次内容,方便有进一步深造需要的学生学习。

(2)内容分解模式。不单独设置一门编译原理”课程,根据深浅和涉及到的具体问题,将与其他课程相关的内容分解到不同的课程中去,使学生在相关课程的学习中逐步掌握相关知识。这和前者比有一定难度:一是课程难分解,课程内容分解后与其他课程内容的重新整合在短时期内难做到科学分解与组织;二是增加了其他课程授课教师的工作量与难度。

2.优化教学内容

教师还要坚持教学与科研相结合,将最新的教改和科研成果引入教学,将经典编译理论与现代编译技术有机地结合起来。例如,可以将嵌入式编译器、分布并行编译器、多核编译器以及适应新体系结构及新一代计算机系统编译器的研究及其研究结果迅速充实到编译原理”课程中。此外,还可以向学生介绍编译技术在人工智能、并行计算、自然语言处理等领域里的具体应用,为后续课程做好铺垫。

3.用实例演示来形象化抽象理论

学生学习编译原理”课程的最大困难是其较为抽象,要获得好的教学效果,就要将抽象理论形象化。改革教学方法,提倡互动式、研讨式和案例式等教学方法。一方面,可以通过实例类比,例如,用自然语言的翻译过程来类比编译程序执行高级程序设计语言的翻译过程。另一方面,教师可以借助多媒体手段,把抽象的原理用动画、图像等形象化的方式展示,便于学生的理解。同时,还可以向学生推荐网上优秀的编译原理”课程教学网站、电子书等资源,拓宽学生视野,培养和激发学生学习兴趣。

4.把握联系,启发学生积极思维

在教学过程中,充分考虑编译原理”课程与数据结构、计算机组成原理、操作系统、算法分析与设计等先修课程之间的内在联系,不断深入和强化,以加强课程的系统性,培养学生的全局观。同时还要把握编译过程各个功能阶段的内在联系与规律,有目的地设计问题,有意义地提出问题,通过问题把编译原理中的理论难点、抽象概念引导出来。

三、重视实验,建立行之有效的实验教学方法

设计和组织良好的实践教学环节可以使编译原理”课程获得良好的教学效果。现在很多高校都增加了实验学时,并独立计算实验成绩。我们在借鉴兄弟院校和国外经验的基础上,摸索出验证性实验加综合设计性实验的2阶段实验教学模式,各高校可根据自己的教学目标和培养要求来选择实施。

1.验证性实验

这类实验主要是为配合配合课堂授课内容,由教师按编译原理授课顺序,提供同步的若干验证性实验题目,让学生逐个完成相关子模块,逐步扩大完善整个编译程序。这样循序渐进地完成实验,不仅增加了学生的成就感和自信心,而且使他们养成扎实的作风,使学练互动,激发学生学习兴趣和积极性。而作为教师,则要做好组织、监督和解惑工作,帮助学生掌握编译系统主要技术、算法的理解和设计,引导学生从整体上把握编译系统的结构和各子系统之间的协调工作。

2.综合设计性实验

一定规模的综合设计性实验训练是保证实践教学效果必不可少的环节。我们可以让学生以小组(由4~5名成员)为单位结合软件工程课程实验的环节完成一个规模适度的编译程序开发。在实际操作时,可根据验证性实验阶段的情况,把学生分成不同层次的小组,由他们选择适合自己水平的不同的实验题目。每组遵循完整的编译器开发方式,融入软件工程的思想,由大家推举的组长分工、协调完成任务。这样,不仅能让每个学生体验从分析设计、编码测试到交付维护的软件开发全过程,还提高了他们的工程和团队意识以及开发大型软件的协调结构设计能力。实验结束时,教师要求学生以演示系统、答辩的方式公布实验成果,以便公正评分。

四、结论

计算机编程自学教程范文

关键词:非计算机专业;C程序设计;编程能力;提高

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)13-3446-02

1引言

随着高科技在各行各业的普及与深入,计算机已成为一种处理专业领域问题的有力工具。是否掌握计算机知识和技能已成为衡量当代大学生适应社会发展需要的重要标志。非计算机专业的《C程序设计》[1]课程的教学目标是通过学习使学生熟练C语言,掌握程序设计的思路,并具有用C语言编程的能力;培养学生利用计算机技术解决工程实际问题的能力。但在实际教学过程中发现,学生对课程的基础知识和基本概念的理解和掌握比较扎实,但在灵活应用C语言编制程序的能力方面就比较薄弱,处于看得懂、编不出的状态。

对于一些非计算机专业的学生,他们普遍对为什么要学习编程语言尤其是C语言感到困惑。另外计算机学科概念的基础术语比较抽象,程序设计语言的语法枯燥,编程的算法比较复杂,学生普遍存在畏难心理[2]。由于以上几方面的原因导致学生在学习过程中没有学习的兴趣及动力。所以在教学中如何提高学生的学习兴趣和消除学生的畏难心理是提高学生编程能力的关键。本文针对非计算机专业学生的特点,从理论教学和实践教学两个方面作了一些探索,收到了较好的效果。

2理论教学上的探讨与实践

一直以来,程序设计课程都采取“理论+实践”的教学模式。理论课主要教授语法、算法;实践课主要是验证性、设计性的内容。本人认为要提高学生的编程能力,理论课应该在如何提高学生的学习兴趣上下工夫。

2.1利用第一堂课充分调动学生学习兴趣

《C程序设计》课程的第一堂课一般是概述,介绍C语言的产生、发展以及特点,初步认识C程序,介绍编辑、编译、运行C程序的步骤。但如果照本宣科地向学生灌输书本上的知识,不免让学生感到枯燥。

本人认为第一堂课应该充分调动起学生学习C语言的兴趣和热情。在简单明了地介绍上述基础知识外,应该将重点放在让学生了解为什么要学习C语言程序设计、学习C语言是件很有意思的事情上。比如本人会把用C语言编程解决实际问题作为一个切入点,以过河游戏为例。首先和学生一起玩游戏,将课堂气氛活跃起来。学生在玩这个游戏的时候,一方面启发其解决这个问题的方法,比如提出“规则”、“遍历”等概念,一方面提出人在解决问题时的“力不从心”。然后不失时机的向学生展示自己编写的解决该问题的程序,并向学生提出算法的概念。告诉学生,C语言可以解决现实中的实际问题,编程就是将自己所想的用另一种语言表达出来而已。

这样,在一定程度上消除了学生对程序设计课程的恐惧心理,充分调动起其学习编程的兴趣和热情,学生普遍进入一种迫不及待、跃跃欲试的状态。

2.2合理调整授课顺序

在C语言教学中,无论是教材还是教师上课,一般都是先介绍数据类型和表达式,再介绍各种语句的语法规则,然后是数组、函数、指针等等。这种编写安排或教学模式不利于学生编程能力的提高[3]。学生在学习C语言时,开始怀着神秘兴奋的心情进入课堂,但随着几节关于大量难以理解和记忆的新术语、新规则的介绍,枯燥乏味的例题分析后,学生马上又产生了厌学心理,一开始的热情也随之减弱甚至消失。

针对这种情况以及非计算机专业学生的认知特点,本人在教学过程中,合理调整了授课顺序。本人主张应使学生先对程序设计有个宏观的认识,然后才是细节上的深入。所以在第一堂课后,先讲授程序设计结构,中间穿插讲解必要的基础知识,然后在学生上机过程中点出、强调,使学生在特定的编程环境中吸收这些基础知识。

3实践教学上的探讨与实践

《C程序设计》是一门实践性要求很强的课程,只有通过上机实践,学生才能真正理解消化课堂上的教学内容,纠正原来理解上的偏差,加深对C语言的了解。学习的能力和方法比掌握的知识更为重要,教师更应该教会学生编程领域的学习方法,培养他们的学习能力,而不是仅仅教给他们知识点。在上机实践环节本人作了以下几个方面的研究和尝试。

3.1递进启发式编程

在非计算机专业学生编程的时候,会觉得代码处处出错,无从下手,似乎只有在教师的指导下才能完成编程。因此,有必要找到一种有效的自我提高的方法。本人在实践教学过程中发现,对于初学者,应该循序渐进地进行启发,教会学生编程的方法。

第一阶段抄代码。在每个新知识点的学习后,提供给学生范例代码。学生通过读懂、调试通过程序,感受新知识点的应用方法。

第二阶段填空补充。在读透程序的前提下,设计新的题目,应用前面程序的知识点。在这个阶段不能全部把程序代码给学生。采取填空的方式,让学生去补充完成代码,并上机调试。

在这个阶段仍然要分步进行。开始的时候让学生补充单个的语句,最后以补充程序段的方式来提高学生的编程能力。

第三阶段设计程序。在前两个阶段的基础上,让学生独立设计出应用相关知识点的程序。这里其实也是一种模仿阶段。

这种学习方法一方面强调了学习的渐进性,降低了学习的难度,能力得以逐步提高;另一方面可以逐步使学生从依赖老师向独立解决问题而转变。

3.2鼓励学生读出错信息,学会自己解决问题

学生在编程的过程中,往往一出现问题,就不知道该如何是好,不会自己去查错。本人在教学过程中强调编译环境中编译信息的查看,鼓励学生遇到问题自己发现问题、分析问题、解决问题。在出错中学习,从而提高学生的编程能力。

3.3重视程序调试

在C的编译编译环境中一般都有调试功能。虽然对于非计算机专业的学生没有调试程序的要求。但本人认为,学生通过调试不但可以对程序进行逻辑错误的查找,还可以在调试过程中更深层次地理解程序的执行过程。

4结束语

提高非计算机专业学生的编程能力,是公共程序设计课程教学改革研究的一个课题,需要在教学的各个方面进行探索和研究。本人在提高学生学习兴趣以及消除学生畏难心理等方面总结了几种行之有效的方法,并应用于实际教学中。学生编程能力得到了很大的提高,取得了很好的效果。

参考文献:

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

[2]谢书良.试论学习程序设计语言课程的心理障碍及压力来源[J].计算机教育,2008(20):120-122,199.

[3]李妮.公共《C语言程序设计》课程教学改革的探讨[J].电脑知识与技术,2008(23):1094-1095.

计算机编程自学教程范文

关键词:中职;计算机语言编程;教学;问题

一、计算机编程语言教学中存在的问题

1.计算机编程语言教学在内容方面存在的问题

计算机编程语言教学是一个应用型较强的专业,具有很强的专业性和实践性、抽象化和模块化。一般情况下,在教学中,中职学校大多数都把计算机编程语言的教学重点方向侧重于对学生的自作能力、实践能力的培养,忽视了理论教学安排的重要性,导致学生缺乏对理论学习的兴趣,缺乏理论知识的储备。

2.教师的教学方式和教学理念过于陈旧

中职院校所进行的计算机编程语言的教学虽然是初级化编程语言的教学,但是对于学生而言,计算机编程语言的学习仍然是较为陌生和复杂的。虽然计算机编程语言教学的基本内容和方向不能改变,但是教师的教学方式可以进行较为灵活化的改进。现在计算机编程语言的教学还是沿用传统的教学模式,使学生对教学内容和形式出现厌烦情绪,无法进行高效率的学习。

3.学生的学习基础较差

由于各种原因,各类中职院校都进行了大规模的扩招,生源质量出现了下降的现象,根据我多年教学工作的经验发现,当代学生大部分存在厌学情绪。上课时,身在教室心在游戏,玩手机睡觉等现象层出不穷。

二、计算机编程语言教学的改进措施

1.引导学生树立正确的学习态度

中职学校的学生大部分都是在中考中没有发挥了自己应有水平的学生,然而这样的结果出现的原因并不是因为学生智力比别的孩子差,而是因为学生在初中学习中没有养成良好的习惯,所以在计算机编程语言教学中,针对教学内容较为枯燥、学生基础薄弱、对学习兴趣不高的情况,教师要积极帮助学生树立正确的学习态度,同时也要扭转教师的教学理念和对学生的态度。

2.教师要积极扭转教学理念,改进教学方式

教师在计算机编程语言的教学中起着关键性的作用,要想从根本上扭转计算机编程语言教学中存在的问题就必须从教师队伍的整改开始。中职学校培养的是应用型技术人才,教师要根据学生的特点制订适合相关学校情况的教学方式,培养学生的学习兴趣,教师尽量多地在课堂上利用诙谐幽默的语言与学生进行互动,采取多样化的教学手段。例如,多媒体化教学地途径激发学生的学习兴趣,做到情景化教学和多角度教学相结合,提高教学

质量。

3.适当调整教学的重难点,根据学生情况调整教学内容

计算机编程语言的教学目标内容的制订一方面要符合教学大纲的要求,另一方面也要根据学生的情况、社会市场的需求进行适当的调整。在计算机语言教学过程中要注重对学生的实践能力的培养的同时也要注重对学生的理论化完善的培养。同时在初级编程语言的教学中根据相应的学习教学情况也可以适当渗透高级的计算机编程语言相关的知识,提高学生的能力水平。

本文仅针对中职计算机编程语言的教学出现的诸多问题归纳出以下三点主要问题:计算机编程语言教学内容方面问题;教师的教学方式,教学理念过于陈旧;学生的学习基础较差。也相应提出了三点解决的措施,分别是:引导学生树立正确的学习态度;教师要积极扭转教学理念,改进教学方式;适当调整教学的重难点,根据学生情况调整教学内容。