计算机C#语言教学(共4篇)
计算机C#语言教学 篇1
自然语言处理技术的普及与广泛应用很大程度上得益于统计语言模型的发展[1]。统计语言模型是关于自然语言的统计数学模型, 它主要用来归纳、发现和获取自然语言在统计和结构方面的内在规律。
统计语言模型通常使用概率和分布函数来描述词、词组及句子等自然语言基本单位的性质和关系, 它体现了自然语言中存在的基于统计原理的生成和处理规则[1]。上世纪70年代末, J.K.Bake和F.Jelinek首次将隐马尔可夫模型 (Hidden Markov Model:HMM) 应用于语音识别领域[1]。
在此之后, 统计语言模型得到了进一步的发展, 出现了不少新的模型, 逐渐深入渗透到了自然语言处理的各个层面, 并且在很多其他的应用领域都取得了极大的成功:
在机器翻译领域, 1990年, 来自IBM公司的Peter Brown等人提出了统计机器翻译模型。他们使用一种噪声信道模型, 把机器翻译看成是一个信息传输的过程。在模型中, 他们用N-gram统计语言模型描述了目标语言文本出现的概率。通过估计目标语言翻译成源语言的条件概率, 来寻找最优的译文。在此之后, Och等人在IBM模型的基础上, 提出了基于最大熵的统计机器翻译方法。在信息检索领域, 1998年, Pnoet和Corft首次将统计语言模型应用到信息检索中。在手写汉字识别领域, 模板匹配方法是一种基于统计模型的模式识别方法。此外, 还有基于HMM的识别方法。1992年, Srihari等人将统计模型和句法信息结合在一起进行手写汉字识别[1]。
1 统计语言模型
简单地说, 语言模型就是用来计算一个序列概率的模型, 即P (W1, W2, ..., Wk) 。利用语言模型, 可以确定哪个序列的可能性更大, 或者给定若干个成员, 可以预测下一个最可能出现的成员。再举一个机器翻译的例子, 给定一个汉语句子为艾山在公司里看电影, 可以翻译为Ai shan is watching Movie at Company、Ai shan at Company is watching Movie等等, 同样根据语言模型, 我们知道前者的概率大于后者, 所以翻译成前者比较合理。序列S=W1, W2, ..., Wk, 它的概率可以表示为:
由于上式中的参数过多, 因此需要近似的计算方法。常见的算法有n-gram模型方法、决策树、最大熵模型、最大熵马尔科夫模型、条件随机场、神经网络等方法。
1.1 n-gram语言模型
n-gram模型也称为n-1阶马尔科夫模型, 它有一个有限历史假设:当前词的出现概率仅仅与前面n-1个词相关。因此 (1) 式可以近似为:
当n取1、2、3时, n-gram模型分别称为unigram、bigram和trigram语言模型。n-gram模型的参数就是条件概率P (Wi|Wi-n+1, ..., Wi-1) 。假设词表的大小为100, 000, 那么n-gram模型的参数数量为1000, 000n。n越大, 模型越准确, 也越复杂, 需要的计算量越大。最常用的是bigram, 其次是unigram和trigram, n取≥4的情况较少。
1.2 n-gram模型的参数估计
模型的参数估计也称为模型的训练, 一般采用最大似然估计 (Maximum Likelihood Estimation, MLE) 的方法对模型的参数进行估计:
C (X) 表示X在训练语料中出现的次数, 训练语料的规模越大, 参数估计的结果越可靠。但即使训练数据的规模很大, 如若干GB, 还是会有很多语言现象在训练语料中没有出现过, 这就会导致很多参数 (某n元对的概率) 为0。举个例子来说明一下, IBM Brown利用366M英语语料训练trigram, 结果在测试语料中, 有14.7%的trigram和2.2%的bigram在训练中没有出现;根据博士期间所在的实验室统计结果, 利用500万字人民日报训练bigram模型, 用150万字人民日报作为测试语料, 结果有23.12%的bigram没有出现。
这种问题也被称为数据稀疏 (Data Sparseness) , 解决该问题可以通过数据平滑 (Data Smoothing) 来解决。数据平滑是对频率为0的n元对进行估计, 典型的平滑算法有加法平滑、Good-Turing平滑、Katz平滑、插值平滑等。
1.3 SRILM
SRILM是著名的约翰霍普金斯夏季研讨会 (Johns Hopkins Summer Workshop) 的产物, 诞生于1995年, 由SRI实验室的Andreas Stolcke负责开发维护 (http://www.speech.sri.com/projects/srilm/) 。SRILM用来构建和应用统计语言模型, 主要用于机器翻译、语音识别, 统计标注等, 可运行在Windows及UNIX操作系统上。
2 基于C#的维吾尔语语言模型算法实现
本文中, 为了在汉维机器翻译解码器里计算目标句子单词的困惑度, 研究与实现了基于C#的语言模型计算算法。首先使用12万汉维句对中的维吾尔文句子, 利用SRILM工具创建了3元的维吾尔文语言模型文件, 然后使用自己开发的二分查找库生成工具软件 (图1所示) 生成可以用二分查找算法查找N元概率的文件, 然后可以在解码器用该文件计算句子的困惑度。
以下是语言模型计算算法的实现代码:
摘要:由于SRILM语言模型计算工具包需要把全部模型数据载入内存, 有些语言模型为几百兆或几千兆, 对于个人计算机来说, 每一次启动应用程序要载入几百兆的数据不仅耗内存, 也很耗时, SRILM不适合于面向个人计算机的软件。该文中, 为了解决面向个人用户的汉维机器翻译语言模型的计算问题, 在SRILM基础上, 实现了基于C#的即需即载数据的语言模型计算工具, 数据用二分查找进行检索。
关键词:维吾尔语,语言模型,二分查找,C#
参考文献
[1]文娟.统计语言模型的研究与应用[D].北京:北京邮电大学, 2010.
[2]邢永康, 马少平.统计语言模型综述[J].计算机科学, 2003 (9) :22-26.
[3]张敬芝, 高强, 耿桦, 等.统计自然语言处理中的线性插值平滑技术[J].计算机科学, 2007 (34) :223-225.
[4]余伟, 王明文, 万剑怡, 等.结合语义的位置语言模型[J].北京大学学报:自然科学版, 2013 (2) :203-212.
计算机C#语言教学 篇2
Java作为计算机入门教学语言的思考
Java是现代高校计算机专业的`必修课程,针对三本院校计算机专业,阐述了开设Java作为计算机入门语言的可行性以及优势,介绍了Java特点并与C语言进行比较.
作 者:骆挺 LUO Ting 作者单位:宁波大学科技学院,宁波,315212 刊 名:电脑编程技巧与维护 英文刊名:COMPUTER PROGRAMMING SKILLS & MAINTENANCE 年,卷(期):2009 “”(24) 分类号:G71 关键词:面向对象 三本院校 图形用户界面计算机C#语言教学 篇3
面向对象程序设计语言C#综合了VB简单的可视化操作和C++的高运行效率, 以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
现在各大高校都开始了各种形式的C#程序设计课程, 由于C#的独特性, 传统的教学方式与方法明显不能满足C#教学的需求, 笔者根据近几年C#教学的经验, 在C#教学上做了一些研究, 供大家参考。
2、教学内容
教学内容的选取对面向对象程序设计语言C#的教学是非常重要的, 因为它决定了教学的质量。由于C#的独特性, 在教学内容的选取上面, 采用分阶段教学的方式, 将C#的学习分为两个阶段, 第一阶段为基础知识学习阶段, 第二阶段为系统设计阶段, 课程采用4节课为一个单元的方式, 每周8节课, 总课时为128节。具体课时和内容安排如下表所示:
3、教学方法与手段
针对教学的不同内容, 设计不同的教学方法。
在第一阶段, 因为是介绍C#的基础知识, 所以采用任务驱动式教学, 每一基础知识都对应一个小的任务。第二阶段, 采用项目教学方法, 在项目中讲解相关的知识点。
在C#教学过程中, 积极采用多种现代化的教学手段是提高教学质量的有效途径, 主要的教学手段有:
(1) 设计生动的教学多媒体课件。生动的课件可以营造轻松活泼的课堂气氛, 将抽象化的问题融入到学生熟悉的生活情境, 并通过动画演示等手段, 让学生通过对熟悉事物的认知来理解理论知识。
(2) 充分利用机房控制软件。由于C#教学都是采用一人一台电脑的方式教学, 所以要充分利用机房控制软件的互动功能, 让学生和老师能进行交互教学。
(3) 互联网交互学习。将课堂的教学延伸到课外, 可以建立一个C#学习QQ群, 教师与同学可以在课外进行交流, 学生之间也可以随时进行交流。还有就是建立C#学习的网站, 将学习的相关资料都放在上面, 方便学生查找资料, 自我学习。
4、考核方式
考核只是一种手段, 不是目的, 考核就是要检验一下学生的掌握情况, 针对C#教学的特殊性, 我们采用过程化考核方式, 学生的最后成绩主要由平时的程序完成情况来决定, 即总成绩=平时表现+任务完成成绩+阶段项目一成绩+阶段项目二成绩+课程设计成绩。这样, 学生改变了考试前"临时抱佛脚"的心态, 重视实验、重视平时表现。事实证明, 这种考核结果很大程度上解决了"高分低能"的问题。可以说C#成绩高的学生, 也是真正理解C#编程的学生。
5、结束语
C#作为一门面向对象编程语言, 具有很强的特殊性, 因此在教学中不能按照传统的方式进行教学, 需要不停进行教学改革, 摸索适合学生的一种模式, 这样才能真正让学生学得轻松, 教师教的轻松。
摘要:在面向对象程序设计语言C#的教学过程中, 如何选取教学内容, 采用何种教学方法和手段是非常重要的, 本文结合学生学习程序语言的特点, 根据本学院的教学情况, 对C#教学进行探讨, 交流了教学经验。
关键词:C#教学,面向对象,教学方法
参考文献
[1]谭恒松.C#程序设计与开发[M].北京:清华大学出版社, 2010.
[2]沈蕴梅.《C#程序设计》教学改革之初探[J].科技信息, 2009, (33)
计算机C#语言教学 篇4
一、实验教师的准备工作
1.教师需要对计算机C语言的教学大纲有一个全面的了解
由于教学大纲能够指导计算机C语言的实验教学,教师的教学和学生的学习都应当在教学大纲的指导下进行,教师对教学大纲的熟悉是进行实验教学的前提。教师只有对教学大纲中的所有知识点都熟练掌握了,才可以在实验教学中更好地体现出来。教师不仅要使实验题目具有新鲜感,能够激发学生的学习兴趣,还要跟教大纲相符合。C语言的编程是比较枯燥的事情,因此,应当使用适当的方法以提高学生的学习兴趣。可以按照C语言理论课程把C语言实验教学分成几个模块,比如,对于教授C语言的三种基本结构来讲,可以根据每一模块的知识设计实验教学的内容。
2.在实验教学之前,教师需要把准备工作做好,教学的目的应当明确和便于理解;设计实验内容应当突出难点和重点知识,使学生知道自己需要学习的内容
教师需要在上实验课之前把所有的实验题目都练习一遍,及时发现存在的问题,并加以解决,以避免在课堂教学时解决这些问题,以节省课堂的时间。教师还需要维护和调试实验机器,及时地维修存在故障的机器,以避免在实验时出现一些不必要的麻烦。
3.对学生的状态有一个全面的了解
学生的基础都是不一样的,有的学生了解一些计算机编程的知识,而有的学生却一无所知。倘若教师只是单纯地讲解,而不考虑学生的实际情况,就不可能取得比较好的教学效果。教师在教学的过程中,不可以使用填鸭式的教学方法,而要不断地启发和引导学生,教授学生应当怎样解决在学习计算机C语言时碰到的各种问题。依据学生层次的不同,进行分层次的教学,对基础较好的学生适当地增加一些难度,对缺少基础的学生需要进行耐心的指导和讲解。为了使教学效果更加理想,需要学生在上计算机C语言实验课之前,先复习理论知识,然后预习实验题目,并把各种疑难问题列出来。学生进行了预习,教师的讲解也变得通俗易懂,学生的学习效率也会得以提高。
二、教师的实验教学方法
对于初次学习计算机C语言的学生来讲,会显得比较难理解,学生不具备编程的模式与理论,一切都是新的。因此,教师在讲解的过程中,需要帮助学生建立编程的模型和思想,这要比学生在计算机中机械的输入程序更加重要。首先,教师要让学生复习跟试验课程有关联地理论知识,以使学生进一步理解C语言的难点和重
点知识,学生只有在学好理论知识的基础上,才可以上好试验课。其次,教师再讲解实验课。在C语言的实验课堂上,教师需要演示与讲解一些重点知识,每一次讲解的时间不可过长,需要把大部分的时间交给学生去练习,并注重操作要点的讲解,让学生能够独立地完成实验题目。
目前,计算机C语言的实验教学基本上都是借助多媒体进行
的,应用投影仪与大屏幕更加有效地展示给学生,这样,学生的印象加深了,在实际操作中会变得更加自信,取得理想的教学效果。设计实验内容也是非常关键的,倘若教师所设计的.实验内容跟教学实际不符合,比较单调,那么就失去了现实意义,不能够激发学生的学习热情,学生对所学的内容也不会有深刻的印象。比如,教师在讲解计算机C语言中循环这一问题编程的时候,倘若使用简单的程序与方法进行讲解,学生就不会有比较深刻的印象,相反
地,把循环当中“富翁和陌生人”的例题在实验课上进行讲解,就能够激发学生的学习热情。学生就会想方设法地编写程序,学生很想知道问题的答案是什么。学生只有在仔细思考这个问题的基础上,才能够比较自然地建立编程思想,从而取得理想的实验教学效果。
三、学生的实际操作
学生在对操作步骤与实验内容充分地了解之后,就可以上机进行操作。学生在上机进行操作的过程中,难免会有一些疑问,因此,需要教师不断地巡视,对学生的各种疑问,教师需要及时地解答,对一些共性的问题,在课堂上及时地进行说明。对学生的各种疑问,教师需要认真地对待,不可以瞧不起基础比较差的学生,不可以打击学生。与此同时,应用适当的方法启发学生的创新性思维和创造性思维。只有这样,才可以达到实验教学的目的,培养出对社会有用的人才。
总之,在计算机C语言实验教学的过程中,教师需要做好充分的准备工作,并不断地启发学生进行思考,提高学生的编程意识。当然,计算机C语言实验教学方法正在不断地改进,只有探索出一套跟本校学生实际情况相适应的教学方法,才能够真正地使学生学好计算机C语言。
参考文献:
[1]谢志英,王静,陈静。C语言课程中学生问题求解能力的培养[J]。计算机教育,(03)。
[2]王荣。基于Ch平台的C语言程序设计教学方法的探讨[J]。渭南师范学院学报,(05)。
[3]王创伟,汤克明,蔡长安。C语言程序设计:教学改革方案与实践[J]。现代计算机:专业版,(11)。
【计算机C#语言教学】推荐阅读:
大学计算机语言教学09-14
计算机语言教学方法10-08
计算机语言课程07-28
计算机动态语言11-04
计算机语言课程设计07-31
计算机编程语言应用08-18
C语言计算机软件08-24
计算语言学10-21
计算机语言类创新教育课程设计实践体会08-16
9月计算机二级考试C语言预测试题08-23