欢迎您访问大河网,请分享给你的朋友!

当前位置 : 首页 > 范文大全 > 工作范文

程序教学的基本原理范例(3篇)

来源:收集 时间:2024-08-04 手机浏览

程序教学的基本原理范文

Abstract:MonteCarlomethodisanumericalcalculationmethodthatisbasedontheprobabilityandstatisticaltheoryandimplementedbyprogrammingofthecomputer.Itiswidelyusedinthefieldsofnuclearscienceandtechnology.Inthenewperiod,thecourseofMonteCarlomethodisofferedforuniversitystudents.Theunderstandingprobabilityandstatisticalprincipleandtraininginprogrammingofthecomputerhavebeenappliedtoteaching,andgoodteachingresultisachieved.

关键词:蒙特卡罗方法;教学;数值计算

Keywords:MonteCarlomethod;teaching;numericalcalculation

中图分类号:G42文献标识码:A文章编号:1006-4311(2010)29-0182-02

0引言

蒙特卡罗方法[1-4],又称随机抽样技巧或统计模拟方法,是二十世纪四十年代中期由于电子计算机的出现和原子能事业的发展而被提出的一种数值计算方法。蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以业闻名,而蒙特卡罗方法正是以概率统计理论为基础的一种计算方法。蒙特卡罗方法是以一个概率模型为基础,按照这个模型所描绘的过程,利用计算机产生符合要求的随机数代替真实实验中的数据获取,通过模拟实验完成问题的求解。蒙特卡罗方法由于能够比较逼真地描述事物的特点及物理实验过程,解决其他一些数值方法和真实实验难以解决的问题,因而该方法目前在宏观经济学、计算物理学、核科学与技术等领域得到了广泛的应用。

由于蒙特卡罗方法中随机抽样方法等理论涉及相对复杂的数学原理,加之蒙特卡罗方法最终是要通过计算机编程或学习周期也相对比较长的通用程序来实现的,所以这门课程在大多数高校很少面向本科生开设。南华大学作为一所“核”办学特色的高等学校,长期以来也一直面前核技术及应用专业的研究生开设蒙特卡罗方法这门课程。近年来,在国家“核工业振兴计划”的大背景下,南华大学在原有的基础上又新增了一些核类本科专业,目前拥有核物理、核工程与核技术、核反应堆工程、核辐射与防护、核技术、核化工与核燃料工程等本科专业,这几年开始尝试面向本科生开设这门课程。

1定位蒙特卡罗方法在核类本科专业中教学目标

面向核类专业本科专业开设蒙特卡罗方法这门课程,授课时间被安排在大学三年级第二学期,共24学时。教材以文献[1]为主,文献[2-4]为辅,阐述随机数的概念和产生伪随机数的方法、由已知分布实现随机抽样的方法、蒙特卡罗方法在计算机上的实现方法和通用蒙特卡罗程序简介等具体内容,使学生能够掌握蒙特卡罗方法的基本思想和一般模拟过程。

蒙特卡罗方法的教材中涉及了很多概率统计知识和计算机编程思想,而要真正学懂学好蒙特卡罗方法这两个方面的知识都必不可少。学生虽然都是属于同一个学院的核类专业本科生,但是学生的专业基础知识、培养方向、学习兴趣和实际理论水平等都存在一定的差距。很多同学由于概率统计理论掌握的不好因而看不懂蒙特卡罗方法的教材,另有一些同学虽然理论水平比较好但是计算机编程能力差而学习蒙特卡罗方法受阻。而更多的学生是概率统计理论懂而不精,计算机编程会而不熟,他们都感觉学习蒙特卡罗方法很难,好像懂了又好像没懂,不能够用蒙特卡罗方法解决实际问题。

蒙特卡罗方法教学实践中,教师注重让学生理解蒙特卡罗方法的基本思想,启发学生能够独立完成一个简单的蒙特卡罗程序的编写。围绕着关于解决古典概率论中著名的蒲丰氏问题的蒙特卡罗程序的编写,把蒙特卡罗方法最基本的原理和计算机编程的基本要点贯穿到整个蒙特卡罗方法的教学过程中。教学中,弱化关于随机抽样方法的一些较难的数学证明,强化随机抽样理论的基本思想,强调不同随机抽样技巧的特点和应用技巧的思想根源和实质,鼓励学生在独立完成一个简单的蒙特卡罗程序编写的过程中理解和掌握蒙特卡罗方法的基本知识。

2将概率统计思想和编程实践训练融入到蒙特卡罗方法教学中

概率统计理论是蒙特卡罗方法的理论基础,学生虽然在学习蒙特卡罗方法之前已经修完了概率论与数理统计这门课程,但是大多数学生并没有真正学好这门课程。主要原因是概率统计理论的学习需要更多的是随机性和非确定性思维方式,而学生头脑中的思维定势更多的是确定性思维方式,学生要准确理解随机数的概念和概率统计思想则需要一个较长的时间过程。在蒙特卡罗方法的教学中,不断地加强学生对概率统计思想的理解,使概率论与数理统计和蒙特卡罗方法这两门课程的学习相辅相成。学生只有真正学好了概率论与数理统计的基础知识才能掌握蒙特卡罗方法的原理,同时学生在学习蒙特卡罗方法的过程中也自然加深了对概率统计思想的理解。

蒙特卡罗方法做为一种数值模拟计算方法,它的一个计算任务的实现最终一定要借助计算机编程并运行来完成。在编程基础方面,学生虽然在学习蒙特卡罗方法之前已经学习了C语言程序设计、Matlab语言与科学计算等课程,但是他们没有真正写过属于他们的程序,大多数学生还没有真正具备一定的程序设计能力。许多学生都感慨,学习了C语言程序设计不知道怎么应用到解决实际问题中去。对应蒙特卡罗方法教学,教师就鼓励学生用自己学过的计算机语言写一个蒙特卡罗程序。学生在用C语言或者Matlab语言写一个简单的蒙特卡罗程序的同时,实际上就是完成了一个程序设计的编程实践过程。很多学生在编写一个蒙特卡罗程序得过程中,不断地与教师和同学讨论,查阅相关理论书籍,最终能够独立完成一个简单的蒙特卡罗程序编写、调试和运行。一个看似简单的蒙特卡罗程序的成功编写和运行,使学生既提高了自身的编程能力也掌握了蒙特卡罗方法的基本知识,同时给学生带来了是学习的喜悦和信心。

3结束语

新时期下,初步尝试面向核类本科专业开设蒙特卡罗方法课程,教学中教师注重让学生理解蒙特卡罗方法的基本思想,启发学生能够独立完成一个简单的蒙特卡罗程序的编写,围绕着蒲丰氏问题的蒙特卡罗程序的编写,把蒙特卡罗方法最基本的原理和计算机编程的基本要点贯穿到整个课程教学的始终,将概率统计思想和编程实践训练融入到蒙特卡罗方法教学中,教学取得了一定成效。

参考文献:

[1]许淑艳.蒙特卡罗方法在实验核物理中的应用[M].北京:原子能出版社,1986.

[2]裴鹿成,张孝泽.蒙特卡罗方法及其在粒子输运问题中的应用[M].北京:科学出版社,1980.

程序教学的基本原理范文篇2

关键词:程序设计;RAPTOR;计算思维

中图分类号:TP311.1-4

随着以计算思维的导向的教学改革地深入开展和研讨,计算机基础课程迎来了第三次重要的改革[1]。此次改革主要围绕培养学生的计算思维能力,使大学生学会用计算思维去思考问题和解决问题。它无疑是对大学计算机课程教学提出了严峻地挑战,同时也为此类课程的教学设置了明确的改革方向。那么,培养大学生的计算思维能力,是赋予计算机基础教学的新使命和新要求,不仅对提升计算机基础教学水平、培养卓越人才具有重要的意义,也是决定改革成败的关键。

1程序设计内容在《大学计算机基础》中的教学现状

《大学计算机基础》是计算机基础课程中的第一门公共必修课。它在大学新生入校的第一学期开设。程序设计内容是《大学计算机基础》课程的重要组成部分,主要使学生掌握程序的概念,程序的基本结构和编写程序的流程,以及软件开发的基本过程。但很少有时间让学生系统掌握编程思想,更不可能考虑算法设计和分析的有关内容。教学效果往往不如人意,主要原因有三:

原因一:课时少。随着人才培养方案的调整,计算机基础课程课时被大幅削减,甚至有些系部将“1+X”方案中的“X”课程体系从计划中删掉。《大基》目前执行的是2+1学时,给学生和教师授课带来前所有的挑战。对于基础相对薄弱的地方院校学生,教师很难在短时间内让他们接受一门程序设计语言,理解这些理论性较强、相对抽象的内容。

原因二:语法是一个天然屏障。任何一门程序设计语言都存在语法问题,如果语法关没过,写不出一个完整的程序,那程序也自然无法运行。没有直观的运行结果,学生对程序设计的学习积极性大大降低,课堂教学枯燥乏味,学生的学习积极性不高,整个教学效果较差。甚至对随即开出的程序设计类课程没了好感并产生退缩心理。

原因三:程序的灵魂没有展现。算法是程序的灵魂,算法是激发学生兴趣的最好内容。而在《大学计算机基础》中,很少有教师把它做为程序设计的前奏展开。比如递归、迭代、排序、查找等算法是学生比较容易理解并产生兴趣的内容,如果加以描述和实现,对学生必将产生积极的影响。

综上所述,《大学计算机基础》的教学体系决定了教学内容,很多教师把精力投入到知识的灌输上,缺乏对学生思维方式的培养,而程序设计在《大学计算机基础》教学中存在诸多困难,也是非常容易陷入到这种模式中。

2计算思维的引入

2006年3月,美国卡内基・梅隆大学计算机科学系主任周以真(JeannetteM.Wing)教授在美国计算机权威期刊《CommunicationsoftheACM》杂志上给出,并定义的计算思维(ComputationalThinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[2]。

2010年7月19日至20日在西安交通大学举办了首届“九校联盟(C9)计算机基础课程研讨会”教育部高等学校计算机基础课程教学指导委员会主任委员陈国良院士莅临会议,作了“计算思维能力培养研究”的报告,并主持了该专题的讨论,提出在计算机基础教学过程中要完美地体现出以人为本、传授知识、培养能力、提高素质、协调发展的现代教育理念,大力培养学生的计算思维能力[3]。

这种以计算思维为核心的教学改革势在必行。随着认识上的不断加深,又由于大学计算机基础教学的特殊性,一直在探索如何在《大学计算机基础》课程中培养学生的计算思维能力,使学生对这门课程产生兴趣并留下较深的印象,同时也决定了本课程的意义和生命力。

3基于流程图的可视化软件RAPTOR

RAPTOR(RapidAlgorithmicPrototypingToolforOrderedReasoning,基于有序推理的快速算法原型设计工具)是一种基于流程图的可视化编程开发环境。而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令。符号之间的连接决定了指令的执行顺序。

RAPTOR专门用于解决非可视化的环境的句法困难和缺点。可以在最大限度地减少语法要求的情形下,帮助用户编写正确的可运行的程序指令。RAPTOR允许学生用连接基本流程图符号来创建算法,然后可以在其环境下直接调试和运行算法,该环境可以直观地显示当前执行符号所在的位置,以及所有变量的内容。

RAPTOR正好克服了程序设计教学中存在的语法障碍和算法难懂的问题,同时更侧重于算法的验证和实现,这对学生的计算思维能力的培养非常有利[4]。

4应用案例

案例1:计算个入所得税。

首先,让学生做好课前准备。在这个案例中,要让学生知道什么是个人所得税,个人所得税又是如何计算。这些答案需要学生通过互联网来搜索,这里就用到了计算思维中自动化的概念,搜索相关于个人所得税的案例和资料。个人所得税税率表如表1所示。

以2013年个人所得税计算办法为例[5]。个人工资个税的计算公式为:

应纳税额=(全月应纳税所得额-扣除数)×适用税率-速算扣除数

个税起征点是3500元,使用超额累进税率的计算方法如下:

全月应纳税所得额=(应发工资-“五险一金”)-3500

例如,如果张三的工资收入为5000元(全月应纳税所得额),他应纳个人所得税为:(5000-3500)×3%-0=45元。

第二,在课堂上引导学生从收集整理的相关资料中提炼出有用信息,删除大量冗余信息这一阶段用到了计算思维方法中关注点分析的方法。并对问题进行抽象,构造数学模型和流程图,本程序使用的是分支结构。

第三,运用RAPTOR画出流程图并运行,如图1所示。

5结束语

上述案例从学生亲身经历的鲜活例子入手,调动学生思考的积极性。使其体会程序设计与实际生活的紧密联系,增强学习程序设计的兴趣。通过引导学生采用计算思维一系列方法(关注点分析,抽象和分解,构造、建模、保护、冗余、容错、纠错和恢复,利用启发式推理来寻求解答,选择问题合理描述方式,归纳等等)整理思路,通提供思考、讨论、交流的机会,让他们亲历知识的产生和形成过程[6]。并出示解决上述问题的流程图并运行结果。

RAPTOR将流程图、程序设计、算法设计和算法分析一体化,使程序设计过程中原本抽象的教学过程变得更加清晰。它不仅是计算思维的重要实践工具,也成为教学改革的有力推手。

参考文献:

[1]冯博琴.对于计算思维能力培养“落地"问题的探讨[J].中国大学教学,2012(09).

[2]九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(09):4.

[3]陈国良.计算思维与大学计算机基础教育[J].中国大学教学,2011(01):7-11.

[4]程向前.基于流程图的可视化程序设计环境对大学计算机基础教学的影响[J].计算机教育,2012(14).

[5]杨男才.信息技术《算法与程序设计》教学探讨[D].上海师范大学,2013.

[6]赵前程.经管类专业管理信息系统课程现状分析与实验内容设计[J].中国管理信息化,2009,12(14):128-129.

作者简介:卢琼(1980-),女,陕西扶风人,讲师,硕士,研究方向:信息隐藏。

程序教学的基本原理范文

关键词:可视化编程通信原理教学方法课堂教学

通信原理是高等院校电子信息类学科非常重要的专业基础课程。它在本科教学中占有重要地位,是电子信息专业主干课程。该课程具有内容多、涉及知识面广、基本概念多等特点,学生觉得不易理解,教师也觉得不容易教好[1]。为了提高课程的教学效果,课程教学过程必须与其特点相结合。这方面前人已经做了大量工作,主要是将仿真技术与课程教学内容相结合,集中表现在以下两方面:(1)利用Matlab软件设计可视化系统平台,对课程的基本原理、基本方法进行仿真以提高教学效果[2,3];(2)利用通信类专业经典软件,如SystemView,LabView,它们既与课程的基本理论相结合,又与通信原理硬件实验互补[4,5]。以上案例说明只有不断地研究、综合新技术、新方法,且将其运用于课程教学才能有效提高教学效果[1]。用可视化面向对象编程技术编制通信原理系统演示程序,既可以在一定程度上缓解实验设备短缺给教学带来的影响,也可以增强课堂教学的趣味性和直观性。

1面向对象可视化编程介绍

面向对象这类程序运行时会弹出窗口,窗口组成了应用程序的界面,这就是所谓的图形用户界面(GUI,GraphicUserInterface)。用户界面主要由窗口、菜单、按钮、对话框等控件组成,具有界面友好、操作简单等特点。面向对象程序设计的广泛应用和逐步完善,克服了软件设计中的效率低下、调试复杂、维护不易等缺点,是目前程序设计的趋势。

采用Microsoft公司推出的VisualBasic可视化软件进行界面设计,是基于事件驱动机制的编程方式,用户的动作决定程序的流程,每个事件都能运行一段程序代码。用它编程容易上手,设计的界面非常友好,功能非常强大。用该软件设计程序的流程如下:(1)根据通信原理的基本原理和方法,确定程序的基本算法和基本流程。(2)利用软件提供的标准可视化控件设计程序的界面,设计界面的目标应满足能生动地反映基本原理。(3)对界面的控件编写代码以实现演示功能。(4)测试相应的程序。

2演示系统模块体系

通信原理的内容涉及广且需要的前续课程多,数学公式多,难度大。学生普遍反映课程原理性和综合性强、概念抽象、课程难度大[2]。为了突破难点,使之生动化、具体化,提高课程教学的效果,根据通信原理课程的教学大纲,将通信系统的模拟通信、数字基带通信、数字频带通信综合在一起组成可视化演示系统知识体系(如图1所示)。演示系统涵盖了通信原理课程的主要内容。

为演示系统功能及在课程教学中的应用,分别选择有代表性的演示子程序进行说明。

2.1模拟系统

模拟通信系统模块主要有AM调制、FM调制2个模块,AM为调幅,是常规双边带调制[6]。AM可以分为标准调制、过调制、满调制3种。在课程教学过程中发现存在以下问题:(1)学生不能正确理解调制指数,因而不能根据调制指数正确分辨标准调制、过调制、满调制三种调制波形;(2)学生对于已调信号的包络认识不清,在教学时这个概念又不容易解释,需要有直观的图示才能正确说明;(3)学生对于FM调制和调相的关系不能正确理解。为正确解释AM调制,设计了演示程序。

AM演示程序的对话框界面是由按钮、文本框和图形框组成,其中文本框可以输入不同的调制指数来演示不同的已调波形。“调制信号”按钮产生一个正弦调制信号;“载波信号”按钮则在第二个图形框中画出高频载波信号;“AM调制”按钮在第三个图形框画出AM已调信号,并用曲线画出信号的包络。为了使演示产生信号具有吸引力,画曲线时,采用定时器控件产生动画效应;“清屏”作用是擦除图形框的图形;“返回子系统”的作用是退出当前的模拟通信子系统。在设计该模块时,特意加上时钟控件控制画图的速度,达到动态效果,以便在课堂演示时吸引学生的注意力。为了正确解释包络概念,程序在画完已调信号后,再以动态方式画出调制信号的包络。

2.2数字基带系统

数字基带系统包括基带信号、常用码型、码间串扰3个模块。其中,基带信号模块包括了基带信号、单极性功率谱、双极性功率谱、理想基带信号及绝对码与相对码的相互变换。该子系统下的基带信号有归零码波形、极性码波形、差分波形和多电平波形等,涵盖了数字基带信号的5种形式。常用码型有AMI(传号交替反转码),HDB3(三阶高密度双极性码),BPH(双相码),Miller(密勒码),CMI(传号反转码)5个模块。码间串扰模块演示如何判断无码间串扰的时域、频域条件。为了进一步说明基带通信系统模块,选择第三个模块(码间串扰)的理想基带信号时域无串扰演示程序。

在课程教学中分析此原理时,学生不容易理解时域无码间串扰条件含义。为解决这个问题,我们设计了一个演示程序(如图3所示)。将通过理想特性信号左右移动,恰好在抽样时刻让其他信号对抽样的影响为零。“初始信号”产生理想基带信号。单击“左移一个单位”按钮一次是将理想的基带信号在时域中左移一个单位,单击两次则是将两项信号左移两次。相应的“右移一个单位”就是将基带信号右移一个单位。从图中可知,在抽样时刻其他信号都是零,从而说明具有理想特性的系统在时域上满足无码间串扰。

2.3数字频带系统

数字频带系统包括ASK,FSK,PSK,DPSK四个模块。DPSK模块演示程序界面如图4所示。它用前后码元的相位差为0表示传输数字信息“0”,前后码元的相位差为π表示传输数字信息“1”。传输的消息为绝对码,DPSK的调制方式是将绝对码转换为相对码再进行PSK调制。在学习这种调制技术时主要存在以下问题:(1)学生不清楚调制的波形是什么样的;(2)学生不明白绝对码变相对码的规律。为解决这些难题,设计程序时用文本框输入绝对码,相对码在另外文本框输出,画出基带信号的波形及已调DPSK波形,参照DPSK原理进行讲解。将其功率谱密度画出,说明其特点并且与ASK调制进行对比。采用这种方法解释DPSK调制方法,可以发现,先将绝对码变为相对码,然后再进行PSK调制。编程时,考虑了输入的消息变化,相应的基带信号和调制信号都变化。经过上述演示,反映这种方式更加生动具体。

3演示系统在课程教学中的应用

在课程教学中,主要采用以下4种方法组织教学。(1)为了增加演示程序带来的乐趣,在设计画曲线波形图时,将绘制曲线的动作放慢以获得动画效果,并且增加了相应功能。(2)当课堂出现相应知识点时,在讲解知识点后,运行程序进行课堂演示,要求学生留心图形的要点,注意课程讲授的原理。这样既可以减少课堂的沉闷,又提高了学生的兴趣。(3)在完成相应的课程教学后,针对编程能力强的学生,我们提出要求,以大作业形式让学生完成。对于完成了大作业的学生,计入平时成绩。(4)在毕业设计时,将其中的一个系统模块让学生在教师的指导下完成。经过这4个方面的努力,既提高了学生对课程的理解,也提高了教师的教学水平。

4结束语

采用VisualBasic设计出的通信原理演示系统用于课程教学,可对通信原理的模拟通信、数字基带通信和数字频带通信原理进行生动形象的演示。学生普遍感觉到原来死板、抽象的原理教学变得更加生动具体,学生学习兴趣变浓,学习氛围变好。该演示系统已经在2007级、2008级、2009级电子信息科学与技术专业,2009级电子信息工程专业的通信原理课程教学过程中应用,学生普遍反映教学效果较好,提高了学习积极性。未来我们将进一步完善演示系统,并将模拟信号的数字传输及其他内容也纳入演示系统,使其与课程的内容、教学方法联系更加紧密。

参考文献

[1]刘凯,徐桢,张军.通信原理中的教学方法研究[J].高教论坛,2009(3):26-29.

[2]程钦,钱志文.通信原理可视化仿真平台的设计与实现[J].江苏技术师范学院学报,2011,17(6):25-29.

[3]邓红涛,查志华,张锐敏.Simulink在通信原理教学中的综合应用[J].教育教学论坛,2012(3):211-212.

[4]陈丽娜.基于SystemView的通信原理系统软件实验设计[J].实验室研究与探索,2009,28(9):62-64.