计算机与编程专业范例6篇

计算机与编程专业

计算机与编程专业范文1

“编译原理”、“操作系统”和“计算机体系结构”是计算机专业的三门核心课程,在计算机科学的教学体系中占有重要地位。学生对于这三门课程的掌握程度在一定程度上反映了他们对计算机专业知识的掌握情况;进一步讲,能否确切理解编译程序、操作系统和硬件系统之间的关联及它们在计算机系统中的层次地位,直接反映了学生对专业知识的整体把握程度。遗憾的是,受限于目前的教学大纲和学时,这三门课程的教学很少涉及对相关课程的介绍和联系,只注重课程自身教学内容的讲解和分析,导致学生无法理解所学知识的应用背景,产生学无所用的想法。

由于编译课程内容具有较强的理论性、逻辑性和实践性,学生在学习过程中感到过于抽象和难以理解。编译教学内容涉及到程序设计、操作系统和计算机系统结构等相关课程,掌握编译技术有助于加深学生对整个计算机系统的理解[1]。目前,编译课程的教学更多关注自身内容的讲解和传授,与其他课程横向联系的内容相对较少。许多学校虽然开设了实验课及相应的课程设计,但只对编译理论中的某些算法或编译系统的某一阶段功能进行单纯的实现与验证,缺少实际背景。另外,现行的编译教材大部分都是从编译技术本身的角度撰写的,为的是让学生掌握编译的基

本理论与思想[2]。所有这些最终导致学生无法对高级语言程序设计每条指令的执行过程有清晰的认识和理解,因而不能实现专业知识的融会贯通。计算机专业的理论基础对培养学生的计算机专业素养具有非常重要的作用[3],因此课程间封闭的教学方式不利于专业素养的培养和提高。

目前,这一现状在短时间内很难改变。笔者认为应以编译课程为切入点,在教学过程中加强相关课程的联系,促进计算机专业知识的交叉融合。

1以编译课程为切入点,强化专业知识融会贯通

编译程序在计算机系统不同层次中处于核心地位,在程序设计及运行过程中起到桥梁和纽带作用,因此应以编译课程为切入点,促进专业知识的融合。按照教学大纲安排,学生入学后首先要学习程序设计的相关课程,进入高年级后,主要学习操作系统、计算机体系结构和编译原理等核心专业课程,它们之间的关系如图1所示。由图1可以看出,编译程序在从程序设计到程序运行产生输出结果这一过程中处于核心地位,编译系统对用程序设计语言编写的源程序

进行编译,编译过程中会用到源语言自身的规范和库程序,需要操作系统提供的库程序和接口以及目标体系结构的相关信息生成可执行的二进制程序。可执行程序根据用户的需要,由操作系统调度运行,并与下层的硬件系统产生密切的关系。 为此,编译课程的部分内容需要程序设计语言、操作系统和体系结构等课程作为支撑,这样学生才能更好地理解计算机系统从软件设计到程序执行的完整过程。

正是由于编译系统在计算机系统中处于重要地位,以编译课程为切入点,在教学过程中加强核心课程之间的横向联系,不仅有助于实现编译课程抽象内容形象化,也有助于加强学生对整个计算机系统的认识。另外,随着计算机系统结构的不断发展与更新,嵌入式计算、并行计算与可重构计算系统逐渐得到发展和普及,这些都使编译系统和计算机系统结构之间的关系变得比以往更加密切。一种新结构的出现需要新编译系统的支持才能真正发挥作用,因此在编译课程的教学中加强与其他课程的联系,也是符合计算机系统发展的大趋势。

2以编译课程为切入点的可能性分析

以编译课程为切入点,强化各个核心专业课程之间的关联,其可能性概括如下:

(1) “编译原理”是计算机专业重要的专业课程,且在计算机系统中具有重要地位。

(2) 编译课程开课的学期较为合适。我们查阅了国内部分高校的教学计划,研究了计算机核心专业课程的课程安排。如表1所示,在我们调查的高校中,除北京大学、北京航空航天大学和西安交通大学外,近一半高校编译课程的开课学期多位于程序设计、操作系统和计算机体系结构等课程之后,或与操作系统和体系结构等课程同时讲授,因此在编译课程的讲授过程中穿插联系相关课程的内容比较合理。通过对相关知识进行整理归纳、巩固与提升,能够取得较好的教学效果。

(3) 编译课程多次涉及其他专业课程的内容,例如“编译原理教学引论”部分要讲授程序设计语言的发展历史、编译程序在计算机软件系统中的重要地位等内容;讲授“编译运行时的环境”部分时,一定学时用于讲述存储分配,特别是基于栈的运行时环境的动态存储分配和基于堆的运行时环境的动态存储分配部分,与操作系统相关内容相互渗透;在“代码生成和优化”部分,尤其是过程(函数)调用的翻译部分,针对目标系统结构的优化部分,亦需要体系结构相关知识作为支撑。反观操作系统和体系结构等课程的教学内容,与其他课程的联系则相对较少。

基于以上几点认识,我们认为,以编译课程为切入点,充分利用有限的学时,在部分教学内容中强化与其他核心课程的关联,实现专业知识融会贯通的可能性是存在的。

3关于课程教学的几点建议

如前所述,目前教与学的实际情况不利于学生对计算机专业知识的融会贯通,在注重软件能力培养的计算机学院中,学生对图1的阴影部分知之甚少,而对阴影前后两部分的内容更加熟悉,掌握程度更高。所以,学生没有从总体上对所学知识建立完整的知识体系,对所学专业课程没有构成清晰的轮廓和概括。

为了强化编译课程的教学效果,教师需要将课程教学置于计算机系统大的背景环境之中,重点阐述编译程序在计算机软件系统中的重要性,与其他核心专业课程之间的联系,同时运用实例教学,使学生从抽象的教学内容中解脱出来,真正感受到所学知识的可用性和有用性。鉴于此,我们对编译课程的教学提出如下几点建议:

(1) 在引言部分强调编译课程与其他课程的关系,重点

说明编译程序在整个计算机系统中的作用和层次地位。需要说明的是,教师不应只强调编译程序自身的地位和作用,还要将其放入图1所示的背景中,使学生能够理解编译程序在从语言到程序执行过程中所处的位置和作用,加强对计算机专业大背景的认识。

(2) 在运行环境、代码生成和优化部分,教师应结合操作系统和计算机体系结构内容进行讲解,使学生能更好地理解目标代码格式、函数调用方式、基于栈的存储管理、代码优化的原因和目标等概念。

例1:对可优化的简单程序源码,使用同一编译程序多次编译,每次编译时指定不同的优化级别,通过分析编译程序生成的汇编源码比较生成的可执行程序运行性能,向学生解释编译程序在编译过程中实施的优化措施,说明优化的目的和效果。

例2:针对最简单的C语言HelloS320 C6000系列)及其调试模式下指令的执行过程,说明针

对具体计算机系统结构进行编译优化的必要性和重要性。

(3) 建议针对目前常用的系统平台设计小型完整的实践课程,实践内容应适量涉及体系结构和操作系统的相关内容。针对常见的处理器架构和操作系统设计实践课程,可以使学生在实际的系统中观察到实践结果,通过实际操作和验证增强感官认识,对所学知识融会贯通。

例:针对学生熟悉的程序设计语言(C或者Java)、经常使用的操作系统(Windows或者Linux)、常见处理器架构(例如X86),设计简单完整的实践课程。教师提供能够处理一小部分语法子集的完整编译程序,供学生学习,作为实践过程的参照。学生可以将一小部分没有实现的语法子集作为实践任务,完善已有的编译程序,实现从词法分析到代码生成的各部分功能。最后应能使增强的编译程序在现有的系统平台上运行,编译源码文件并生成可运行的应用程序。

计算机与编程专业范文2

关键词:计算机;专业能力;编译原理;面向能力培养

中图分类号:G642 文献标识码:B

高等教育为国家的现代化建设培养人才。根据我国现代建设的需要,计算机科学与技术专业要为信息化建设的需要培养计算机人才――每年约十万的招生量和约十万的毕业生可以看成是社会对计算机专业本科人才的基本需求。教育部高等学校计算机科学与技术教学指导委员会的发展战略研究报告指出,他们应该被分为科学型、工程型、应用型人才,而且绝大多数应该是工程型和应用型的。从本科毕业生的基本工作情况看,他们中确实只有极少数人专门从事计算机科学理论的研究,也只有很少数人从事操作系统、编译系统、数据库系统等的研究和开发。作为计算机科学与技术专业的“经典”核心课程,“操作系统原理”、“编译原理”、“数据库系统原理”等还有什么样的存在价值?计算机专业的学生为什么还要学习这些课程呢?这涉及到本科教育的基本问题,本文以“编译原理”课程为例,讨论有关问题。

1培养专业能力

根据《中华人民共和共教育法》,本科教育应当使学生比较系统地掌握本学科、专业必需的基础理论、基本知识,掌握本专业必要的基本技能、方法和相关知识,具有从事本专业实际工作和研究工作的初步能力――这规定了高等教育在知识、能力、素质三方面的具体要求。其中的“能力”在学生的可持续发展和创新精神与能力的形成中具有非常重要的作用。所以,教育不仅要强调知识基础,更要强调能力基础。

在知识基础和能力基础的追求上,东西方教育存在一定的差异。相对而言,东方教育表现出更注重夯实扎实知识基础的倾向,而西方教育更注重夯实能力基础。实际上,“知识基础”和“能力基础”并不矛盾,两者是相辅相成的关系:以知识为载体,通过对知识的学习,掌握恰当的问题求解思想和方法,培养学生的(专业)能力;能力的增强,会促进学生学习、掌握甚至发现更多的知识。所以,先进的教育倡导研究型“教”与“学”,尊崇的是“能力导向”。

在大学里,学习一门课程,不能简单、肤浅地看成是对这门课程所含内容的研究、设计和开发,而是关注是否在有限的时间内最有利于专业能力的培养。所以,我们不仅反对面向系统的教育,更反对产品教育。由于计算学科仍然是一个年轻的学科,其专业教育总体上还不够成熟,所以才有了今天的“操作系统”、“数据库系统”、“网络系统”、“编译系统”等面向系统的课程。相信随着学科的发展,计算机专业教育会不断成熟,会有更能体现专业教育需要的课程出现。就目前的情况,应该努力做到“使用工具、探索规律”、“实现具体系统、研究基本原理”,也就是“使用工具,不可忽略规律”、“学习系统,切莫冷落原理”。

那么,作为计算机专业的学生,应该具有什么样的基本能力呢?首先,作为一名受过高等教育的高级人才,交流、获取知识与信息的基本能力、基本学科能力、创新能力、工程实现能力、团队合作能力等,是不可或缺的。另外,作为接受专业教育的专业人员,更应该具备专业基本能力。自2002年开始,笔者就将计算机专业人才的专业基本能力归纳成计算思维(目前看,它的含义应该既有广义的,还有狭义的)、算法设计与分析能力、程序设计与实现能力(硬件和软件实现)、系统能力(系统的认知、分析、开发与应用)。4大基本能力有着自己丰富的内涵,它们的培养需要落实到各个教学环节中,特别是各门主干课程的教学中。

例如,系统能力要求学生站在系统的全局去看问题、分析问题和解决问题,并实现系统优化,对计算机专业人才来说,狭义的系统能力包括对一定规模系统的“全局掌控能力”(全局地掌控一定规模系统)和在构建系统时能够系统地考虑问题的求解。要想培养学生的系统能力,就需要在基本思想的指导下从教学的点滴入手。例如,自顶向下是系统设计的重要思想方法,学习它是为了引导学生分层次考虑问题,逐步求精;鼓励学生由简到繁,进行复杂程序的设计,是一个逐渐深入、逐渐扩展规模的过程;结合计算机硬件系统、编译系统、操作系统等的教学,可以使学生学会关注和掌握系统逻辑,引导学生从宏观到微观去分析、理解和把握系统;通过让学生参与较大型系统的设计与实现,鼓励他们在工作过程中努力掌握系统的总体结构,关心本人承担工作在系统中的地位等方式来增强学生的系统观和合作能力。教学中要不断提升学生的眼光,实现学生从系统级上对算法和程序的再认识。

2计算机专业的一门好课程

“编译原理”是一门非常好的课程。Alfred V.Aho编著的《Compilers: Principles, Techniques, and Tools》被认为是编译领域里的经典教材,加上其“封面龙”的造型,被人们尊称为“龙书”。作为第一章的第一句话,作者这样写道:“编写编译器的原理和技术具有十分普遍的意义,以至于在每个计算机科学家的研究生涯中,本书中的原理和技术都会反复用到。”这句话给出了这门课程的真正教学定位。

从课程体系总体设计看,“编译原理”课程的主要教学目标之一是使学生在系统的级别上重新认识算法和程序,提升学生的系统能力。实际上,除了这些之外,该课程还在于进一步培养学生的形式化描述能力:如何给出问题的形式化描述,基于这种描述设计出自动化处理的过程,最后实现“自动计算”。

虽然编译课程(通常称为“编译原理”、“编译方法”、“编译技术”等)是计算机专业的重要经典课程,但是随着高等教育的大众化,有些人对计算机专业是否需要开设“编译”课程出现了疑问,特别由于该课程的基本内容涉及到的一些重要理论基础具有抽象性,使得学生对其的理解产生了较大困难,加上有些人认为毕业生中很少有人将来设计与实现编译系统,使得该课程的“重要性”、“经典性”受到了怀疑。课程的设置虽然要看知识的“直接有用性”,但更要考虑专业能力培养的重要性。如果忽视了本科教育培养学生基本专业能力、可持续发展能力这一基本目的,课程设置就是不恰当的。实际上,计算机科学与技术专业的本科生是否要开设编译课程,要考虑具体的培养目标等因素,要从总体目标的需求上去考虑,要看它是否是在总学时的限制下,是实现总目标的最佳课程。

计算学科问题求解的基本思路是“问题、形式化描述、计算机化”,以抽象、理论、设计为其学科形态。编译原理涉及的是一个比较适当的抽象层面上的数据变换,既有明确的、便于抽象的问题,又有较成熟的理论,而且在限定规模下又容易实现(设计),所以“编译原理”是计算机专业本科生的重要专业技术基础课程,属于教学计划中四大系列之软件技术系列。

除了知识外,该课程内容还含有基本问题求解的典型思想、技术和方法,所以该课程对于培养学生的计算思维、程序设计与实现、算法设计与分析、计算机系统的认知、开发和利用等4大学科基本能力非常重要。学生是在程序设计、数据结构与算法等课程中受到一定的锻炼后,从系统的级别上对程序、算法的认识进行再提高,通过该课程进一步提升计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣。这些方法和思想包括掌握程序变换基本概念、问题描述和处理方法(自顶向下、自底向上、逐步求精、递归求解,目标驱动,问题分析、问题的抽象与形式化描述,算法设计与实现,系统构建、模块化)。通过学习这些知识、思想和方法,学生养成“问题、形式化描述、计算机化”问题求解习惯,实现从“实例计算”到“类计算”和“模型计算”的跨越;增强理论结合实际能力,获得更多的“顶峰体验”;从宏观到微观、从微观到宏观,形成系统能力。所以,鼓励有条件的计算机专业为本科生开设“编译”课程,并通过强调课程恰当的形态的内容,达到与专业培养目标吻合的课程教学目标。

3瞄准专业能力培养开展教学

总体上,我们可以将“编译原理”课程目标定义为:掌握编译原理中的基本概念、基本理论、基本方法,在系统级上再认识程序和算法,提升计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣,具体从如下几方面实现对学生能力的培养:

(1) 掌握程序变换基本概念、问题描述和处理方法

这些方法主要有:自顶向下、自底向上、逐步求精、递归求解,目标驱动,问题分析、问题的抽象与形式化描述,算法设计与实现,系统构建、模块化等方法。这些都是本学科最经典、最常用的问题求解和系统设计方法。

(2) 实现“问题、形式化描述、计算机化”的修养

修养“问题、形式化描述、计算机化”这一典型问题的求解过程,推进从“实例计算”到“类计算”和“模型计算”的跨越。

计算机学科发展到今天,早已经从一些单一的具体问题的求解发展到对一类问题的求解,也就是寻求一类问题的系统求解。完成单一的具体问题求解的计算称为“实例计算”;完成一类问题系统求解的计算称为“类计算”。当然,在“类计算”中,一大部分高层次的计算是“模型计算”。这是区别于其他专业的学生的重要方面之一。学生的培养,通常都是从“实例计算”开始,逐渐推进到“类计算”,实现学生“计算”理念的跨越。

(3) 增强理论结合实际能力,获得更多的“顶峰体验”

“编译原理”是理论和实践结合最好的计算机课程之一,不仅含有恰当的理论知识,而且直接涉及到这些理论的实践,让学生亲历理论结合实践的乐趣,使优秀的学生获得更多的“顶峰体验”,培养他们理论结合实际的能力。

(4) 从宏观到微观、从微观到宏观,培养系统能力

站在系统的全局去看问题、分析问题和解决问题,并实现系统优化。经验表明,培养学生以系统的观点去看问题,是非常重要的,也是比较困难的,可称之为“系统”能力。软件技术系列课程接在程序设计与算法系列之后,实现学生的系统认知、分析、设计和应用能力的培养,并使学生进一步在系统级别上认识程序和算法。

“编译系统”虽然是一个具有相当规模和相当复杂度的系统(含总体结构),但对问题本身的分析和处理的分解非常清楚,使得其规模和复杂度可控,宜于让学生掌握,通过教师的引导,强化对学生系统能力的培养,这对应用型计算机专业人才非常重要。

(5) 不断探索未知,培养创新能力

开展研究型教学,挖掘知识背后的内容,通过讲授思想、方法,模拟大师们的创新思维,培养学生的创新意识和创新能力。

(6) 强调理论指导下的实践,提升算法设计和程序设计能力

“编译原理”课程涉及的是一个比较适当的抽象层面上的数据变换,除了相应的知识非常重要外,其中一些基本的问题求解方法、处理问题的思路也是非常重要的。所以,“编译原理”课程的实践必须在理论指导下进行。学生在学习了基本的理论之后进行实验系统的设计与实现;教师在掌握系统总体构成和基本原理、方法的基础上提出实验的最基本要求。鼓励学生选择适当的方法进行系统的设计,包括选择自动化生成的方法。为了实现相应的效果,学生一定要先完成设计,然后再进入到实现阶段,以提高对复杂问题的求解能力。

另外,由于对问题的形式化描述及其系统的复杂性,许多理论知识需要在实践教学中得到印证,只有这样,才能使学生更好地掌握这些内容――就像吃梨子一样,亲自尝尝使用这些“一辈子都会不断使用的方法”的“味道”。通过实践,学生感受到成功的乐趣,提高了学习兴趣,加深对理论知识的理解,提高了理论联系实际的能力。

(7) 总体设计下的系统设计与实现,提升系统和程序实现能力

作为一个经典的、很成熟的系统,编译系统的构建涉及多方面的内容,既有分析,又有综合,对于培养学生的4大学科基本能力非常重要。无论从其复杂度还是技术含量上说,都是很适合教学的系统。

考虑到在一开始就讲授编译系统总体结构,可以在总体结构指导下,将其分解为“词法分析器设计与实现”、“语法分析器设计与实现”、“语义分析与中间代码器设计与实现”,每个程序将利用前一个程序的结果,最终形成一个简单的编译系统。这样就采用了功能递增的方式对实验进行引导性划分,使学生在学习词法分析时就可以着手进行相关的设计,随着教学的开展和教学内容的深化,组织系列化的上机实验,学生逐步完成词法分析器的设计与实现、语法分析器的设计与实现,优秀的学生进一步完成语义分析与中间代码生成器的设计与实现。在最后一个实验完成后,学生已经开发出一个满足要求的程序变换程序,完成整个系统的构建。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业核心课程教学实施方案[M]. 北京:高等教育出版社,2009.

[2] 教育部高等教育计算机科学与技术教学指导委员会. 高等教育计算机科学与技术专业公共核心知识体系与课程[M]. 2版. 北京:清华大学出版社,2008.

[3] 蒋宗礼. 坚持抽象第一的基本原理,追求问题的系统求解[C]//林闯. 第七届全国高校计算机系系主任论坛论文集.北京:清华大学出版社,2004:77-82.

[4] 蒋宗礼. 论计算机学科的形态与研究生培养的关系[J]. 学位与研究生教育,2004.11:11-15.

[5] 蒋宗礼. 论“编译”的性质及其知识载体属性的开发利用[J]. 计算机教育,2004(Z1):53-56.

[6] 蒋宗礼. 谈高水平计算机人才的培养[J]. 中国大学教学,2005(9):24-27.

[7] 蒋宗礼. 编译原理教材需各取所长[J]. 教材周刊,2005(12):10.

[8] 蒋宗礼. 编译课程教材建设[J]. 计算机教育,2007(11):74-76.

[9] 蒋宗礼. 推进编译原理课程教学改革,提高课程效果[C]//大学计算机课程报告论坛组委会. 大学计算机课程报告论坛文集.北京:高等教育出版社,2007:558-561.

[10] 蒋宗礼. “编译原理”教学设计[J]. 计算机教育2008(3):26-30.

[11] 蒋宗礼. 以能力培养为导向,提高计算学科教育教学水平[J]. 中国大学教学,2008(8):35-37.

[12] 蒋宗礼. 工程教育认证的特征、指标体系与评估的比较[J]. 中国大学教学,2009(1):36-38.

计算机与编程专业范文3

计算机科学与技术课程 1、公共课程:数学(高等数学、线性代数、概率论与数理统计)、政治(马克思主义思想概论、毛泽东思想概论与中国特色社会主义思想、思想道德修养与法律基础、中国近现代史纲要)、大学英语、体育。

2、专业基础课程:电路原理、模拟电子技术、数字逻辑、数值分析、微型计算机技术、计算机系统结构、高级语言、汇编语言、编译原理、图形学、人工智能、计算方法、人机交互、面向对象方法、计算机英语等。

3、专业方向课程:离散数学、算法与数据结构、计算机组成原理、计算机操作系统、计算机网络基础、计算机编译原理、计算机数据库原理、C语言/c++语言、Java语言等。

计算机科学与技术专业就业前景 计算机科学与技术专业学生的就业前景可以说是很不错的。计算机科学与技术专业是近些年来随着计算机的广泛应用发展起来的,随着网络时代的到来,计算机科学与技术专业变得炙手可热,就业也随之兴盛起来。虽然每年毕业人数确实比较多,但是企业的用人需求也比较大,对于真正有实力的人来说无须担心。现在软件编程人才,网络工程人才,信息安全人才,电脑动画人才等都是热门的方向。相对于其他专业,计算机人才创业起步相对容易,取得的成功概率也要大很多。

应该看到的是,随着用人单位对毕业生选择余地增加,导致对毕业生的要求将越来越高。用人单位不仅要求毕业生具有一定的职业能力,例如核心技能、行业通用技能和职业专门技能等,更看重毕业生的专业素养和综合素质, 因此,提升计算机专业学生的综合素质、培养职业能力变得十分紧迫和必须。

计算机科学与技术专业介绍 专业概述本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级科学技术人才。

本专业学生主要学习计算机科学与技术方面的基本理论和基本知识,接受从事研究与应用计算机的基本训练,具有研究和开发计算机系统的基本能力。

计算机与编程专业范文4

关键词:编译原理;计算思维;课程改革

中图分类号:G642 文献标识码:B

1编译知识在计算机学科中的作用

自从20世纪50年代中期诞生世界上第一个高级语言编译器――Fortran语言编译器以来,编译技术不断进步,已经成为计算机科学中发展最迅速、最成熟的一个重要分支。自1966年以来的所有55位图灵奖获奖者中,有近1/3的科学家是因为在程序设计语言和编译方面的成就而获得该项奖励,可见程序设计语言和编译的发展集中体现了计算机科学发展的重要成果与精华。计算机应用能发展到今天,编译技术的发展有着极其重要的、不可替代的作用。

五十多年以来,随着编译技术的发展,有关编译原理和技术的内容被逐步引入到了计算机专业本科教学中。从早期各阶段ACM和IEEE的计算机专业教学计划,到近年ACM和IEEE联合制定的CC 2005,再到我国教育部高等学校计算机科学与技术教学指导委员会2006年编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》,直至最新的ACM和IEEE联合制定的CS2008,都把有关编译原理和技术的知识作为重要教学内容列入。目前,我们编译原理课程的教学内容覆盖了CS2008体系中程序设计语言领域、算法和复杂性等领域的多个知识单元。

2编译原理课程的理论性和技术性特点

编译程序的构造原理和技术可以说是计算机科学技术中理论和实践相结合的最好典范。在许多课程的教学中,经典理论和先进技术之间的联系往往缺乏具体而形象的例证,而“编译原理”课程在这方面具有得天独厚的优势。形式语言和自动机理论为编译程序的设计提供了坚实的理论基础,正是在科学理论的保证下,才形成了一系列先进的编译程序设计方法和工具,使得编译程序的构造具有很高的系统性和自动化程度。例如,正是有了有限自动机的经典理论,才有了LEX这样的高度自动化的词法分析器的自动产生器;正是有了Knuth提出的LR分析方法,才有了YACC这样的高效的语法分析器产生器,将程序员从繁琐的代码编写中解放出来。编译课程的教学既要强调经典理论在计算机科学中的重要作用,又要注重介绍利用这些基础理论来设计和构造编译程序各模块的先进方法及工具,可以具体形象地说明经典理论与先进技术的关系。理论和实践相结合是“编译原理”课程的鲜明特色。

“编译原理”课程特别强调运用理论知识进行实践的能力和素质,以突出计算机专业人才培养的特色。“编译原理”是每个优秀的计算机专业人员必修的一门课程。通过编译程序这一具体的案例,学生可以综合理解和运用计算机的程序语言、操作系统和体系结构等各种软硬件知识,形成计算机专业人才特有的系统的专业知识结构。在系统学习编译的理论和技术的过程中,学生一方面对科学理论的基础作用有了充分的认识,提高了学习经典理论的兴趣,形成了较高的理论素养;另一方面,通过课程综合性的实践,分析或改进简单或复杂、原型级或产品级的各种编译程序或工具,也可以提高灵活运用理论知识、设计较大规模的软件来解决实际问题的能力。在课程的学习和实践中,学生可以深刻体会到理论学习的意义和动手实践的乐趣。

有许多人认为,如果今后不从事编译器的开发,编译知识就显得并不重要了――事实上并非如此。编译课程鲜明的理论性和技术性特点,使得这些知识对于计算机专业人员来说具有重要作用,甚至可以说是计算机专业人才区别于一般计算机人员的重要知识结构。对于将来从事编译系统设计工作的学生来说,编译课程的学习当然可以使他们掌握和理解编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术,获得分析、设计、实现和维护编译系统的初步能力,打下坚实的能力和知识基础;而对于那些将来不从事编译器研制的学生来说,编译课程的教学对于提高他们对计算机系统总体认识也具有重要的意义。通过学习编译的理论和方法,学生可以提高对程序设计语言的设计与实现等知识的综合理解,而这些知识对于准确掌握程序设计语言,学习新的编程范型,理解程序,开发出正确的软件都是不可缺少的基础。图灵奖获得者Perlis教授的名言“To understand a program you must become both the machine and the program”就精辟地说明了这一点。此外,编译课程介绍的经典语言分析方法和工具,对于一些实用的工具和软件,如自然语言理解、网络信息处理、网络协议的分析与实现等领域的软件或工具的研制,都是很好的基础。更为重要的是,编译课程中介绍的一些经典的理论和方法,对于传授计算机科学研究的方法、训练学生的思维都是难得的生动案例。因此,不能把编译课程片面地理解成为一个介绍编译程序的课程,而应当把该课程的教学放在培养专业素质、训练思维的层面加以认识,特别是应当强调如何在编译的教学中培养学生的计算思维。

3计算思维及其在编译理论和技术发展中的作用

计算思维(Computational Thinking)是卡内基梅隆大学计算机科学系Jeannette M. Wing教授在2006年提出来的先进的教育理念,被认为是近十年来产生的最具有基础性、长期性的学术思想,并将成为21世纪计算机科学研究的热点。

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了一系列广泛的计算机科学的思维方法。Wing教授认为,计算思维不仅仅属于计算机科学家,它将和阅读、写作和算术一样,是21世纪每个人必须具备的基本技能。计算思维已经在其他学科中产生影响,而这种影响在不断拓展和深入。例如计算生物学、计算博弈理论、纳米计算和量子计算等新兴研究领域的发展正在深刻改变生物学、经济学、化学和物理学领域研究的思考方式。

典型的计算思维包括一系列广泛的计算机科学的思维方法:递归、抽象和分解、保护、冗余、容错、纠错和恢复,利用启发式推理来寻求解答,在不确定情况下的规划、学习和调度等。显然,这些计算思维方法都可以在许多编译理论和技术的发展中找到痕迹,很多编译成果正是运用计算思维的结晶。例如,抽象和自动化是计算思维的两个重要手段,也是编译理论和方法产生的基础。编译课程中介绍的语法知识描述、词法分析、语法分析、属性文法、乃至优化等知识点,都体现了面向具体应用、从实际问题中抽象出科学问题并运用科学的思维方法进行问题求解的思想,其成果根植于坚实的经典理论,并应用于实践,以推动技术的进步。因此,在编译课程的教学中,结合编译理论和技术中经典的案例培养学生的计算思维,是一条值得探索的途径。

4结合编译案例的计算思维培养

如何培养“计算思维”,是目前计算机教育界非常关心的问题。例如,在计算机专业的教学中,有些学校在专业核心课程中融入计算思维的培养;在非计算机专业的教学中,对计算机导论类或程序设计类的课程进行改革,针对学科交叉的需求,从教学内容和方法上进行改革,培养学生的计算思维。总体来说,计算思维的培养应该贯穿在大学教育的全过程,甚至在大学之前的教育中。计算思维对于计算机专业的人才培养提出了新的要求,我们必须在专业课程教学中结合计算思维的培养。

编译课程的知识体系完整,既有经典理论成果奠定的坚实基础,又有在实践中发挥巨大作用的先进技术,其中很多知识点都为计算思维提供了很好的诠释和生动的案例。下面,我们从抽象、自动化、递归、问题分解和权衡等典型计算思维方法出发,探讨结合编译案例培养计算思维的可能途径。

(1) 抽象

“抽象”是科学研究的重要手段,也是计算机科学研究的重要工具。在编译理论和技术的发展中,正是运用“抽象”这一有力工具,才获得了一系列的重要成果。例如有限自动机、形式文法等都是重要的抽象工具,有了这些工具,才能够把握词法分析和语法分析等问题的本质,发现其中规律,最终形成一系列的自动分析方法。

(2) 自动化

将抽象思维的结果在计算机上实现,是一个将计算思维成果物化的过程,也是将理论成果应用于技术的实践。有限自动机、预测分析程序、算符优先分析、LR分析等编译经典方法,都是在抽象的基础上将知识和控制分离(即分析表加控制程序),从而获得了经典的分析工具,而这种知识和控制的分离也为分析工具的自动产生提供了可能。自动化的思维方法不仅体现在编译程序本身的工作机制上,更体现在编译程序的生成工具的研究和设计上。

(3) 递归

许多编译中的问题都具有明显的递归特征。运用递归思维解决复杂的问题,通常是对问题进行逐步化简,最后得到了一个规模非常小、非常简单、更容易解决的类似问题,将该问题解决后,再逐层解决上一级问题,最后解决了较复杂的原始问题。编译中的递归下降分析是最直观的对递归思维的运用,此外,基于树遍历的属性计算、语法制导翻译都是典型的递归问题求解。

(4) 问题分解

程序设计中的“自顶向下、逐步求精”的思想就是一种典型的问题分解的计算思维方法。运用问题分解这种思维方法进行问题求解,首先须做出对问题本身的明确描述,并对问题解法做出全局性决策,把问题分解成相对独立的子问题,再以同样的方式对每个子问题进一步精确化,直到获得对问题的明确解答。在编译程序的设计中,通过引入中间语言,将编译程序划分成前端和后端,就是一种典型的分解问题的思路。

(5) 权衡

“编译原理”课程是一门理论性和技术性都非常强的课程。理论研究重在探寻问题求解的方法,而在编译程序的设计和实现过程中,对于理论成果的研究运用又需要在能力和运用中做出权衡。这方面一个典型的例子是,我们知道,虽然高级语言的大部机制都可以由上下文无关文法来描述,但是上下文无关文法不能完全刻画高级程序语言的所有规范,有些语言机制甚至存在二义性。但是上下文无关文法的分析是高效的,所以我们在编译程序设计中依然采取上下文无关文法来描述高级语言语法,但是在具体实现时,通过改造分析表消除冲突、符号表操作、语义检查等手段,去实现上下文无关文法分析所不能完成的功能――这正是在具体实践中结合具体问题进行权衡的结果。

5结束语

计算思维的培养不是哪一门课程的教学能解决的问题。对于计算机专业教育来说,应当关注在各专业课程中的计算思维的培养,强调对各种原理和方法进行提炼,从思维方法的高度培养学生,使学生能够应用计算思维解决问题。大学计算思维的教育应贯穿于整个大学教育,做到学习期间不断线。

参考文献:

[1] Jeannette M. Wing. Computational Thinking[J]. Communications of ACM, 2006,49(3):33-35.

[2] 何炎祥,伍春香. 计算机专业不需要编译原理课程吗?[J]. 计算机教育,2009(4):61-62,85.

计算机与编程专业范文5

【关键词】 微机原理与应用;教学改革;教学探索;非计算机专业

【中图分类号】G64.23 【文献标识码】A 【文章编号】2095-3089(2015)20-000-02

自1971年美国Intel公司推出了第一代微型处理器以来,以微处理器为核心的微型计算机便以其执行结果精确、处理速度快捷、小型、廉价、可靠性高、灵活性大等特点迅速进入社会各个领域,且技术不断更新、产品不断换代,先后经历了80286、80386、80486乃至Pentium,酷睿微处理器芯片阶段。如今的微型计算机产品无论从运算速度、多媒体功能、软硬件支持性以及易用性方面都比早期产品有了很大的飞跃,便携式计算机更是以小巧、轻便、无线联网等优势正以高速发展的态势深入到我们生活和工作的各个领域。因此,为了培养具有适应能力强,综合素质高,创新水平一流的大学生,非常有必要将微机原理与应用课程作为理工科非计算机专业学生重要的基础课程进行学习[1]。

微型计算机技术发展非常快,该技术已广泛渗透到社会生产、生活的各个领域。通过本课程的学习不仅可以使学生掌握计算机原理及应用的知识,更能启发学生对先进科技的向往,激发创新意识,推动对新知识的学习,培养自学能力,锻炼动手实践的本领。本课程以Intel8086/8088为例,重点讲授16位机的硬件组成、CPU结构、指令系统、汇编语言,存储器组成、输入/输出技术及中断系统[2]。对非计算机专业的本科学生来讲,微型计算机原理与技术是一门学习难度较大的课程,同时相对于教师来讲,教学难度也非常大。该课程所涉及的基础知识和课程繁多,比如《数字电路》、《模拟电路》,《汇编语言》等,知识基础性强,比较抽象难于直观理解。不仅需要理解的内容比较多,需要识记的内容也比较多。非计算机专业的学生,由于并不具备计算机专业基础,且很多专业词汇很难理解,这就使得学生学习起来兴趣不足,学习比较困难。教师在教授该课程时,如果采用传统的教学模型,会造成很多的教学困难。以往关于该课程教学方面的探索也大多集中在计算机相关专业领域[3,4,5]。因此,需要积极的改革现有的教学方式和方法,探索新的教学模式,使非计算机专业的学生能够更好的学习和掌握《微型计算机原理与应用》课程。

1 教学内容改革

1.1优化教学内容

现在市面上常见的微机原理与应用教材,大多是针对计算机专业的学生进行编写设计的。然而,非计算机专业中的计算机教育,无论是教学目的,内容,教学体系,还是组织,教学方法等各方面都与计算机专业有很大的不同,绝不能照搬计算机专业的模式和做法[1]。对于非计算机专业的学生而言,学习该课程,不能像计算机专业的学生那样学习的那么全面和深入。而是要针对非计算机学生发展的需要,突出重点,注重基础。例如,通过教学实践,我们发现计算机专业的学生在学习该课程的时候,基础知识可以讲解的不多,直接进入8086/8088CPU的学习,但是对于非计算机专业的学生,这种安排就不适用。在学习8086/8088CPU以及后续知识之前,应该对计算机基础知识进行补充学习。因此,我们在讲授8086/8088CPU的相关知识之前,首先补充讲解了计算机的发展和基础知识,以及计算机的数制和逻辑电路以及加减法电路,还详细讲解了计算机的基本组成电路并通过设计模型机讲解了计算机的基本工作原理。通过增加以上知识的学习,使得非计算机专业的学生在学习8086/8088CPU以及后续知识的时候,变得相对比较容易理解和接受,易于教师的讲解和学生的理解。

微型计算机原理与应用课程中涉及到汇编语言的学习。汇编语言是计算机专业的专业基础课程,也是电子、通信及自动控制等相关专业计算机技术课程的内容。汇编语言是一门重要的程序设计语言,但是同时学习难度也非常大[8]。我们在教学过程中安排了两章的内容学习汇编语言,在学习汇编语言编程之前学习了大量的8086/8088指令系统,以及汇编指令,同时结合上机实验学习,并且与计算机高级语言,比如C语言进行比较学习。教学实践证明,通过这种方式可以使非计算机专业的学生较好的学习汇编语言以及编程。

1.2增加实验操作内容

微机原理与应用是一门涉及知识面比较广,理论性非常强的课程。以往的教学中,基本靠教师课堂的讲授的方式学习这门课程。如果单纯依靠传统的教学模型,学生很难很好的掌握这一课程。随着教学的深入,学生的学习动力和兴趣必然会下降。因此,这就需要教师及时的调整教学方式,增加实验操作,引导学生动手学习。这样不仅增强了学生的动手能力,而且还增强的学生在实验过程中的成就感,学习的动力和兴趣就会自然的增加。在实际的教学中,我们采取软件和硬件相结合的教学方式。首先,在软件上,引入多媒体教学软件,通过多媒体教学软件的模拟,可以使学生很形象的理解微型计算机基本知识和基本工作原理,使得这门理论性强的课程变的生动形象。其次,在硬件上,我们引入教学模型机,通过操作模型机,让非计算机专业的学生能够深刻的理解和掌握计算机基本的工作原理,课堂上讲授的内容不再是枯燥的理论,而是变成现实的技术,可以操控的理论知识。

1.3建立网络教学平台

现代的大学生,手机,电脑等已经成了生活必需品,生活学习中已经离不开网络,越来越多的大学生通过网络沟通、交流、学习。微机原理与应用课程与多媒体网络联系非常紧密,因此更需要更好的利用网络平台实现高效的教学和学习。然而,我国高校网络教学平台相对比较落后,大多没有系统化的网络教学平台。

所以,我们还将建立网络教学平台,将课堂上讲解使用的课件,动画演示的内容,放到网络上面,方便学生课下讨论和学习。另外,通过网络教学平台,还可以实现师生互动。教师不仅可以及时解答该课程学生的问题和疑惑,而且能够及时的得到学生反馈的信息,调整教学思路,更好的完成教学工作。建立网络教学平台可以丰富教学模式,让学生更为方便快捷的随时随地进行学习,还可以让更多的老师和学生共享教学资源。

2 教学方法的探索

教学方法是教师和学生为了实现共同的教学目标,完成共同的学习任务,在教学过程中运用的方式与手段的总称。国内常见的教学方法有讲授法,讨论法,演示法,练习法,任务驱动法等,而国外常见的教学方法有,巴班斯基的教学方法,拉斯卡的教学方法,威斯顿和格兰顿的教学方法[6]。

作者认为,针对不同的教学内容,不同的教学对象(学生),应该灵活使用适合的教学方法。传统的讲授法不适用非计算专业的学生学习微型计算机原理与应用课程。对于每一小节的内容,应灵活使用各种教学方法,而不是将一两种方法一成不变的应用始终。例如,在讲授8086/8088微处理器的内部构造时,适合采用讲授法和讨论法;讲授8086/8008未处理器引线结构的时候适合采用任务驱动法和拉斯卡的教学方法;学习汇编语言时则适合应用演示法和练习法,同时也结合上机实验,并且进行实例练习。总之,在讲授本门课程时,应该针对不同的教学内容,不同的教学对象,探索制定不同的教学方法[7]。

微型计算机原理与应用是计算机专业的基础专业课,实用性非常强,对后续课程的学习以及整个专业理论知识的建立和理解都起着非常重要的作用。非计算机专业的学生不可能像计算机专业那样系统学习计算机专业的知识,很大程度上体会不到该课程的所起的基础知识作用。因此,在教学的过程中,对教师提出更高的要求,教师不仅要系统讲授该课程内的知识和内容,同时也要联系和穿插实际的应用和与现代信息科学技术联系起来。采用举例法,这样不仅可以增加学生学习的兴趣,还能使学生体系到该课程的实用性和重要性。

3 考核方式改革

长久以来现行的大学考核方式,并且偏重于知识记忆,考核方式单一,对学生学习效果的评价也仅依靠最后的期末考试确定学生的最后成绩,课程考核内容局限于教材、老师划定的范围和指定的重点,对学生综合素质和创新能力的考核普遍不足。这种机械的考核方式对大学生造成了错误的引导和教育,与素质教育和创新教育不符。微机原理与应用课程是一门实用性,创新性非常强的课程,同时也注重理论知识的教育。因此,在进行微机原理与应用课程教学时,应该转变观念,树立以实用和培养人才为导向、以能力和素质考核为中心的考核观念,突出能力本位,积极探索建立新型的课程考试考核评价体系,充分发挥考核评价的引导和激励作用,促进教学内容和教学方法改革,强化学生创新精神和实践能力的培养,彻底改变存在的“会考试”而“不会做事”的“高分低能”和“有分无能”的现象。

考试考核方法改革将以往以测试记忆为主的知识性考核转变为以实践为主的能力和素质考核。根据专业特点和课程性质的不同,微机原理与应用采用了多元化的考核评价方法。除闭卷笔试外,还采用课堂测试、上机现场实际操作、平时作业,小组讨论实践等多种方式综合运用的考核方法。具体在考核方法内容所占比重如下表:

课堂测试 上机实践 平时作业 小组讨论 期终成绩 最终成绩

15% 25% 10% 10% 40% 加权求得

通过这种考核方式,使学生摆脱应试考试的思想,不再进行死记硬背,应付最后的期末考试。学生在学习的过程中,会积极的进行上机实践活动,积极的进行课堂的讨论,真正参与到课程的学习中来,最终能够圆满的完成事先设定的教学目标。

4 结语

总之,我们针对本院学生的专业特点和需求,以及存在的困难,对微机原理与应用这门理工科非计算机的基础课程进行了一系列的教学探索和实践。该课程信息量大,学习必须具备一定的基础,对于非计算机专业的学生学习存在较大困难。

针对上述教学存在的问题和困难,考虑非计算机专业学生的特点,我们在教学实践过程中提出必要的改进措施,进行了重要的教学探索。对教学内容作了适当的调整,针对本专业学生的职业定位,突出基础知识的学习;增加实验教学环节,锻炼学生动手实践的能力;针对不同的教学章节,灵活采取不同的教学方法,提高课堂学习的效率;采取多种考核方式,使学生摆脱应试教育的思维模式。

参考文献

[1]郑学坚,朱定华.微型计算机原理及应用(第四版).北京:清华大学出版社.

[2]杨素行,等.微型计算机系统原理与应用.北京:清华大学出版社.

[3]金巨波.微机原理与应用课程改革与实践[J].计算机教育,2010(16):33-35.

[4]谢维成.微机原理及应用课程实施双语教学存在的问题与对策研究[J].高等教育,2010(27):86-88.

[5]徐春雪.微机原理与应用课程教学方法的分析[J].信息与电脑,2009,(12):181.

[6]Annette Breaux,Todd Whitaker.从优秀教师到卓越教师:极具影响力的日常教学策略.北京:中国青年出版社

计算机与编程专业范文6

【关键词】高职高专 可编程计算器 课程建设

测绘地理信息类专业的学生,要求通过学习,构建测、绘、算的基本能力。计算能力成为职业能力的基本组成部分。

依据测绘中、高职学生毕业就业瞄准工程现场工作岗位需要的实际。在工程类的工作中,特别是在类似道路工程施工现场,伴随工程进程,需要反复进行放样或校核,而且需要现场进行数据处理,这样的数据处理的特点是数据量不大,数据处理模型不复杂,但实时性要求高,要求立即指导现场施工工作。由于施工现场灰尘多、野外供电困难等环境条件的原因,通常是不方便使用电脑的,因此,计算器,特别是程序计算器一直发挥着极其重要的作用。

1 可编程计算器的工程应用

信息社会的到来,使得人们对计算机的依赖程度越来越强,但并不意味着计算器可以完全被取代,不同的计算工具都有各自的用户群体。可编程计算器和计算机相比,具有价格低、体积小、携带方便、容易操作等优点,和不具备编程功能的普通计算器相比,又具有可解决相对复杂的计算问题、使用和修改方便等优点,因此在各行各业中得到了广泛的使用,尤其在工程行业应用最为广泛。

早在20世纪90年代末,可编程计算器就已经在我国工程界得到了比较广泛的应用。随着社会的进步,科学的发展,可编程计算器在工程领域中的使用也在增加,例如:在坐标转换中的应用、圆曲线与缓和曲线上点的坐标计算、道路纵断面中平测量、隧洞开挖和欠挖中的计算、隧道断面测量、公路与铁路路线任意变坡点连续竖曲线高程计算、桥梁施工测量中的计算、高铁施工中的相关计算等。

随着计算器的不断发展,计算器的内存容量也逐渐增大,有些已经可以使用存储卡存储程序。计算器不断地升级换代,功能更加强劲,计算器的处理能力也在不断增加,以适应现代工程技术发展的需要。

2 高职高专测绘相关专业学生计算能力培养

“测、绘、算”是测绘学生要掌握的基本技能,“算”是其中重要的一项,学生学会一种以上计算器的使用是很有必要的,可以提升学生的计算能力。

根据高职学生就业面对工程现场一线岗位的特点要求,在《高等学校高职高专测绘类专业规范》和《教学基本要求》中要求设置“计算器测绘程序设计与应用”课程,以期待通过学习,构建学生满足现场工作实时需求的数据处理能力。这样的数据处理能力,也是构成学生计算能力的不可缺少的组成部分。即使是当前测绘技术和装备已经数字化、信息化的状态下,测绘地理信息技术人员的现场工作依然需要工程计算器,特别是对可编程计算器应用能力的需求。

但现在的学生对计算器认识不够。智能手机、平板电脑等电子产品的不断涌现,价格水平也逐年下降。计算器在学生的潜意识里已变得不再重要,他们觉得,手机、平板即可代替计算器。

但就中国目前来看,计算器还不能完全被替代,计算器所具有的优势:如小巧、轻便,便于携带;电池耐久;计算程序容易编写等,使得它在短时间内还不会从市场上消失。这就要求我们改变学生对计算器的认识,从计算器的基本使用开始,让学生系统地学习可编程计算器,培养学生的计算能力。

3 可编程计算器程序设计课程中存在的问题

到目前为止,高职高专开设可编程计算器程序设计课程还存在以下问题:

3.1 教材的选择

很多学校都开设了计算器编程课程,但是一直没有适合的教材作为参考,上课非常不方便。虽然算器编程相关书籍非常多,但作为教材还不够系统,难易程度也不合适。

3.2 可编程计算器机型选择

市面上的计算器品牌很多,如CASIO(卡西欧)、得力DELI、TI(德州仪器)、SHARP(夏普)、Canon(佳能)、COMIX(齐心)等。各种品牌、型号的计算器,它们各有特点,且操作不完全相同,计算器的按键对于不同的品牌、不同的型号,区别也比较大。编程计算器的程序语言也不完全相同,计算器的计算功能的多少、在工程上的使用程度等都影响计算器的选择,同时还要兼顾学生本身的经济条件。因此,选择哪一种机型的计算器用在教学中是一个要解决的问题。

3.3 教学内容的选择

因课程开设时间的不同,对教学内容的要求也不一样。如果开设时间过早,相关的基础课程还没有学习,学生学习起来困难较大。将课程安排在大部分专业课程之后,基本原理部分的讲授就会变得相对简单,但编程内容要如何选择,怎样安排整个教学内容才能达到比较好的效果呢?这是我们要解决的又一个问题。

4 课程建设

4.1 教学时段安排

因计算器编程课程与很多专业课程密切相关,如果大部分专业课程没有学过,在讲程序设计时,势必要把所有没学过的数学模型及原理从头讲一遍,这样就会与其他专业课程重复。根据多年对本课程的教学和研究,将课程安排在完成大部分专业课程之后,将会事半功倍。

此外,计算器程序设计课程同一些专业课程会同时开课,将计算器程序用于这些专业课程中的相应计算中,这样的学习效果会更佳。例如在开设工程测量课程时,将曲线放样元素的计算用计算器程序来完成,计算更快,学生也更有学习兴趣。

4.2 教学时间安排

4.2.1 一周安排几节,用一个学期的时间完成课程教学

这样安排,学生有时间学习和消化讲过的内容,但时间过长,可能在下次上课的时候就将上节的内容忘记了。

4.2.2 集中排课,一周时间完成课程教学

用一周或两周的时间,集中学习。天天都在接触计算器及相关编程内容,记忆深刻。但集中学习,一次接受的知识太多,学生理解起来有困难。在学过一个知识点后,学生没有更多的时间去消化吸收。

这两种安排各有利弊,但将其综合起来,将课程安排半个学期的时间,教学的进度与学生的接受能力都可以得到满足,教学效果更佳。

4.3 总学时的确定

课程的安排要满足学生学会计算器的基本功能、基本编程功能、专业计算程序的编写、在工程应用中使用到的一些常用计算器程序等。由易到难,学生从计算器的基本功能开始学起,通过学习平时熟悉的数学模型,学习兴趣会更浓。通过这样的循序渐进的过程,逐渐掌握程序编写的要点与技巧,从而学会编程。要达到这样的教学目标,总学时安排大概30学时即可。

4.4 计算器机型的选择

根据卡西欧(中国)贸易有限公司市场部相关人员的市场调查,及测绘相关专业已经毕业的学生反馈的信息,在工程中使用较多的机型为CASIO fx-5800P计算器。因此,为了适应市场及学生就业岗位的需求,课程选用CASIO fx-5800P计算器作为主要机型,有针对性地讲授其编程方法,同时附带市场上用的相对较多的其他机型作为比较。

5 教材建设

针对各高职院校计算器编程课程的困扰及课程特点,经过全国测绘地理信息职业教育教学指导委员会认真研究,组织编写了《Casio fx-5800P测绘程序设计与应用》教材,该教材从测绘及相关专业出发,内容涵盖计算器的基本计算操作、编程基础、点位坐标计算、参考椭球与坐标转换、高程测量计算、导线测量计算、曲线测设和面积计算等程序的编写与使用,与测绘专业紧密结合,难易程度相当。学生学习了相关测绘基础知识,如测绘基础、测量平差、控制测量、工程测量等学科之后,再来学习计算器程序设计,在数学模型的学习上不用花费过多的时间,重点放在程序设计与使用上,效果会更好。

在信息化比较发达的今天,除了纸质的教材外,学生可以借助各种媒体进行学习。同时考虑到课程的学习时间不是很长,需要在短时间内掌握编程技巧与方法,所以在教材出版的同时,还配套有课程相关的学习视频、课件、教案等供老师和学生参考。学生除了在课堂上学习外,还可以自由安排时间进行自学。老师上课更轻松,学生也可以更好地学习。

6 结语

课程建设方案及教材内容的设计,在由全国测绘地理信息职业教育教学指导委员会组织的“工程计算器与测量教学整合”课题研讨会上,得到了与会专家、老师、工程师等的一致好评。同时为了使学生更爱计算器程序设计,使计算器程序设计课程达到开设的目的,卡西欧(中国)贸易有限公司联合多所高校、企业组织了工程计算器程序设计大赛,使专业人士和学生积极参与,促进了计算器程序的发展和改进,做到以教促学、以赛促学,最终达到以学促用的目的。但是,这其中也存在一定的不足之处,我们会在以后的实践中不断改进,以适应发展的需要。

参考文献

[1]周拥军.CASIO可编程计算器在土木工程教学中的应用实践[J].昆明冶金高等专科学校学报.2003,19(04):51-52.

[2]王中伟.卡西欧fx-5800P可编程与道路施工放样程序[M].广州:华南理工大学出版社,2011.

[3]高振玲.马俊福.利用CASlO编程计算器进行圆曲线与缓和曲线交点坐标的精确计算[J].甘肃广播电视大学学报,2012,22(03):45-47.

作者简介

张伟红(1977-),女,河南省温县人。工学硕士。讲师,主要从事测绘工程技术的教学与研究工作。