计算机型论文汇总十篇

时间:2022-06-30 17:33:14

计算机型论文

篇(1)

1.1信号系统实施方案基于分布式原则,将CTCS-3级信号系统分为核心主机部分和远程外设(车载设备也作为远程外设)部分,如图1所示.①核心主机部分基于核心主机型配置的安全计算机平台实现,放置于目前信号机械室内,支持目前无线闭塞中心(RBC)、临时限速服务器(TSRS)、计算机联锁(CBI)和列车运行控制中心(TCC)的核心控制逻辑,以及与临时限速服务器(TSRS)、计算机联锁(CBI)相适应的人机界面(DMI)的功能.②远程外设部分基于远程外设型配置的安全计算机平台实现,尽量靠近现场控制对象,确保远程外设和现场控制对象之间的硬连线尽可能缩短.远程外设支持计算机联锁通用数字量输入或输出功能;轨道电路通用数字量输入或输出功能,智能输入或智能输出功能;轨旁电子单元(LEU)通用数字量输入或输出功能,智能输入或智能输出功能。

1.2系统的具体实现针对列控系统这样的安全苛求系统,提高可靠性和安全性的最直接办法就是采用硬件冗余结构,但这样会加大共因失效的概率.因此,为了降低整个冗余结构的失效率,应遵循差异性结构的设计原则,在物理、功能及流程三方面,保证各通道、模块之间或系统功能之间存在充分独立性.本设计采用硬件/软件差异性设计原则.通过硬件上选择不同处理器架构,同时选择不同的操作系统、不同的编译器、不同的编程语言及开发环境,从而降低共因失效.改进的安全计算机平台基于2乘2取2结构,如图2所示.图2主要分为3个部分:逻辑处理单元(LogiProcessingUnit,LPU),外部设备管理单元(Pe-ripheralManagementUnit,PMU),容错和安全管理单元(FaultTolerantandSafetyManagement,FTSM)[6-7].其中,逻辑处理单元由2组共4个LPU构成,每2个LPU构成1组2取2结构的一系,两系构成2乘2取2结构.每一系2个LPU一个基于X86架构,另一个基于PowerPC架构.容错和安全管理单元由2个或多个FTSM构成,在满足安全性的前提下,优先选择2个FTSM的方案,即2取2(1-out-of-2,1oo2)结构的FTSM方案,2个FTSM一个基于ARM架构使用C语言实现,另一个FPGA使用VeriLogHDL实现.外部设备管理单元由2组共4个PMU构成,每2个PMU构成1组2取2结构的一系,两系构成热备(2乘)2取2冗余结构或并行2取2冗余结构.每一系的2个PMU一个基于X86架构,另一个基于PowerPC架构.根据上述信号系统的功能分析,通用安全计算机平台应可以配置成核心主机型配置、远程外设型配置两种形式,见图3和图4.典型的核心主机型配置包括逻辑处理单元、外部设备管理单元、容错和安全管理单元3个部分及安全通信内网VCIN.典型的远程外设型配置时,包括外部设备管理单元、容错和安全管理单元两个部分及安全通信内网VCIN。

2安全计算机平台软件结构改进

由于列控系统采用不同软件来实现不同的功能,要将几台设备完成的功能集成到一台设备,在时间上和内存上需要对各任务进行隔离,使得同一时间只有特定的任务在特定的内存中运行.这样在逻辑上没有破坏现有控制系统的结构,只是在硬件上运行于一台计算机中,能够在完成规定功能的基础上减少硬件的投资并提高了安全性.本文采用时空隔离的方法来实现通用型安全计算机平台软件的集成,并且基于实时操作系统来开发,在便于维护的同时还可以提高软件的可靠性和稳定性.1)时间隔离方面,采用了两级调度结构,如图5所示.底层使用时间片隔离的方法使子系统间不能相互干扰;上层在子系统内部使用实时调度算法以提高系统的效率.测量时间并计算参数时需要使用松弛迭代的路径测试方法,并利用VxWorks操作系统提供的时间功能.2)空间隔离方面,也采用了两级调度结构,如图6所示.底层使用MMU的功能对各子系统设置独立的地址空间,使得子系统间不能相互干扰;上层在子系统内部使用改进的动态内存分配算法best-fit,大块内存和小块内存的分配方式不同,以提高系统的效率并减少碎片化。在内存管理上,采用两级内存管理来提高内存的使用效率和管理的实时性.子系统内部采用改进的大小内存块的best-fit算法进行动态内存管理,保证了内存分配的实时性和低碎片性.在子系统间采用基于MMU的页内存管理方式,保证了实时性和隔离性.

3安全计算机平台实验验证

3.1硬件结构验证

3.1.1安全性指标计算本文采用挪威工业科技研究院(SINTEF)开发的PDS(基于计算机的安全系统)方法对改进的硬件结构安全性指标进行计算,该方法遵循IEC61508标准体系的相关规定和结论.计算过程在本文中不再赘述,详细步骤可参见文献[9].量化指标用每小时危险失效的平均频率(AverageFrequencyofaDangerousFailurePerHour,PFH)来表示.PFHSYS表示系统每小时危险失效的平均频率,其中有6项参数是未定的:诊断覆盖率DC,冗余结构修正因子CMooN(M-out-of-N,表示“N取M”;M≤N,均为自然数),失效率λ(FTSM单板的失效率为λFTSM),远程外设配置个数i,功能测试时间间隔τ,共因失效因子β.其中共因失效因子β根据计算,在本文中取1%.为了简化并考虑到经济效益,FTSM冗余结构采用loo2.而远程外设配置个数与实际应用相关,不能通过技术等手段限制.PFHSYS是通过计算共同提供安全功能的所有子系统的危险失效概率,并把这些值相加.用PFHL、PFHP、PFHR分别表示逻辑子系统、外设管理子系统及远程外设的每小时危险失效的平均频率,相加得出下式。

3.1.2硬件结构实验验证图8硬件实验平台Fig.8Hardwareexperimentplatform在实验室以核心主机的安全计算机平台为架构搭建的测试平台,采用COTS的硬件和软件资源.搭建一系1oo2结构逻辑处理单元和一系1oo2结构的外部设备管理单元,以及1个1oo2结构的FTSM如图8所示.搭建安全计算机硬件测试平台,先进行逻辑处理单元和FTSM的功能的测试,然后进行外部设备管理单元的安全通信功能测试.1)内部安全通信功能实验.具体实验方法是两台PU机向ARM、FPGA发送测试数据,通过PU机观察ARM、FPGA返回的数据.以验证PU机、ARM、FPGA的之间安全通信帧结构的具体功能.如图9所示,实验返回了两组数,通过地址标识判断,FPGA的返回数据为:00000b0d0000aaaa99dadf6bdc757674.ARM的返回数据为:00000b0e0000aaaa00c466f2c19247e4.前2字节为序列号,接着2字节为地址标识,接着4字节为数据位,最后8字节为通过计算前面8字节数据所得64位CRC检验码.这两组校验码均与通过Mi-crosoftVisualC++6.0计算的结果相一致.由序列号的定义、地址标识的定义和CRC检验码计算结果可知,ARM、FPGA返回的数据正确.本次实验验证了ARM板、FPGA板的序列号生成功能、地址标识功能、CRC检验编码功能的正确性.2)容错和安全管理实验.FTSM的工作流程是:首先通过内网与2台PU机连接,FTSM上电启动后等待PU1、PU2两台PU机的数据.然后对接受到的2台PU机数据进行数据解帧,CRC校验检查、地址标检查、两机数据时序约束、两机数据比较、序列号检查等数据正确性检查.最后对上述结果进行组帧输出.下面进行FTSM的功能实验:具体实验方法是PU1、PU2分别在下述6种情况下向FP-GA、ARM发送测试数据,在PU1、PU2上观察FP-GA、ARM的返回数据,以验证1oo2结构FTSM的功能,实验结果如表1所示.表1中,实验3与实验2共同验证了比较检查功能和CRC校验功能可以对正确与错误的输入做出相应的输出;实验4与实验2共同验证了目标地址标识检查功能和CRC校验功能可以对正确与错误的输入做出相应的输出;实验6与实验1共同验证了FPGA、ARM之间能正确通信,以及2取2结构正确性;实验5验证了时序约束功能.3)外部设备管理单元安全通信实验.为保证外部设备管理单元的通信安全,对通信的数据采用监听诊断,引入SPAN(SwitchedPortAnalyzer,交换端口分析仪)技术,通过实验测试,验证该技术既可以实现对数据监听,又能应用到外部设备管理单元.实验包括在Catalyst2950交换机中,实现第三方设备监控通信,以及自身设备监控通信,如图10所示.第三方监控通信是A计算机向C计算机发送,在B计算机上,使用抓包获取数据,能够获取源端口发往目标端口的镜像数据.通过SPAN镜像的数据与A发往C的数据一致,达到实验预期效果,说明B计算机能监控A与C之间的通信,实现B计算机监督A计算机输入输出的功能.自身设备监控通信是使带入口通信转发功能的目标端口对应B计算机向源端口对应C计算机发送数据.在带入口通信转发功能的目标端口,抓包能够获取B发往C的数据.说明了目标端口既可以实现实数的输入转发,又可以实现对源端口的监控.

3.2软件集成验证

为了验证提出的软件改进,在CTCS-3列控系统中选取RBC,TCC,TSRS进行集成.其中RBC由3个任务组成:列车注册、列车注销和MA生成;TCC有一个任务:发送调度信息.TSRS由两个任务组成:临时限速提示激活和重复提示.软件的时间参数(总周期和各子系统隔离时间)和空间参数(各子系统隔离内存大小)的确定方法如下.

3.2.1时空参数的确定时间参数有两个,即分配给每个子系统的隔离时间和每个程序执行所需时间,隔离时间可以通过执行所需时间计算出来,而执行所需时间可利用软件测试的方法和VxWorks的实时性来确定.因此,计算出RBC、TCC及TSRS的一个周期内分配的时间分别为220ms,44ms,44ms.空间参数利用VxWorks集成开发环境Work-Bench的memoryanalyzer工具,可知每个子系统的最大内存使用情况.再根据以下内存分配算法进行放大:1)已知任务内存集合{Mi|1≤i≤m}为任务正常运行时所需要的内存大小.2)令ΔM=min{Mi|1≤i≤m}.3)以ΔM为基准对内存集{Mi|1≤i≤m}进行归一化处理,任务τi的内存Mi进行归一化处理后的结果是ni.定义处理后的结果为{ni|1≤i≤m}.4)计算{ni+ni+1|1≤i≤m,令nm+1=n1},取最大值N=max{ni+ni+1}.5)计算出所需内存的总大小为L=ΔM×N,划分成N个ΔM大小的内存块.这样计算可得所需全部内存为60KB.从时间和空间两方面都知道具体分配参数后,就可以编程实现.

3.2.2编程实现所采用的软件平台为VxWorks-cert,之后模拟RBC,TCC,TSRS的功能,并通过编程予以实现,观察各子系统状态如图11所示。图11中图(a)~(d)表示正常情况下各子系统运行;图11(e)表示在TSRS程序中任意行加入一个比较长的延时,使在分配的时间内不能完成功能.TSRS无法在分配时间内完成,没有发送OK返回值,RBC、TCC没有检验到OK返回值,输出错误信息.图11(f)表示在TSRS任意程序中任意行加入比较大的内存分配,使得分配给它的内存不够使用.而由于内存出错,TSRS无法完成任务,均输出错误信息.实验结果说明了通过编程实现RBC、TCC及TSRS的功能的可行性,达到了将几台列控系统设备的软件功能进行集成的预期目的.该设计首先确定程序的最坏执行时间,然后计算出总周期和各子系统的隔离时间,最后按照所需内存安排静态内存分配.图11也证明了这种方法能够保证程序在时间和空间的确定性,使其具有良好的安全性.

篇(2)

为考试服务最明显的特点就是深受传统的理论化知识影响研究,忽视了学生对计算机技能的实际掌握和应用能力,导致学生毕业后走向社会并不能达到企业需要应用型人才的目的,毕业后的就业存在一定难度,对我国计算机应用型人才的培养数量上也十分有限。

1.2 教材内容有待考量

时展、科技发展的速度非常快,如果一味使用长时间的计算机教材,就缺少了时展特点。高校计算机教材大多数存在我国多年的知识和理论架构,很难满足新时代的计算机发展技术。高校在计算机教学课程设置上也没有使用最新的教学版本,导致学生掌握的计算机能力过于基础和落后,没有办法达到企业需要的人员具备的能力。

另外,纵观目前我国高校学生多数属于90后,其更加注重个性化的发展,过于陈旧的教材,使得学生在进行计算机学习过程中很难提起兴趣,上课的积极性不高,很难达到我国对应用型人才的要求。

1.3 教学方法有待提高

总的来说,不仅仅是计算机教学方法有很多,其他学科也有很多的教学方法可以采用。正和我们上文说到的问题一样,我国在针对学生的教育教学方式上过于传统,教学方法过于陈旧,都是导致计算机教学存在问题的主要原因。基于学生的个性化发展,计算机作为一门应用学科为主的课程,更应该要求教师在教育教学过程中掌握符合学生发展特色的教学方法。目前看,我国多数高校在进行计算机教学中就忽视了学生的个性化发展,采用统一口述的传统化教学,同时因为缺少和学生之间的情感交流,使双方很难达成情感教学效应,最终的教学目标很难达到。

二、针对高校计算机教学培养应用型人才的建议

2.1 制定计算机人才培养战略

高校存在的意义和初中、高中明显不同,高校对学生的培养是要为学生今后的工作、就业、社会需要相契合的。因此,对于计算机教学培养应用型人才来说,其在课程制定上也应该保持今后国家、社会对人才的需要。要求其在进行计算机人才培养和相关战略制定上始终保持社会对人才的需求的机构。从计算机对应用型培养上看,主要应该是对学生进行理论和基础的实际结合,保证学生学有所成,通过理论基础完善具体的实践,为学生今后走向社会,成为给社会中需要人才做准备[2]。

2.2 加强对高校计算机教学的改革

对于高校计算机教学的改革本文主要从两个方面进行阐述。首先,是对高校计算机教材的改革,目前高校中计算机专业教材很难符合时展需求,理论和实践都过于陈旧,严重影响学生在计算机学习方面知识的准备和应用能力的天赋,改革首先要从教材抓起,通过严密、高效、符合社会计算机人才需求的教材是首要方面。其次,教学改革自然和高校在制定教学目标上相结合。在计算机教学中,重视理论和实践相结合的原理,避免学生的应用技能不足。

2.3 提高高校计算机专业教师团队建立

高校是人才培养的基地,尤其对于计算机这类高精尖的课程来说,教师水平高低决定了教学的质量高低。因此,建议高校要加快建立内部的计算机教师专业团队,向学生传授最新的教学思想和计算机应用的成功案例,重视对高校计算机人才的培养,保证为学生今后的毕业工作服务[3]。

篇(3)

软件系统是计算机系统的灵魂,软件系统本身的复杂性和人的思维的局限性造成了软件系统中可能会潜伏各种各样的故障1 这些软件故障引发的软件失效可能会给用户带来损失1 对软件故障的分类方法有很多种,比较有代表性的是IBM 公司对其大型项目的故障模式采用的正交缺陷分类法(简称ODC) [3 ]1 这种故障分类方法对软件测试有一定的指导意义,但用户更关心的是如果软件系统中潜伏着故障,它产生的失效能够带来多大的损失1 有些故障即使数量较多,也是用户能容忍的,另外一些故障则可能会给计算机系统甚至是给与之相关的更大规模的系统造成毁灭性的损失1 例如,航天器发射过程中火箭的爆炸,由这类故障引发的失效发生的概率必须比较低,用户才能接受1 如果对软件系统中可能潜伏的故障不按照其可能造成的损失进行划分,对所有类型的故障发生概率均同等对待,则可能会加大软件测试的工作量和强度,提高软件的测试费用,给用户带来较大的经济压力1 因此,有必要据此对软件故障进行划分1定义11 设FALL是软件系统S 中潜伏的全部故障组成的集合。推荐阅读:计算机网络和系统病毒及其防范措施毕业论文

2 利用前面建立的软件可靠性增长模型,建立了一个穿戴计算机软件系统可靠性增长

篇(4)

现在全国各高校都逐步重视计算机应用型人才的培养工作。在计算机应用型人才培养工作中,教学工作是重中之重。在教学过程中,教学方法的正确运用会使我们的教学工作有事半功倍的效果。如何有效地运用建构主义的教学方法应用于计算机应用型人才的教学过程中呢?本文基于此探讨了建构主义的基本教学方法,并结合近些年来的切身的教学体会,给出在计算机应用型人才培养的教学过程中如何去运用这些方法进行教学,希望给计算机应用型教育的教学方法的改革带来帮助。

1 建构主义的教学方法

1.1 学习环境建构主义认为,学习者获得的知识是在一定情境下,借助于他人的帮助,如人与人之间的协作、交流、利用必要的信息等等,通过意义的建构而获得的。理想的学习环境应当包括情境、协作、交流和意义建构四个部分[2]。

(1) 情境。学习环境中的情境必须有利于学习者对所学内容的意义建构。在教学设计中,必须创设有利于学习者建构意义的情境,这一环节最为重要。

(2) 交流是协作过程中最基本的方式或环节。学习小组成员之间必须通过交流来商讨如何完成规定的学习任务达到意义建构的目标,怎样更多的获得教师或他人的指导和帮助等等。协作学习的过程实际上也是交流的过程,在这个过程中,每个学习者的想法都为整个学习群体所共享。交流对于推进每个学习者的学习进程,是至关重要的手段。

(3) 协作应该贯穿于整个学习活动过程中。教师与学生之间,学生与学生之间的协作,对学习资料的收集与分析、假设的提出与验证、学习进程的自我反馈和学习结果的评价以及意义的最终建构都有十分重要的作用。推荐阅读:高校工商管理本科学生毕业实习毕业论文

(4) 意义建构是教学过程的最终目标。建构的意义是指事物的性质、规律以及事物之间的内在联系。

在学习过程中帮助学生建构意义就是要帮助学生对当前学习的内容所反映事物的性质、规律以及该事物与其他事物之间的内在联系达到较深刻的理解。

1.2 建构主义常用的教学方法在建构主义的教学模式下,比较成熟的教学方法主要有以下几种:

篇(5)

1.1明确专业培养目标

作为地方高校要有别于重点研究型大学,学院在制定培养目标和制定教学计划时应该从用人单位的需求和学生的实际水平等方面来考虑,重视对工程型和技术应用型人才的培养,其培养目标是:培养具有良好科学素养和健全人格,系统掌握软件工程学科的基本概念、基本方法和基本技能,掌握大型应用软件的开发方法,在知识、能力、素质三方面全面发展,且具有一定创新能力和国际竞争能力的计算机科学和软件工程学科应用型高级人才。

1.2建立科学合理的课程体结构

课程体系是人才培养方案的核心内容,课程体系是否科学、合理,对高等学校高质量实现人才培养目标有着决定性意义。因此,优化课程体系是人才培养模式改革的重点与难点。而课程结构模式是课程体系的中心环节,由于人才培养的目标内化于课程,学生在达到课程要求的同时也达到了培养目标,课程模式支撑人才培养模式的实现。因此,人才培养模式要切实落实到课程模式之中,按人才培养模式的要求指导课程模式的建立和改革。构建课程体系应当根据学校的办学思想、人才培养目标、专业布局、师资条件、学生特点等来设计,并有所侧重,既要有面向学科的,也要有面向岗位的。教学内容属于课程体系范畴。教学内容应该体现:

(1)教学内容的科学性。

(2)教学内容的思想性。

(3)教学内容的前沿性。此外,教学内容还应该及时反映在该学科领域中的科研成果与学术见解。教学内容的科学性、思想性、前沿性应该是一个完整的统一体,在内容选择与教学实践中,必须把它们有机地结合起来。

1.3加强实践教学环节,实践专业技能培养

计算机技术是实践性很强的技术,实践教学对提高学生的综合素质,培养学生的创新精神与解决实际问题的能力有着不可替代的作用。一方面,科学合理的实践教学体系有利于提高学生的计算机操作能力,工程设计能力,科研能力,专业知识的综合运用能力和创新能力。另一方面有利于激发学生的专业学习热情,提高学生对专业知识的学习和应用兴趣。目前的实践教学环节主要由课程实验,课程设计,专业实习、毕业设计等几部分组成,往往流于形式,实际效果不佳。笔者认为应注重对用人单位的调研,了解软件开发企业的现状及发展趋势,把他们的一些项目及开发技术潜移默化地引入到我们的实践教学中,特别是在专业实习环节,可以采用校企合作的形式,在校内或校外建立专门的实习基地,全部聘用或部分聘用软件开发企业有软件开发经验的工程师作为实习指导教师,采用实际软件项目开发的形式,组成各个开发小组,分配每人的工作任务,过程实时监督指导,最后公开考评每个人工作成果。在这样既有学习压力又有浓厚的专业氛围中要求每个人的有效编程代码量达到3万行以上。

1.4改革教育评价体系,保证人才培养质量

好的评价机制会对学生培养起到正向激励作用,培养合格的应用型人才离不开科学的评价体系。地方高校本科应用型人才就业工作岗位多为企事单位的一线生产、开发、管理、售后服务、技术等,能不能适应人才市场的需求,是最终考核评价标准。为此对应用型人才培养的改革,首先,在专业理论课程考核时,要加大相关实验考核的比重。对于实践性课程,主要以实践方式进行考核,例如上机考试、项目答辩、研究报告等方式,逐渐淡化笔试。其次,鼓励学生在课外参与到相关教师所主持的软件开发项目,考虑项目级别和参与者的排名情况给予一定的学分。第三,引进社会评价机制,人才培养的效果要接受社会的检验,实习单位、用人单位及校友的反馈是重要的社会评价源。要充分重视实习实践单位和实习导师对学生的考评,以此来促进教育教学工作不断持续地改进。

1.5提高教师水平,进行“双师型”教师队伍建设

所谓“双师”,是指既能从事理论教学,又具备较强的实践能力,能够完成对学生技能培养的教师加工程师或技师的一体化教学人员。一支配置合理,素质优良的双师型教师队伍是顺利进行计算机专业教育的重要保证,因此在强调提高教师专业理论水平的同时,需要积极组织校内青年教师参加软件开发企业的挂职锻炼,参与企业的项目开发与建设,了解业界最新动向,培养计算机专业教师“双师型”能力,做到企业需要什么,我们教师就精通什么,学生就会什么。同时也可以积极从社会吸收和引进一些软件开发经验丰富,责任心强,业务水平过硬的工程师、高级工程师以兼职或专职的形式参与到专业实践教学中来,与校内教师共同指导学生的专业实践。

篇(6)

1.1建设“教风”优化“学风”,适时“教改”促进“学改”

“教风”就是教师风范,是教师德与才合二为一的表现。良好的教风可以对学生起到熏陶、激励和潜移默化的积极作用,是其素质优良的美好体现。建设“教风”就是使教师具备爱生,进取,奉献的良好品德。我们可以采用绩效激励、优秀教师评比、授课试听研讨,教学经验交流等措施,调动教师爱岗敬业的积极性,这样教师不再对厌学的学生不管不顾,他们会从情感上感化,思想上促进,观念上转变学生的厌学心理。“教改”就是根据教学内容与形式适当改革,添加有实践性,操作性,趣味性的授课内容与形式,从而积极的调动学生学习的主观能动性。通过建设“教风”适时“教改”就可以最大程度的优化“学风”,使全校师生严谨治学精神,端正治学态度、探讨治学方法,从而促进“学改”,即师生思想与行动都变得积极、进取、向上了。

1.2外引内培,增加“双师型”教师,建立最优人才梯队

“双师型”教师队伍的建设是提高应用型院校教学质量的关键。为增加“双师型”教师,我们采取“外引内培”方案。外引是从企事业单位生产,科研第一线引进高素质高能力的专业性人才作教师。内培是对不符合“双师型”的现有教师进行职业实践培训提升其自身实践应用能力。院校应鼓励和调动教师向“双师型”教师转化的积极性。加强学科带头人的培养,可建立最优的人才梯队。学科带头人是“双师型”教师队伍中的核心骨干,是提高计算机专业师资队伍整体素质的重要手段。专业带头人专业水平高,实践能力强,教学质量好,能够团结、凝聚、带动全体教师深入教学改革,分清主次,组级实验实习、课程建设与开发,传、帮、带使师资队伍良性发展。

1.3改变人才引进模式,合理调整专业结构

为合理调整专业结构,就必须改变人才引进模式,改变以往注重学校出身、学历、在校学习成绩随意聘用的思路。我们需明确引进人才标准:具有被社会、企业承认的实践操作能力或成功作品。只有这样的人才被引进,才能优化我们的师资队伍,使我们培养出来的人才更贴近“地气”,获得社会,企事业单位、家长的好评。

1.4校企联手,产教研相结合

近年来,计算机行业突飞猛进的发展,使很多院校的计算机专业教师跟不上步伐,致使培养出来的学生实践能力差,就业后屡屡碰壁,或根本与工作失之交臂。从此看出,学生的实践能力与教师质量因果相关。培训+实习+深造=实践能力的提高,这就要求院校应该尽早摆脱传统教学模式的束缚,让教师走出去,与企业联手。即积极安排优秀教师去有实力的信息技术企业培训、实习、实训。鼓励引导教师参与开发科研项目,在项目研究和开发实践中提升实践应用能力,做到产教研相结合,从而打造出技术过硬,作风优良的计算机应用型师资队伍。

篇(7)

中图分类号:TP3-4

离散数学是现代数学的一个重要分支,也是计算机科学与技术的理论基础,所以又称为计算机数学[1]。离散数学研究离散量的结构及其相互关系,通过离散数学的学习,不但可以掌握离散结构的描述工具和方法,为后续课程的学习创造条件,而且可以提高抽象思维和逻辑推理能力,为将来参与创新性的研究与开发工作打下坚实的基础。

离散数学课程所传授的思想、方法与工具,广泛地体现在计算机相关专业的诸领域,从科学计算到数据处理,从计算机科学理论基础到计算机应用技术,从计算机软件与理论到计算机硬件及体系结构,从人工智能到知识系统与工程,无不与离散数学密切相关。由于计算机本身是一个离散结构,它只能处理离散的或离散化了的对象及对象关系,因此,无论计算机科学理论本身,还是与计算机应用密切相关的现代科学的其它研究领域,都面临着如何对离散结构进行数学建模的问题;当然,也需要考虑如何将已建立的离散数学模型进行计算机应用的问题。

随着计算机专业研究生入学考试中专业课程统考的实行,很多高校的计算机专业对离散数学的教学投入开始缩减,减少课时,降低难度,避重就轻;学生也无法认识与理解离散数学在整个计算机专业课程体系中的重要性,致使离散数学的教学与学习在计算机专业越来越边缘化。实际上,离散数学在各学科领域,特别在计算机相关专业领域有着广泛的应用;离散数学是计算机专业许多专业基础课程,如数据结构、操作系统、编译原理、人工智能、数据库系统原理、算法设计与分析、理论计算机科学基础、软件工程等必不可少的先行课程[2]。

作为计算机相关专业数学基础的离散数学,对其它计算机专业基础课程有很强的知识辐射作用。本文致力于从一些计算机专业基础课内容中还原离散数学知识,从而体现离散数学核心内容在计算机专业系统知识中的辐射作用。通过对离散数学辐射作用的介绍,让计算机相关专业的本科生重新认识到离散数学对计算机专业系统知识学习的重要性,从而提高本科生学习离散数学的兴趣,重视自己数学理论基础的巩固和形式思维能力的培养。

1 离散数学辐射体系

离散数学是计算机及相关专业的一门核心课程,它不是一门纯数学课程,而是计算机学科的专业基础课程。离散数学是应计算机科学的发展而形成的一门交叉课程,主要内容涵盖了计算机相关专业对数学的一些基本要求。广义的离散数学主题包括集合论、数理逻辑、关系理论、图论、代数结构、数论、信息论、组合数学等,甚至包含拓扑学、运筹学的内容。有些高校将除拓扑学、运筹学等内容外的主题分为三门课程,即集合论与图论、代数结构与组合数学、数理逻辑。本文谈到的离散数学内容只涉及到数理逻辑、关系理论、集合论、图论以及代数结构。

离散数学课程与后续的计算机相关专业基础课程有着千丝万缕的联系,对其它专业基础课程的影响极其深远,在很多计算机专业课程内容中都会涉及到离散数学知识。无论计算机软件系列专业基础课程,还是计算机硬件相关基础课程,例如编译原理、数据结构、数据库、操作系统、软件工程和计算机组成原理。本文选择这六门计算机相关专业基础课程来阐述离散数学在专业系统知识中的辐射作用,如图1所示的离散数学辐射体系。

在图1中,编译原理的课程内容中就可以还原出全部的离散数学知识结构;数据库的课程内容则可还原出离散数学内容中的关系理论、代数结构、集合论与图论等内容;操作系统、软件工程、数据结构和计算机组成原路中都有离散数学知识辐射的印迹。

2 离散数学辐射作用

2.1 编译原理中的离散数学

编译原理是计算机相关专业的一门重要专业基础课[3],旨在介绍编译器构造的一般原理和基本方法,课程内容除了形式文法、有穷自动机等编译原理所涉及的基础知识外,其它内容基本上围绕处理程序设计语言的编译器应该具有的各功能模块展开,包括词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。

离散数学的数理逻辑中最重要的内容就是逻辑推理,由前提事实出发,采用相应的逻辑恒等式、永真蕴涵式、推理规则、推理方法等进行不停的推导演绎,最终得到想要的结论,这是一个严格的演绎分析过程。在编译原理中,与这一演绎分析过程相对应的则是语法自上而下分析方法,即从形式文法的开始符号(前提)出发,利用文法规则产生式(永真蕴涵式),采用相应的推理方法(最左或最右推导),最终得到想要的句型或句子(结论)。在推理证明中还有一种常用的证明方法,那就是从要求证的最终结论出发,依次为其找到相应的逻辑恒等式、永真蕴涵式、推理规则等作为最终结论或中间结论的依据,即从结论出发追本溯源到前提事实,这是一种典型的归纳逻辑。在编译原理的语法分析中,自底向上的语法分析方法则是归纳过程的代表,即从要得到的句型或句子出发,利用文法产生式规则和推理方法,进行不停的归约,一直到开始符号或失败至,这是一直明显的归纳逻辑推理过程,对应最右推导。

在离散数学的关系理论中,等价关系尤为重要。而在编译原理中,处处有等价原理辐射的痕迹,例如形式文法等价、有穷自动机等价、中间代码表示形式等价等。在编译原理的内容中,有关等价的部分还包括正规文法与正则表达式的等价性、正则表达式与有穷自动机的等价性、正规文法与有穷自动机的等价性。实际上,有穷自动机等价是进行非确定有穷自动机确定化、确定有穷自动机化简的理论基础。

编译原理的很多内容中都使用了形式化技术,最典型的就是状态图刻画有穷自动机、语法树表示语法分析过程,当然在LL(1)文法FIRST集与FOLLOW集计算、算符优先文法的优先函数关系图以及基本块有向图中都体现了离散数学的集合论与图论。在编译原理全部内容中都贯穿了符号串运算,符号串与其上的运算则构成了一个完整的代数系统。

2.2 数据库中的离散数学

数据库技术和系统已经成为信息基础设施的核心技术和重要基础,数据库技术作为数据管理的最有效的手段,极大的促进了计算机应用的发展[4]。数据库的数据模型中的关系模型就经典地体现了离散数学中的关系理论,尤其是关系模型中的参照完整性。数据库概念模型描述中使用的实体-联系模型(图)更是生动地呈现了实体型之间的关系。在离散数学中,函数是一类特殊关系,而关系数据理论中的函数依赖则描述了关系模式属性(集)之间的语义关联。数据库中的查询处理与优化的理论基础则是离散数学中等价原理,查询被处理或优化前后在功能和语义上必须满足等价关系。

与关系模型紧密相连的则是关系代数,这是一类典型的代数系统。关系数据结构是其运算对象,关系操作则是定义在关系上的具体运算,如选择、投影、连接、除等,这些运算都满足封闭性,关系操作的输入与输出则都是表示关系数据的集合,因此集合运算中的并、交、差、笛卡尔积等也是关系操作的一部分。关系数据模型中常用的SQL语言则是关系代数的一种具体实现,即一种具体的代数系统。

数据库理论中被集合论与图论辐射到的内容包括:(1)一个关系数据库是关系模式(二维表)的集合;(2)一个关系模式(二维表)就是一个实体集,表中每一个就是一个具体的实体元素;(3)在概念世界中描述实体型以及实体型间关系的实体-联系图;(4)关系查询处理与优化中的查询树。

2.3 其它课程中的离散数学

数据结构是计算机程序设计的重要理论技术基础[5],也是计算机存储与组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,因而,数据结构课程中很多具体的数据结构都是集合,如队列、栈、线性表等。数据结构除描述集合中数据元素的特性外,还要刻画集合中数据元素之间的关系,因此,一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的,对数据元素间逻辑关系的描述称为数据的逻辑结构。数据结构课程内容中的树、二叉树以及图等结构则是离散数学图论内容的延续,基于图结构的各种算法,如最短路径、最小生成树、关键路径等,在离散数学和数据结构中都有不同深度的描述。

操作系统课程中的进程状态图为典型的图论内容;操作系统在对进程等对象进行管理时,很多内容涉及到对象间关系,如死锁中进程间时序上的先后关系;操作系统中很多算法都使用到了集合概念,如死锁的解锁算法等。离散数学的核心内容辐射到了操作系统的管理与控制中。

软件工程最终的产物是软件系统,既然是软件系统,在进行软件系统分析与设计时,不可避免要研究系统各部分之间的关系。在结构化分析方法中,有自顶而下和自底而上两类分析方法,自顶而下对应数理逻辑中的演绎逻辑,而自底而上则表示数理逻辑中的归纳逻辑。软件工程内容中同图论有关的包括软件开发模型、软件模块间关系表示、软件测试等。

计算机组成原理作为计算机专业硬件方面的基础课,在学生对计算机的认知方面有着举足轻重的作用。计算机硬件的基础组成单元“逻辑门”等以离散数学中的命题逻辑为基础;计算机处理器的结构形式化等都离不开集合论与图论的参与。实际上,在让学生认知软件与硬件的功能等价性时,则充分体现了软硬件的逻辑等价原理。

3 结论

针对离散数学课程在计算机专业课程体系中越来越边缘化的问题,本文以编译原理、数据库、数据结构、操作系统、软件工程和计算机组成原理计算机专业基础课为例,论述了离散数学在计算机专业综合知识体系中的辐射作用,从而体现离散数学在计算机专业教育中的重要性和必要性。

参考文献:

[1]傅彦,顾小丰,王庆先等.离散数学及其应用[M].北京:高等教育出版社,2007.

[2]耿素云,屈婉玲,王捍贫.离散数学教程[M].北京:北京大学出版社,2002.

[3]张素琴,吕映芝,蒋维杜等.编译原理(第二版)[M].北京:清华大学出版社,2005.

[4]王珊,萨师煊.数据库系统概论(第4版)[M].北京:高等教育出版社,2006.

[5]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2011.

篇(8)

中图分类号:G642文献标识码:A文章编号:1009-3044(2010)21-5874-02

Research of University Computer Specialty Setup and Innovative Personnel Training

CHE Kui1,2, LU Ling1, XUE Hai-yan1

(1. Department of Computer Science and Application, Zhengzhou Institute of Aeronautical Industry Management, Zhengzhou 450015, China; 2. College of Software, Beijing University of Posts and Telecommunications, Beijing 100876, China)

Abstract: With the uninterrupted development of computer technology, the computer application is infiltrating to other fields step by step, and the society requirement is extending uninterruptedly. How to train high quality innovative personnel, this brings forward a new challenge to university computer specialty setup and layout. This paper researches mainly university computer specialty setup and innovative personnel training,includes the setup of specialty direction and courses system, the training pattern and training project of innovative personnel to adapt society requirement.

Key words: computer specialty setup; courses system; innovative personnel training; practical teaching

计算机专业是一个发展十分迅速的专业,目前在国内高校本科教育中已形成了规模庞大、方向多样的教学体系,每年向社会输送大批的计算机人才。由于计算机技术的不断发展,计算机应用向其它领域的逐步渗透,以及社会需求的不断扩充,如何培养出高质量的创新型计算机人才,对于高校计算机专业的设置与规划提出了新的挑战。本文主要研究了计算机专业的设置规划与创新型计算机人才的培养,包括专业方向、课程体系的设置,适应社会需求的人才培养模式与培养方案。

1 计算机专业设置规划

在制定计算机专业设置规划过程中,应考虑到社会对计算机人才的需求,从“研究型人才”、“工程型人才”、“应用型人才”的培养目标入手,将计算机专业划分为多个培养方向,主要包括“计算机科学”方向、“软件工程”方向、“网络工程”方向、 “信息技术”方向等。

1.1 “计算机科学”方向

“计算机科学”方向主要研究计算机和可计算系统的理论、设计、开发和应用技术,涉及算法分析与设计、程序设计语言、数据结构、软件开发与理论、数据库系统、人工智能、计算机系统、计算机网络、操作系统、编译原理等知识领域。该专业方向培养学生具有深厚的计算机科学理论基础,具备一定的研究开发能力,熟练掌握计算机程序设计及算法的实现,强调学生应用计算机算法解决相关领域的实际问题,并可构建出高效的解决方案。

“计算机科学”方向的核心课程为:程序设计、计算机组成原理、计算机体系结构、算法分析与设计、数据结构、数据库系统原理、软件工程、软件测试、操作系统、编译原理、计算机图形学、计算机网络技术、人工智能、课程设计、毕业设计等。

1.2 “软件工程”方向

“软件工程”方向主要研究计算机软件开发过程的理论、设计、开发和应用技术,涉及算法与程序设计语言、数据结构、数据库原理、软件工程、面向对象分析与设计、操作系统、计算机体系结构、软件测试与质量保证、软件需求开发、软件管理等知识领域。该专业方向培养高层次、实用型、复合型软件工程技术和软件工程管理人才,学生具备扎实的程序设计能力,具备深厚的软件工程理论基础及较强的工程实践能力、研发能力和市场与国际意识,能够对软件产品的需求分析、架构设计、实施和测试执行规范有效的组织和管理,以及进行可靠的方案实施。

“软件工程”方向的核心课程为:高级程序设计、算法与数据结构、操作系统、数据库系统原理、计算机网络技术、编译原理、软件工程、UML软件建模设计、软件测试与质量保证、软件项目管理、软件配置管理、Web开发技术、软件体系结构、设计模式与重构、软件工程实践、课程设计、综合实训、毕业设计。

1.3 “网络工程”方向

“网络工程”方向主要研究计算机及计算机网络系统的理论、设计、开发和应用技术,涉及程序设计语言、数据结构、网络设计与理论、数据库系统、计算机系统、计算机网络、网络操作系统、信息安全、网络协议等知识领域。该专业方向培养学生具备计算机网络技术、计算机通信技术、计算机网络安全等知识,能够在IT领域从事计算机网络技术与设备的开发、设计与管理,具有基础理论扎实、知识面宽、实践与开拓创新能力强的高素质技术工程型与开发型人才。

“网络工程”方向的核心课程为:计算机组成原理、程序设计、数据库技术、网页制作技术、网络操作系统、TCP/IP技术、计算机网络体系结构、网络管理技术、密码学与网络信息安全技术、网络性能分析、网络软件设计、多媒体应用技术、综合实训、毕业设计等。

1.4 “信息技术”方向

“信息技术”方向主要研究计算机在信息处理、信息管理等方面的理论、设计、开发和应用技术,涉及程序设计、算法与数据结构、计算机组成原理、计算机网络技术、管理信息系统、信息安全、系统分析与设计、系统管理与维护、电子商务、ERP原理、信息管理、软件工程、数据库系统等领域。该专业方向培养学生具备现代管理学理论基础、计算机理论知识及计算机应用技能,掌握信息系统分析与设计方法及信息管理等知识,具有从事信息管理及信息系统分析、设计、开发实施管理与评价等多方面能力的复合型、应用型人才。

“信息技术”方向的核心课程为:程序设计、算法与数据结构、计算机组成原理、计算机网络与互联网、信息管理导论、管理信息系统、信息安全技术、系统分析与设计、Web系统与技术、电子商务、ERP原理及应用、软件工程、数据库与信息管理技术、课程设计、毕业设计等。

2 创新型计算机人才培养方案

在创新型计算机人才培养方面,应坚持理论教学、实践教学、教学实习基地建设相结合的方式,注重培养学生的动手能力与创新能力,使计算机专业的发展方向与社会经济、社会需求相一致。信息化社会对计算机专业人才的需求呈现出多样化的特征,尤其对实践能力强的创新型人才的需求更为迫切。

2.1 结合社会需求,制定创新型计算机人才培养目标

创新型人才是指具有创新意识、创新思维、创新能力和创新人格的人才,创新型人才不仅是全面发展的人才,还是充分发展的人才,更是对科技发展和社会进步做出较大贡献的人才。因此,在对学生进行计算机专业教育过程中,应强化创新意识教育,增强创新思维训练,注重创新能力培养,着力创新人格塑造。

人才培养目标定位是制订人才培养方案的首要问题,其决定了专业能力结构和知识体系,而社会需求是一个客观标准。专业能力结构是培养目标的具体化,贯穿于知识体系与教学模式中。在构建专业能力结构时,需考虑社会本位和个人本位的问题。社会本位注重学生未来的就业前景,强调职业的针对性和应用性;个人本位注重个人综合素质和能力的培养,为学生的未来发展创造积极的条件。培养具有创新型计算机人才,需将专业能力与基本能力有机地结合起来,形成以专业能力为核心的科学架构。针对不同的专业方向,强化相应的专业知识,按照“研究型人才”、“工程型人才”、“应用型人才”的培养模式进行人才培养。

“研究型人才”注重计算机理论知识的学习,具备深厚的计算机知识,关注计算机前沿的发展趋势,培养方向为计算机科学。“工程型人才”注重实践能力的培养,可分为软件工程、网络工程两个培养方向。“应用型人才”重视计算机技术的应用,包括信息技术、计算机图形图像处理、计算机辅助设计、电子商务、管理信息系统等多个培养方向。

2.2 紧跟计算机发展趋势,不断更新专业课程体系

结合计算机的发展趋势,按照突出应用性、实践性的原则重组课程体系,教学内容要突出理论知识应用和实践能力培养。基础理论课教学以应用为目的,专业课教学需加强针对性和实用性,强调实践课的重要性。

按照信息社会对计算机人才的需求,培养学生具备深厚的理论知识和应用实践能力,应不断更新专业课程体系。根据不同的培养方向,增加相应的特色专业课程,并对主干课程设置课程设计,强化学生的实践能力。

2.3 灵活运用多种教学方法,构建和谐教学环境

教师在授课过程中,可灵活运用多种教学方法,以提高教学效果。“任务驱动”教学法应用广泛,可以培养学生学习的主动性和成就感,在某个学习阶段,紧紧围绕一个既定的学习任务,学习相关的知识,当完成了一个学习任务时,再定下一个学习任务。在课堂教学中,教师应根据知识单元从不同角度提出相关的问题,引导学生思考,启动其创新思维能力,通过开拓思维获取新知识。

教师应把教学作为发展认知的手段,充分调动学生的学习积极性,使其参与到计算机课程的教学活动中。鼓励学生大胆质疑,给予学生发表意见的机会,使学生逐步具有创新意识。针对学生的不同见解,引导学生审视其观点,从而得出正确的结论,这样可以保护学生学习的积极性,使学生树立独立学习及创新思维的自信心。

2.4 加强实践教学环节,重视教学实习基地建设

计算机专业的实践性很强,为了增强学生的创新意识,增强学生的创新能力,必须将实践教学贯穿于整个教学环节中。通过实验、课程设计、综合实训等方式强化实践教学环节,注重学生设计软件/硬件的创新能力。

通过学校与企业合作,建立教学实习基地,有效地开展专业实习。鼓励学生在实习基地参与实习工程,并结合实习成果完成毕业论文。学生通过参与企业运作与项目研发,体验真实的企业环境和项目开发环境,可提高自身的工程能力和职业素质。

2.5 完善教学设备,进一步加强师资队伍建设

教学设备应随着计算机技术的发展及专业设置的调整而不断更新,在创新型计算机人才培养方案中,实践教学环节十分重要,教学设备是实践教学的必备条件,因此需要投入大量的资金完善教学设备,建立实验室、机房等。

创新型人才的培养离不开创新型师资,由于计算机学科发展迅速、实践性强,对于计算机专业教师提出了更高的要求。计算机专业师资队伍的建设需不断改革与完善,制定有利于师资队伍建设的管理体系与有效措施,建立科学有效的师资队伍考核评价体系,营造学科创新氛围,创造良性竞争环境,积极探索师资队伍的优化与整合,创造多学科汇聚与多方向交叉融合的创新团队群,努力打造一流的计算机专业师资队伍。

3 结束语

在高校计算机专业教学中,应不断改革教育理念和专业设置,积极探索信息时代教育教学的新模式和新思路,促进学生创造精神和创新能力的培养。结合社会需求,不断调整计算机专业设置和课程体系,灵活运用多种教学方法,加强实践教学环节,完善教学设备,构建和谐教学环境,为国家培养出高素质和高质量的创新型人才。

参考文献:

[1] 韦丽梅.计算机类专业课程设置对就业情况的影响[J].计算机应用与软件,2009,26(10):111-113.

[2] 景海峰.高校计算机教学中学生实践创新能力培养的思考和建议[J].黑龙江教育,2008(7):84-85.

[3] 周兴社,樊晓垭.创新型计算机人才培养的探索与实践[J].计算机教育,2007,(3):10-11.

篇(9)

中图分类号:TP3 文献标识码:A

1 引言(Introduction)

20世纪30年代,Godel、Church、Turing等逻辑学家给出了“可计算”概念的严格定义。Turing于1936年发明了一种抽象机器――第一台通用数字计算机。该机器可用来辅助求解数学基础问题。1940年,Turing的逻辑抽象机付诸实践。Turing设计了ACE计算机。von Neumann主持研制了EDVAC和IAS计算机。50年代,计算机科学成为一门独立的学科。从那时起,逻辑与计算机科学间的联系越来越紧密,主要表现在计算机理论、复杂性理论、类型论、程序设计语言的形式语法和语义、编译技术、程序规范和验证、并发理论、知识工程、归纳学习[1]、数据库理论、专家系统、定理证明、逻辑程序设计和函数程序设计等方面。

2 逻辑与计算(Logic and computing)

计算机是逻辑和技术的共同产物20世纪30年代,逻辑学家Godel、Church、Turing提出了计算的抽象概念。40年代中期,Turing和von Neumann主持设计、制造了第一台计算机。此外,他们的工作为理解计算过程和计算形式化的发展打下了广泛的逻辑基础。

如今逻辑仍是新颖计算机体系结构抽象思想的重要来源,这些新结构包括推理机、数据流机、数据库机、重写机。逻辑为程序设计提供了一整套的思想,同时为程序的推理提供了系统的框架。逻辑在程序设计语言的理论和设计方面发挥着重要作用,数理逻辑可视为两类主要逻辑程序设计语言的直接模型。一类是基于Church的λ一演算[2]的函数程序设计语言,如LISP、ML、LUCID、MIRANDA。另一类是基于Horn子句归结的关系程序设计语言,如PROLOG、PARLOG、GHC。Peter Landin早在20世纪70年代就指出,像ALGOL这样的语言也不过是对Church的λ一演算稍加扩充后的“语法变形”。后来,Martin-Lof直觉主义类型论被用来研究更高层的程序设计语言。其突出特征是程序正确性证明自动伴随着程序书写过程。

为设计、理解、讲解计算机及程序设计语言,为编写、分析程序以及进行有关性质的正确推导,逻辑在发挥着重要作用。逻辑学家本身亦可称为抽象工程师。

为分析知识表达和推理的过程以及综合用于表达和推理的机器,逻辑为我们提供了语言及技术。

在人工智能研究中,逻辑在下述诸方面得到成功应用。

(1)知识表示的模型。

(2)机器归纳推理和学习的组织。

(3)自动演绎系统的理论基础。

然而,与逻辑在计算的理论和实践中的作用相比,逻辑在人工智能中的作用更多的是引发人们的争论。要结束这种争论,必须更好地理解自然智能与人工智能的差别。与此同时,逻辑的倡导者和批评者均应做出更多的工作来阐述各自的观点。

3 逻辑与计算机的起源(The origin of logic and

computing)

在现代计算机的发明过程中,逻辑起决定性的作用。这一点并未被人们广为接受。抽象计算机发明于1936年,该发明由1930年Godel的重要逻辑发现所引发。1936年Godel有关计算的理论鼓舞Turing来寻求一种既严格又抽象的逻辑模型。这种模型不仅是关于计算过程的,而且是关于计算机本身的。以此为辅助的理论概念。Turing证明数学的形式系统是不可判定的,从而解决了Hilbert第三问题。尽管Turing的最初计算机仅是抽象逻辑概念,但在这之后的10年(1937―1946)中,Turing成为了实用计算机的设计、制造、使用的领头人。

Turing机似乎是真正计算机的抽象。然而,它却创立于20世纪30年代。抽象Turing机是人们可以执行的可能计算模式的理想模型。Turing本人的最大成就是证明了一些Turing机是“通用的”――它们可模仿任何Turing机的行为,他所给出的通用机是如今的存储程序通用计算机的抽象原型。每个特殊机器的编码描述是一程序,它可使通用机当专用机使用。

Turing的工作有一明显的技术解释,不需要对每个计算任务都建造一个独立的机器,而只需建造一台机器――通用机器。人们可以通过编写适当的程序来做所需的计算,事实上,Turing本人动手建造了一台通用机。

von Neumann在阐述EDVAC、IAS机的设计和操作时,侧重用抽象的逻辑描述语言来说明,很少涉及详细的工程细节。关于机器的系统结构和程序设计原则,全都用抽象概念来阐述,今天可以看出,von Neumann和Turing在计算机设计和程序设计方法学等主要问题上所依照的正是逻辑原则。相反,精确的工程细节相对说来是次要的。从那时起,重视逻辑抽象(相对具体实现)就成为计算机科学的指导原则。

4 逻辑与程序设计((Logic and programming)

Turing和von Neumann在有关程序设计的讨论中多次强调“流程图”的重要地位。此后,“流程图”很快成为早期程序设计的一种标准逻辑工具。直到目前,“流程图”仍应用于有关计算的形式推理中。Hoare、Dijkstra、Floyd等有关程序推理逻辑原则的思想尽在Turing和von Neumann的料想之中。Turing和von Neumann曾强调指出,程序设计有静态、动态两个方面,程序本身的静态文本主要是指逻辑表达式:性质仅用逻辑方法分析的语法结构。运行程序的动态过程是上述静态文本语义的一部分。

4.1 自动程序设计

1950年,Turing的朋友Strachey使用计算机将高层“数学”描述转换成低层“机器语言”指令。他希望程序员能以更自然和符台人们习惯的方式思考和编写程序。可是,Turing本人对此想法井无兴趣,他早在1947年就指出,这不过是一件简单的事情。事实上,Turing非常精于机器语言,他能用机器码和32进位、低位在前的非正常表达直接并且方便地进行思考。

50年代后期,随着解释器、编译器技术的发展及FORTRAN、LISP、ALGOL的推出,程序员被从琐碎的工作中解放出来。

4.2 逻辑与程序设计语言

4.2.l 抽象逻辑程序设计

逻辑程序设计语言是逻辑学与计算机科学结合的典型代表。在回答“逻辑程序设计是什么”之前,先给出“逻辑是什么”的回答。因为逻辑程序设计的公理化概念依赖于逻辑自身的公理化概念。逻辑的研究通常有两条主要途径:

(1)模型论方法――在模型和句子之间建立满足关系。

(2)证明论方法――句子集之间的衍推关系。

这两种方法本身均不足以对逻辑程序设计进行公理化。

证明论方法可追溯到1959年Tarski.A.“关于元数学的基本概念”中的“推导关系”及 Hertz和Gentzen提出的衍推关系S。

以一阶逻辑[3]为例,存在许多不同的证明演算(如Hilbert系统、Gentzen系统、自然演绎系统等)。其中,起关键作用的是衍推关系S,因为,它在许多不同系统中保持不变。一阶衍推关系├ 满足三条性质:

(1)自反性,即φ├φ。

(2)单调性,即如果г├φ,г′г,则г′┝φ。

(3)传递性,即若г├φ,г∪{φ}┝ψ, 则г┝ψ。

可将自反性视为一公理模式,单调性视为弱化规则,传递性视为切割规则。

(弱逻辑程序设计)逻辑程序设计语言中,程序P是逻辑L中的一理论。当程序被执行时,用户可做询问(询问属于P语言中一特别句子类)。当用户提出一询问φ时,如φ是P中公理的可证推论,则机器将返回证明φ为真的一集回答。可视这些回答为对φ的不同证明。如果由P得不到询问φ的证明,则或者机器在有穷时间之后停止并提示“失败”,或者机器永不停止。因此,机器中的计算与逻辑中的演绎等价。

从实用上考虑,机器中的实现必须能行,使得该语言实际适合一大类应用。否则,最好将这样的系统描述成一定理证明器。

将计算等同于演绎时没有涉及模型概念,一个理论原则上有许多模型。然而,在解决一特定问题时如计算一数值函数,心中通常有一模型(如整数、实数),这样的模型是给定理论的指定模型或标准模型。

在逻辑程序设计文献中,标准模型指程序描述的“封闭世界”。标准模型通常被刻划为初始模型。

用IP表示程序P的指定模型。在这样的模型中,我们主要的兴趣不是(在所有模型下均成立的)有效性,而是在模型IP下的可满足性。

(强逻辑程序设计)逻辑程序设计语言中程序P是一逻辑L中的一理论,程序P的数学语义是P的模型IP。程序P进入机器后,用户可提出关于什么性质在其模型中满足的问题。这种被称为询问的问题,是P语言中的特定句子,并满足性质:模型IP满足φiffφ从P的公理可证。当用户提出询问φ时,若φ是P公理的可证推论,则机器给出φ真的回答。这样的回答可视为φ的证明。换言之,语言的操作语义是通过证明论给出的。如果φ从P不可证,则或者机器回答“失败”,或者机器永不停止,因此,下面三者等价:机器中的计算、逻辑中的演绎和标准模型中的可满足。

4.2.2 逻辑程序设计语言

20世纪50年代后期,John McCarthy等人直接使用符号逻辑作为IBM704机的程序。他们的系统LISP是实用逻辑程序设计语言的第一个重要例子。LISP本质上是Church的λ一演算。λ一演算讨论简单递归数据类型(有序偶对)、条件表达式以及用于列举一系列连续行为的强制“序列构造”。在70年代初,Robert Rowalski和Alain Colmerauer给出了PROLOG。PROLOG基于谓词演算的Horn子句归结。Horn子句归结涉及目标、子句、控制流、深度优先、回溯等概念以及几个强制式命令(如“cut”)。David.H.D.Warren采用巧妙的技术,漂亮而且有效地实现了PROLOG。逻辑程序设计语言LISP和PROLOG的主要优点为:灵活、易书写、易修改,LISP和PROLOG通常被视为两种逻辑程序设计(函数程序设计和关系程序设计)的典范。抽象描述演绎程序设计的一般思想是将计算视为从表达式到一范式的归约,在抽象LISP中,主要指对适用于过程函数调用、条件表达式、序偶数据结构操作等归约规则的持续应用.在抽象PROLOG中,主要指β归约规则的持续应用。这些规则包括:分配“合取”、删除存在量词,化简表达式。将这两种形式合并可得统一的逻辑系统,其中含有两种程序设计的特点。目前,J. A. Robinson等人基于此思想给出了一新语言SUPER,它可用来解释归约逻辑如何在超大规模并行计算机上自然地实现。

LISP、PROLOG等语言表明了逻辑系统对计算机的应用,逻辑程序设计近乎于一种适当形式的知识阐述,在其中,从公理可导出用户询问的答案。在这种意义下,此类程序设计是连接一般计算到特殊AI系统的桥梁。Robert Kowalski等式“算法=逻辑十控制”概述了同时注重程序的描述、强制两方面的重要性。

5 结论(Conclusion)

综上所述,通过对逻辑与计算、计算机的起源、程序设计之间的相互关系的基本梳理和研究,可以充分说明计算机科学是逻辑的超大规模应用。

参考文献(References)

[1] 陆钟万.面向计算机科学的数理逻辑[M].北京:北京大学出版

社,1989.

[2] 王元元.计算机科学中的逻辑学[M].北京:科学出版社,1989.

[3] 王兵山,张强,李舟军.数理逻辑[M].北京:国防科技大学出版

社,1993.

篇(10)

对大量有机化合物和无机化合物的酸度的研究已有相当长的一段时间,并通过不同的实验方法测出它们的pKa值,与此同时对水溶液中pKa值的理论计算有了很大程度的进步。从最初的Jorgensen[1],[2]等人首次使用从头计算法和自由能微扰理论到接下来的积分方程理论和量子力学―分子力学联合方法[3],到近几年的连续溶剂化模型(PCM)[4]都对研究有机物的电离进行了多方面的改进。

许多文献用经验计算或从头计算法来计算pKa值的报道都有史可查[5],[6],而大部分都是关于水溶液中pKa值的计算。Wiberg[7]等人计算出了在DMSO中质子转移的吉布斯自由能,但是并没有计算出相应的pKa值。本文中我们采用了PCM模型中的HF法预测了十种有机酸在DMSO的pKa值,同时我们将实验数据应用到该值的计算中来,和实验数值进行对比。

1.计算方法

在DMSO中有机酸pKa的理论计算可以采用下面的质子转移反应:

HA+OHA+HO(1)

方程(1)可以产生以下平衡关系式(2)

=e=(2)

而G*可由以下得到

G*=G*+G*(3)

G*=G*(A)+G*(HO)-G*(HA)-G*(OH)(4)

在方程(2)的两边取负对数,我们可以得到

pK(HA)=pKa(HO)+(5)

在本文中我们运用方程(3)(4)(5)来计算有机酸的pKa值,这里水的pKa实验值31.2。

本文采用Gussian98程序包,运用HF法在6-31+G(d)基组完全优化出中性组分和离子组分的稳定结构,然后利用PCM模型(采用介电常数为46.7)计算出了溶剂化自由能,由得到的数据通过统计热力学计算出有机酸的pKa值。

2.结果与讨论

本文所研究的有机酸都具有不同的官能团,在这些官能团所处可电离的H是同O,N,C连在一起的,在此我们同样可以计算出HF的pKa值。

将运用HF方法计算出的十种化合物热力学数据和pKa值列入表1中:

从表1中所列的有机物pKa的理论值与实验值对比我们可以看出,主要偏差存在于含氮酸的测定上(大于十个单位),用HF法测定氢氟酸时得到最小偏差为1.4个单位。测含氮酸的Pka值时误差最大,大多都大于10个单位,很可能是因为这些化合物是两性物质,其中HCONH的pKa偏差最大为12.2个单位。这种HF方法的所测十种有机酸得pKa平均误差为3.77,如果除去误差较大的含氮酸,则平均误差为1.4。因此用PCM模型中的HF方法来计算有机酸的pKa其误差是较小的。

为了验证PCM模型中的HF方法适合于计算有机酸的pKa,我们采用从NIST数据库[9]中得到的气相反应吉布斯自由能的实验值和Gussian计算出的溶剂化自由能的理论值来计算pKa。分别运用HF方法于PCM中得到的pKa及实验值列入表2中:

表2 在HF方法中运用混合的理论(溶剂化贡献)-实验(气相贡献)得到的pKa计算值和实验值

从表2我们可以看出利用混合方法测pKa值产生的偏差大多数都小于用纯理论计算所的偏差。在HF测定氢氟酸时偏差最小,与实验pKa值相比偏差可以忽略;而CHOH和CHCHOH的pKa偏差也很小为0.2和0.7。另外混合方法中的HF法,CHOH、CHCOOH和HF各自pKa值的理论值和实验值吻合得都很好。同时,CHCOOH和CHCONH在这种方法中的偏差极其相近,分别为5.3和5.1。从表中可得这种HF混合方法的平均误差是4.06,如果不考虑具有最大偏差的含氮酸,则HF方法的平均误差分别为2.1。由此可见,运用混合HF法测得有机酸的pKa值其与实验值偏差也是较小的。

3.结论

本文对含有不同官能团的十种有机酸,采用PCM模型中的HF方法来计算其pKa。结果表明运用HF方法在PCM测得的pKa值通过实验值校正后,其值与实验数值吻合度较高,不仅在纯理论方法中,在混合方法中结果也是如此。因此在连续介质模型(PCM)中的HF法将在理论上被广泛地运用于预测有机物的pKa。

参考文献:

[1]Jorgensen,W.L.;Briggs,J.M.;Gao,J.J.Am.Chem.Soc,1987:109,6857.

[2]Jorgensen,W.L.;Briggs,J.M.J.Am.Chem.Soc,1989:111,4190.

[3]Gao,J.;Li,N.;Freindorf,M.J.Am.Chem.Soc,1996:118,4912.

[4]Cossi,M.;Barone,V.;Cammi,R.;Tomasi,J.Chem.Phys.Lett,1996:255,327.

[5]Chipman,D.M.J.Phys.Chem.A,2002:106,7413.

[6]Almerindo,G.I.;Tondo,D.W.;Pliego,J.R.,Jr.J.Phys.Chem.A,2004:108,106.

[7]Wiberg,K.B.;Castejon,H.;Keith,put.Chem,1996:17,185.

上一篇: 软件工程毕业论文 下一篇: 读书演讲活动总结
相关精选
相关期刊