逻辑语言与计算机软件论文

2022-04-26

【摘要】基于Python语言的应用,对大数据分析与处理效率提升等方面有积极作用。结合Python语言的优点,可在快速开发的视角下,对系统管理任务进行处理与完善,在可视化处理与数据分析的基础上,提高Python语言的实际应用效果。下面是小编整理的《逻辑语言与计算机软件论文(精选3篇)》的文章,希望能够很好的帮助到大家,谢谢大家对小编的支持和鼓励。

逻辑语言与计算机软件论文 篇1:

在中国成为“人生赢家”

我的名字叫柯修(Kishore Biswas),来自孟加拉国,是北京大学外国语学院“一带一路”外国语言与文化系列公共课程项目孟加拉语教师、北京大学信息科学技术学院计算语言学研究所研究员。

初来中国的苦与乐

我对与中国的“初次见面”记忆犹新,这还得益于当时中国出口商品援助孟加拉国。在我上小学时,新学年开始会发新书,而同时下发的还有书皮,用以保护脆弱的课本。这些书皮多为从中国进口的质量优良的厚纸,有的上面印有中国的城市、农村、工厂、花园等图案,图中的烟囱、果树和鲜花让我初次接触到这个神奇的国度。而我小时候用的比较耐用的铅笔、橡皮、尺子,都是从中国进口的,上面都写着“中国制造”四个字。虽然当时我不会中文,但端庄的方块字还是激发了我对中国和汉语的兴趣,那时我常把“中国制造”当艺术绘画来模仿。除此之外,中国功夫在孟加拉也很受欢迎,尤其是中国功夫的电影,成龙、李小龙都是孟加拉人喜欢的明星。我当时并不知晓夸张的成分,看到中国功夫能让人具备常人不具备的功能,做普通人做不到的事,便觉得异常神奇。这些构成了我走近中国的最初动因。

1999年,高中毕业的我得知中国政府会为孟加拉学生提供政府奖学金,尽管依旧不了解中国,且整个国家仅有5人能获得资助,但出于兴趣与好奇,我报了名,并认真准备考试。经过六七百人参与的海选和严苛的笔试、面试,幸运的我以第一名的成绩获得了中国国家留学基金的资助,让我最终有机会亲近中国,接触中国语言和文化。

来到中国的第一年,我在武汉的华中理工大学(现华中科技大学)学习中文,上了两学期汉语课,而后我边了解所感兴趣的计算机专业,边学习汉语。最初在中国的日子并不好过。比如,我曾在武汉的光盘售卖点寻觅心仪的软件,虽然尽力把中文说得准确,但因为音调有错误对方一直无法理解,我说了十几分钟,口干舌燥,也没能买到软件。多次的尴尬与失望之后,我对自己提出了更高的要求。我立志学好汉语,不管学什么语言,我希望我说的话能让所有人听懂,所有人说的话我也都能听懂,真正实现交流方面无障碍。

以此为目标,我开始学习计算机专业相关知识,并以兴趣为导向走近汉语。我喜欢看电影,通过做喜欢的事情来学习语言。2001年至2005年,我在清华大学学习计算机科学与技术专业。当时面对中文编写的专业教材、全中文授课、用中文参加考试,都让我感到十分迷茫。虽然上专业课前学了两个学期的基本汉语会话,但对汉语的专业词语仍完全陌生。我拿到的第一本教材是高等数学。我翻开汉英词典,从教材的第一章开始一个词一个词翻译,试图掌握课本的内容。头一年过得非常痛苦,成绩也不太理想。那时候清华大学留办的老师们和我们的數学老师赵老师的鼓励给了我新的启发。在这4年里,我逐渐提高了我的语言水平,并融入了中国的教育模式,慢慢克服了一切不适应。我感觉忙碌又快乐、充满挑战又有成就感的那4年大学生活过得太快了。

师友相伴的北大时光

在2005年来到北京大学时,我的汉语已经运用得比较娴熟了。北大给了我在学业和文化交流方面更多的机会。我以活动和交流为基点继续磨练。2009年,在北大留办老师们的鼓励下,我报名参加了第二届“汉语桥”在华留学生汉语大赛,并以此为契机继续钻研汉语,了解中国文化。为了代表北大参赛,我开始读书充实自己,并学习了此前涉猎不多的成语、歇后语,深究每个词的历史和文化背景。我尽量积极接触中国同学,虽然当时我住在中关新园,但大部分时间跟中国学生一起吃饭、一起交流、一起玩乐,甚至有相当一部分时间都是在中国学生的宿舍度过的。加之此前的积淀,以及与中国学生密切的交流,我斩获了第二届“汉语桥”在华留学生汉语大赛金奖。

此外,我还参与了校际辩论赛,依稀记得当时的辩题是“留学利大于弊/弊大于利”。我认为辩论是很好的锻炼语言的机会,不仅要会说,还要有逻辑地论证和反驳,要求说得又快、又有效、又有逻辑,而且还得抓住别人的问题。当时每周四和周五下午是很美好的时光,因为在一次又一次模拟练习和准备材料的过程中,我从队友身上学到了不少语言技巧,快速提升了口语水平。在中国的17年,我一直想不断提升我的专业和语言能力,更深入地了解中国的历史与风土人情,我游历了北京、湖北、福建、山西、黑龙江、云南、甘肃等14个省市,爱上了这里的一切。

我在北大完成了硕士和博士学业。2005年至2008年,我在信息科学技术学院进行计算机软件与理论方向的学习;2008年至2014年,我在信息管理系情报学专业自然语言处理方向继续深造,研究多语言多文档自动文本摘要。当时在信息管理学核心期刊《现代图书情报技术》和《图书馆学研究》上发表了论文,多次参与中国和国际上的学术论坛。一路走来,我十分感谢相伴的老师与朋友。

硕士期间,我的导师孙斌老师和与我同一实验室的刘培同学对我的帮助很大。当时我们研究小组在香山的封闭式开发让我非常难忘。研究的项目是开发北大计算语言学研究所自己的一套信息提取软件系统,主要用于web中中文、英文、孟加拉文的网页内容。为了完成这个项目,导师和同学们在香山的一家宾馆住了一个多月,其间没有人回家。当时,我每天与孙老师、刘培和其他同学一起编程序,一起讨论算法、程序设计与编程方面的问题。工作之外,我的导师还会安排出去爬山、聚餐,每天过得充实而快乐。

博士期间,在王惠临导师的指导下,我在情报学核心期刊上发表了论文。最让我痛苦而又满意的是我的博士毕业论文是用中文写的,大约有10万字。论文题目是“多语言多文档自动摘要的研究”。最早的开题环节时我有任何想法都会与导师讨论,根据导师的建议不停地修改论文。每次讨论,导师总是很耐心和包容。对于行文,刘丹同学给予了我很大帮助,因为她之前在某情报学论文出版社做兼职,对论文的编辑与发表比较在行,我有什么汉语写作方面的问题都会咨询她。

而我在学业上最重要的精神支柱,非我爱人莫属。2006年夏天,正在读研二的我在图书馆借书,正好有个中央民族大学的女生也在借书,我们就因为一次偶然的借书经历相识,并在之后多次相约一起吃饭、聊天、自习,由此开始了一段幸福的姻缘。除了感情上的支持,我爱人还帮助我提高汉语写作水平,在我写博士论文时也给予了帮助。2011年4月16日,我们步入婚姻殿堂。而今,我们的孩子已经快两岁了。一次奇特的相遇将素不相识的我们变为比翼齐飞的伉俪,经历之神奇,足见北大图书馆对于我的意义。

师友相伴的我,在燕园提高了学术造诣,收获了属于自己的朋友圈,更建立了家庭,成为不折不扣的“人生赢家”。对燕园的情感与爱深深印在我的心里,难以割舍。

开启燕园新生活

面对“一带一路”项目负责老师、北大外国语学院南非语系的魏丽明老师和他的朋友、博士生杨伟明的盛情邀请,加之自愿为硕士导师孙斌做汉孟英电子辞典的开发工作而继续研究计算机软件,我自然而然留在了燕园,开启了自己的教师生涯。

作为一个在燕园学习生活了十载的外国青年,我眼中的北大自有别样风采,有两大特色最终吸引我留在了这里。

一为美丽的校园带给我的归属感。我很喜欢北大的校园风格,有的楼古色古香很有历史底蕴,有的楼拔地而起颇具现代气息,博雅塔、未名湖一直具有的独特气质,北园草木植被的郁郁葱葱,都深深吸引着我。北大的一草一木蕴含了太多的回忆。走在校园中,我总能想起当时的情景与当年的师友。这里的环境让我有家的感觉,很温馨。

北大多元的活动是吸引我留在燕园的第二个原因。从2005年至今,我参与的大小活动不计其数,无论是校内活动还是校际交流,抑或是代表北大参加比赛。参与的活动极大地帮助我在北大发展了广泛的人脉。除了“汉语桥”大赛和辩论赛,还有两个活动让我感触良多。一是2006年至2011年我都未曾缺席过的国际文化节,品味各国美酒、美食和风情文化之余,我不仅认识了很多中国同学,还结识了不少留学生朋友,许多人现在依旧保持着联系。二是北大留办组织的两次中国文化体验活动,一次前往甘肃和青海,另一次前往云南。两次旅程让我游历了青藏高原、敦煌、丽江、香格里拉等地,饱览了名胜古迹和秀美风光。在与当地人的交流中,我感受到了中国不同地区民风的差异和颇具地方特色的多元文化,这些都深深吸引了我。如此多而精彩的活动,不仅促进了我与中国学生的交往,更带领我在北大探秘世界,在地方读懂中国。

我在中国16年的努力与成就,从提升汉语,潜心学术,再到收获师友与家庭,留在燕园,十多年以来的一切都要感谢中国,感谢国家留学基金委、华中科技大学、清华大学和北京大学,如果没有他们的大力支持和培养,也许不会有今天的我。最后,我想对那些向往中国的青年朋友说:来中国一定会了解更多,来过肯定不会后悔,你们一定会喜欢上这个国家的。

作者:柯修

逻辑语言与计算机软件论文 篇2:

大数据分析中Python语言的应用分析

【摘要】    基于Python语言的应用,对大数据分析与处理效率提升等方面有积极作用。结合Python语言的优点,可在快速开发的视角下,对系统管理任务进行处理与完善,在可视化处理与数据分析的基础上,提高Python语言的实际应用效果。Python语言在数据编程下,可对信息获取、信息存储等方卖弄进行数据处理,在大数据分析的基础上,可提高数据处理与分析水平。

【关键词】    大数据分析    Python语言    应用分析

引言:

随着计算机、大数据分析等工作的多元化发展,在实现数据分析与处理的过程中,可通过数据分析,提高大数据的应用水平。Python語言可提高数据分析效率,通过数据分析与处理,可对数据库进行编程与完善,满足不同指标的数据分析需求。

Python语言在实际应用中,具有开源性、可移植等特性,编写网络爬虫、而且,可以应用少量代码,从而完成大数据分析的多项操作[1]。

一、Python语言的优势分析

Python语言在实际应用中,属于广泛、跨平台的高级程序设计语言,在实际应用中,强调代码的可读性,与C++以及Java相比,Python语言可对系统管理任务进行处理,而且,面向对象比较广泛,支持过程编程与对象编程。此外,Python语言具有可以执行,可以在多个平台上运行,而且,可以通过解释器将原始数据转化为字节码的中间形式。Python语言可以建立标准数据库,重点对数据库、表达式等方面进行综合控制,并采用强制缩进的方式,提高代码的可读性[2]。

在计算机编程的过程中,其中常见的语言以Java、C、Python等为主,语言的类型相对比较多,其中,Python语言比较简单,而且,方便后续的程序维护与管理,其应用范围比较广泛。

在物联网技术的视角下,Python在数据挖掘中,可通过Python语言,编写网络爬虫,而且,可应用少量代码,并完成多项操作,从而实现数据编程与处理效果提升[2]。

二、Python语言与数据分析

在大数据分析与数据挖掘的过程中,Python、R语言等应用比较广泛,在数据分析与处理中,可对数据交互、数据可视化处理等方面进行综合控制,从而实现数据分析与数据处理效果提升[4]。

Python语言可供第三方数据库使用,在对数据处理过程进行优化的基础上,实现数据统计、数据可视化等功能,而且,可以完成不同数据分析任务。建立数据分析库,对数据进行排序、分组、规并,从而达到数据统计分析的目的。Python可以对数据结构进行优化,并从外部获取数据,对SQL数据网恩建进行综合处理,达到函数分析与处理的目的。从数据可视化的角度进行分析,则可以在函数分析的基础上,对数据体态特征、数据正态分布等方面进行优化,在建立关系函数的基础上,可通过数据特征分析,实现数据信息处理效果的综合提升。

在Python语言视角下,可对大数据进行分类统计,在构建Numpy、Scipy的基础上,建立数据分析模型,对分类、回归、聚类等数据分析进行处理,通过数据降维、模型选择以及数据预处理,可实现大数据分析与处理。大数据分析与处理,则可以建立线性模型,对样本点的预测值以及真实值等方面进行检验与分析,建立有效的线性关系,达到数据集训练与预测分析的目的。

在建立数据集的基础上,可以对大规模数据处理以及预测分析等方面进行综合处理,在建立智能开发环境的基础上,可建立数据模块,对Python语言的数据处理、创建数据等方面进行设计,选择线性模型,进行训练与预测,从而实现数据统计与数据分析。

三、大数据分析中Python语言的应用

3.1建立文件

网络爬虫本身是一种程序,可以通过软件工具的应用,获得网页数据。在对网络爬虫进行设计的过程中,可以确定爬取的网页URL地址,利用HTTP协议,可获得大数据信息,并在信息页面中获得信息数据,通过lxml对相关数据信息进行筛选,将其保存到计算机磁盘。

Python语言在实际应用中,可以直接面对对象,并应用于自动化搅拌设计中。随着编程技术的多元化发展,Python类库的功能也越来越强大。Python可单独应用,而且,可以添加到Djhango框架中,Python本身具有一定的独特性,在实际应用中,可以通过Python语言进行缩进式编写,并完成if语句。

Python语言在实际应用中,可在数据挖掘过程中,完善数据编译,保证数据操作过程。在建立文件后,确定网络爬虫程序的基本规则,并对获取的信息进行处理,将数据放在指定位置。

在爬虫信息提取的过程中,根据scrapy-redis创建3个文件夹,在应用Python语言的过程中,可以将源代码范围为字节码,通过Python语言虚拟机,执行并完成编译字节码。因此,在创建文件夹的基础上,可以在文件夹中确定爬虫所需的内容,并对数据收集以及数据分析等方面进行优化,从而实现数据分析与信息处理效果提升。

3.2大数据信息抓取与控制

在完成Python语言设计与信息处理的过程中,可以通过搜索引擎发送网址,例如,在完成软件设计后,可以通过百度搜索先关数据信息,并建立链接通道,在数据分析与信息爬取的基础上,可对信息规则与数据信息处理等方面进行控制,从而达到数据抓取的目的。

在创建新网站后,可与其他网站建立合作关系,并利用网络爬虫爬取,添加数据提取规则,从而达到数据分析与信息处理的目的。

3.3爬虫信息获取

在Python语言的应用下,为获得网页信息数据,可通过网络爬虫软件,建立搜索引擎,并对URL数据进行分析,达到数据获取与信息分析的目的。在获得数据后,可以与目标数据进行比较与分析,并寻找URL数据。

在获得URL数据后,将URL数据存入到资源库,以地址为依据,并对网址信息数据进行统计与分析,将数据保存到本地磁盘中,并对数据信息进行整合,提高数据信息的分析水平。

3.4存储信息的方式

在利用网络爬虫的基础上,可以获得URL数据,对网站信息进行处理,在获取爬虫信息的基础上,可对计算机存储过程进行优化,从而实现网站信息处理与控制。程序员可通过网页中的相关数据信息进行采集与分析,如果获取信息存在相同的情况,则可以进行合并处理,在此基础上,直接删除无效信息,将相关信息存储到计算机中。为了尽可能的减少计算机磁盘占用空间,程序要可以对大数据信息进行筛选,从而保证筛选信息的有效性。

在具体的操作中,Python语言应用可以对页面数据进行处理,避免出现信息抄袭的情况,而且,可以跳过这一部分信息数据,在磁盘空间处理与信息分析的基础上,可实现数据存储与信息处理。

3.5数据预处理

在数据抓取的过程中,页面中含有大量广告以及图片,而且,在实际抓取的过程中,极容易出现数据失真的情况。因此,在利用Python语言的过程中,可以通过数据预处理的方式,对网页中大量的信息进行处理,在数据操作的过程中,可以提取文字,并通过网络爬虫对数据信息的获取进行控制,从而达到数据预处理以及信息分析的目的。在实现数据信息处理与文字提取的过程中,可对文字提取、信息处理过程等方面进行优化,通过大数据分析与处理,可实现Python语言下的数据分析与数据处理水平。

3.6分页检索

在利用网络爬虫的过程中,则需要对网络爬虫爬取的信息进行控制,在设置request请求下,可利用Python语言,发挥分页检索功能,在对数据信息进行分析、排序、删除、修改的基础上,可提高Python语言的舒适度。

四、Python语言下大数据分析的设计

结合Python语言的特性,在建立自动化平台的基础上,还需要对文件、执行、脚本、实时信息等方面进行综合控制,通过数据信息处理,提高数据读取的綜合水平。在进行数据逻辑分析与信息处理的前提下,可通过Python语言的应用,对文件信息以及编辑过程等方面进行优化,通过文件信息管理与控制,可提高Python语言在数据分析中的实际应用效果。在创建Python语文件下,可通过命令逻辑,对数据流进行处理,在编译文件信息后,可对数字操作以及数据流输出登封那个面进行优化。

在实时信息处理的过程中,则根据.xml格式编译文件信息,在数据信息处理与编译器进行控制,而且,在数据输出与信息处理的前提下,可对编译文件信息进行输出与控制,以.xml文件进行数据输出与控制,最终可以显示相关数据。

为实现Python语言的有效控制,可以重启工作流,进入临时文件后,对临时文件进行选择与处理,在对现场文件进行传输与控制的前提下,对参数与赋值变化等方面进行综合控制,从而达到数据显示与数据分析的目的。通过cmd命令,对数据信息进行调用与处理,从而达到数据挖掘与信息处理的目的。

五、结束语

大数据分析中,Python语言的应用,可对大数据进行挖掘,提高数据分析、信息处理水平。在利用Python语言的过程中,读取.xml格式输出文件,在网络爬虫程序设计与应用下,可提高大数据分析中,Python语言的实践应用效果。在信息处理中,包含文件、执行、脚本、实时信息等,通过应用控件,对数据输出过程、信息处理等方面进行控制,实现输出与对应数据的管理与控制,满足大数据分析与处理的实际需求。

参  考  文  献

[1]彭焕卜,谢志昆.基于Python的学习者基本数据分析与可视化研究[J].中国教育信息化,2021(15):60-64.

[2]魏一鸣.计算机平面设计中色彩语言的应用分析[J].陕西广播电视大学学报, 2021,23(02):88-90.

[3]李永刚.基于Python的计算机软件应用技术研究[J].无线互联科技, 2021,18(11):36-37.

[4]黄岩.基于Python的计算机软件应用技术探究[J].电脑编程技巧与维护, 2021(04):37-39.

余勍(1982.11-),女,汉族,湖南岳阳,本科,副高,研究方向:计算机应用技术。

作者:余勍

逻辑语言与计算机软件论文 篇3:

拓宽基础,强化实践,程序设计语言类课程教学的探索与实践

摘要:程序设计语言是高等学校计算机专业本科教学计划中不可缺少的基础课程,由于语言种类多、发展快、实践性强,如何在有限的课时内让学生系统地掌握程序设计语言的基本原理、具备初步的编程能力,是该类课程教学面临的一个主要挑战。本文介绍北京交通大学在程序设计语言类课程教学方面进行的研究性教学与实践性教学相结合的探索与尝试。

关键词:计算机教育;程序设计语言类课程教学;教学改革;研究性教学;实践教学

1程序设计语言类课程教学的问题

程序设计语言的研究与开发一直是计算机科学领域的核心问题之一。事实上,信息技术领域的任何新技术与新方法都离不开程序设计语言的表达和实现,多名“图灵奖”获得者都是因为在程序设计语言方面的开创性成果而获奖。研究型大学的计算机专业本科生不仅应掌握特定程序语言的应用,更应了解不同类型程序设计语言的理论基础及其背后所蕴涵的程序设计方法学。

我国绝大多数高校计算机专业方向的本科生教学培养计划中安排了程序设计语言的教学任务。与西方发达国家的高等院校相比,程序设计语言教学方面的突出不足之处主要表现为:

(1) 程序设计语言的教学在有限的本科生教学课时中占用了较大比例,开设了如C、C++、Java、C#、Web程序设计语言、脚本语言等课程,设置零散,缺乏系统性。

(2) 程序设计语言的教学大纲侧重语言的语法教学,忽视程序语言设计的理论基础。学生缺乏研究和开发新型程序设计语言的能力,与研究型大学的学生培养目标有较大差距。

(3) 程序设计语言实例教学的效果不能令人满意。相当比例的计算机专业本科毕业生需要经过一段时间的编程训练后方能满足工业界需求。

初步调研发现,我国计算机学科排名靠前的几所高校,如北京大学、北京航空航天大学、东南大学,开设了“高级程序设计语言的设计与实现”或“程序设计语言的原理与实践”课程,但这些课程大多是面向计算机专业方向的研究生。据我们所知,德国和荷兰等西方发达国家的高校在本科生层次上就已经开设了相应课程,并且将程序设计语言的教学任务分配到多个阶段。

基于以上分析,我们认为,有必要在计算机专业本科生教学培养计划中增设程序设计语言的理论基础课程,适当删减程序设计语言实例教学课时,实现从程序设计语言基础理论到编程实践的系统化教学。

以培养可持续发展的计算机专业人才为导向,本文探讨“研究性”教学与“实践性”教学相结合的“程序设计语言”课程教学的探索与实践。具体说来,在程序设计语言理论基础教学方面,归纳与整理几类程序设计语言的理论基础,并以代表性程序设计语言为例进行分析与讲解;在程序设计语言实践教学方面,保留“C程序设计”课程教学,但对已有的教学内容与方式实施改革。上述教学改革的目标是提高学生程序设计语言的理论水平,增强对程序设计语言的理解与应用能力,为后期从事计算机相关领域的研发活动夯实基础。

2程序设计语言理论基础的研究性教学探索

程序设计语言理论基础研究性教学遵循“三结合”的基本原则,设计和实施课程教学。具体说来,采用“授之以渔”与“授之以鱼”相结合、“演绎”与“归纳”相结合、“原理”与“实践”相结合的方式。

由教授、副教授、讲师各一名组成本课程的教学小组。三名授课教师均长期从事计算机软件与理论方面的研究工作,在国内外学术期刊或学术会议上发表多篇高水平的研究论文。其中,一名教师负责讲授不同类型程序设计语言的理论基础,另外两名教师配合理论基础讲授语言实例。

本课程以授课教师编写的讲义为主,并提供大量相关的参考文献。通常,程序设计语言的理论基础可按三种编排方式讲授,即按照不同语言的重要特征及比较、或者按照程序设计语言的基本结构及实现、或者按照程序设计语言的形式化语义讲解。基于近几年程序设计语言的研究进展,本课程采用第一种编排方式组织课程的教学大纲。

(1) 分析与整理现有的各种程序设计语言,如C、C++、C#、Java、Ada、Lisp、Prolog等,归纳不同范型程序设计语言的特点与由来,绘制程序设计语言的发展谱系。

(2) 整理与探讨过程式、函数式、逻辑式、面向对象式、并发式等不同范型程序设计语言的理论基础,结合有代表性的程序设计语言实例分析讲解。

(3) 探讨新型程序设计语言的发展趋势,讨论开发新型程序设计语言的一般过程与方法。

在实施课程教学时,采取教师讲授、学生演讲与报告、课堂讨论等各种形式的研究性教学方式。首先教师主讲先导性知识与理论基础,然后由教师指定相关文献,学生课前必须认真研读、准备课堂演讲与报告,老师和其他同学提问;学生无法回答或解释不清时,由教师进行疏导。学生准备课堂演讲与报告时,应能运用合适的研究方法,并结合具体程序设计语言进行分析与讨论。该教学方式将“学”与“教”互相融合,学生既是“学”的主体,又具有“教”的能力,即学习新知识并能清晰地讲授给别人。通过积极参与课堂讨论,学生必须积极思考教师或其他同学提出的问题,并进一步研读文献,锻炼“提问题”、“回答问题”的能力,提高做研究的素质。

下面以“过程式程序设计语言的理论基础”与“过程式程序设计语言实例”为例,简要论述“学”与“教”相结合的研究性教学方式。

(1) 由教师讲解过程式程序设计语言的基本思想、特点与理论基础。

(2) 教师指定过程式程序设计语言中相关问题的研究论文,要求学生课后进行认真阅读,并安排不同的学习小组对这些研究文章进行课堂演讲与报告。

(3) 教师与学生提出各种问题,要求作报告的同学进行回答。例如,教师让学生思考或回答“作为过程式程序设计语言的代表,C语言是如何处理控制结构、类型、存储”等问题,学生必须将所学的基础理论与C语言设计的基本思想结合起来才能回答此类问题。

类似地,教师系统地讲授各类程序设计语言的理论基础,学生结合各自程序设计语言实例进行分析与研究。通过这样的由“一般”到“具体”或“归纳”与“演绎”相结合的过程,学生不仅可以深入理解面向对象、函数、逻辑、并发等各种范型的程序设计语言的理论基础、设计思想,还可以对不同范型的程序设计语言进行系统的分析与比较。更重要的是,已知的程序设计语言上百种,课堂教学中不可能讲授所有的程序设计语言,因此上述研究性教学方式有助于学生快速掌握新型程序设计语言。

课程考核采用“课堂演讲与报告”加“课程论文”的形式,前者占40%,后者占60%。“课堂演讲与报告”布置一些经典的程序设计语言方面的研究论文,学生阅读并理解其中的关键思想,运用本课程讲授的各种计算机专业研究方法、并结合程序设计语言实例进行课堂演讲与报告,所有同学必须参与课堂讨论。“课程论文”则要求学生运用计算机专业研究方法学习和追踪某种新程序设计语言,或对当前主流程序设计语言进行评述。为了鼓励讨论,课程论文可以以研究小组为单位提交。但小组成员必须独立参加口头答辩,并说明自己在论文研究中的贡献。

不难看出,上述课程教学将计算机专业研究方法潜移默化地运用到程序设计语言的教学中。通过本课程的学习,学生不仅要掌握程序设计语言的理论基础,增强对程序设计语言的理解与应用,而且应理解如何应用各种计算机专业研究方法。

3程序设计语言实例实践性教学的改革与尝试

尽管程序设计语言的理论基础教学已经部分讲授具有代表性的程序设计语言,但是距如何熟练地运用这些程序设计语言进行编程实践还有一段距离。为此,有必要开设具体程序设计语言实例的课程教学。在本科生教学计划中,我们认为应该保留“C程序设计”课程教学。一方面,C语言在实践中有着广泛的应用;另一方面,C语言是面向对象程序设计语言C++的基础。

与程序设计语言的理论基础教学不同,“C程序设计”应侧重于实践性教学。根据北京交通大学近两年的“C程序设计”教学实践,我们发现程序设计语言实例教学存在一些不足之处:如学生对C语言的基本概念、特征与简单的数据类型掌握较好,但对指针、数组、函数等复杂概念的理解与运用有待进一步提高;如具备了一定的程序分析能力,但程序设计能力较差。以笔者任教的信息与计算科学本科生的“C程序设计”为例,本课程共32学时,其中理论教学24课时,实验教学8课时。表1总结了2008年度2007级“C程序设计”课程考察情况。本次考察由6道考题组成,题1~题6分别为概述题、填空题、选择题、程序分析题、程序填空题和程序设计题。最高分、最低分、平均分行分别给出了各道题的最高得分、最低得分和平均分。得分率的高低与学生的基础以及试题的难易程度有关。横向比较发现:题1~题3的得分率较高,表明学生基本掌握与理解C语言的基本概念;题1~题3得分率较低,表明学生对C语言的运用能力较差。

针对上述不足之处,我们进行了加强实践性教学的尝试:

(1) 引进启发式问题,增加提问,增强互动,让学生主动思考问题。例如,在讲解为何学习C语言时,提问“人们可采用哪些途径跟计算机打交道?”在讲解C语言3种控制结构时,提问“如何通过程序设计语言让计算机按照人们的想法工作?”在讲解C语言的输入输出处理时,提问“计算机怎样接受要处理的数据,怎样将计算的结果反馈给人们?”等。我们发现,学生对这些启发式问题比较感兴趣,会主动构想一些答案。

(2) 在讲授内容上遵循“抓住主干,忽略细节”的原则。理论教学课时非常有限,无法讲授C语言的全部知识点,因此要抓住重点,忽略细节。

(3) 增加例子与解析,着重提高学生的程序构造能力。通过与学生的广泛交流,我们发现学生基本可以掌握C语言的各种概念,能读懂一般难度的C程序,但是编写程序则感到棘手。编程就是将各种C语言的成分按照一定的方式组合起来解决实际问题,是一个构造性思维过程。提高程序构造能力的唯一办法是多实践,一个有效的办法是增加程序举例与解析,然后让学生模仿这些例子。

表2总结了实施上述加强实践性教学的尝试之后,笔者任教的信息与计算科学本科2009年度2008级“C程序设计”课程考察情况。本次考察由5道题组成,题1~题5分别为填空题、选择题、程序分析题、程序填空题和程序设计题。与2007级“C程序设计”课程考察相比,难度稍有增加。比较表1和表2,可以得出如下结论:

(1) 表2中,不同题之间得分率差距进一步拉大。例如,题1(填空题)得分率为85%,题5(程序设计题)为60%,表明学生较好地掌握了C语言的概念,编程能力仍然欠缺。

(2) 表2中,每道题的最高分与最低分差距进一步拉大。例如,题5的最高分为满分,最低分为3分,表明学生的编程能力差距大。

(3) 表2中,程序填空得分率较表1有大幅度的提高,但程序分析与程序设计得分率稍有下降。

从近两年来的课程考察结果看来,如何提高程序构造能力仍然是“C程序设计”课程实践性教学面临的主要问题。通过加强实践性教学的改革与尝试,学生能较好地掌握C语言的概念,但应用能力仍有待提高;另一方面,高分的学生数多了,同时低分的学生数也在增多,说明上述教学改革导致了学生对C语言的理解与应用出现了较大差距。

4结束语

程序设计语言是计算机专业本科教学计划中的一门基础课程。由于程序设计语言种类多、实践性强,如何在有限的课时内让学生系统地掌握并应用多种程序设计语言,是该类课程教学面临的一个主要挑战。为此,我们进行了拓宽程序设计语言的理论基础、强化程序设计语言运用能力的初步教学探索与尝试。在程序设计语言理论基础教学方面,我们探索了研究性教学方式,加强程序设计语言基础原理的教学,讲授多种语言之间的共性与不同点,力求举一反三。在程序设计语言实例教学方面,我们初步尝试了强化实践性教学。值得注意的是,程序设计语言的理论基础和实例教学是两门紧密配合的系列课程,应分为两个阶段实施。为配合该系列课程的有效实施,现有的教学大纲需要进一步调整课时分配,更合理地规划理论和实践教学的协同。

本文提出的教学改革与尝试有利于实现程序设计语言的系统化教学。学生具备理论基础及某种程序设计语言的编程能力后,应该有能力自学和运用其他程序设计语言这正是我们强调的可持续发展的计算机专业人才应该具备的基本素质。上述程序设计语言类课程教学改革是我们的初步尝试,需要进一步完善、检验实际效果。

注:本文得到北京交通大学计算机与信息技术学院本科教改项目“计算机专业研究方法论课程建设”(2008.9~2010.3)和北京市实验示范中心“计算机科学实践教学体系建设项目”(2008.4~2009.3)的大力支持。

参考文献:

[1] 吴鹤龄. ACM图灵奖(1966-2006)-计算机发展史的缩影[M]. 3版. 北京:高等教育出版社,2008.

[2] 蔡启先. CC2004计算机学科教程体系分析与思考[J]. 高等工程教育研究,2006(5).

[3] 吴平,黄燕,黄岚,等. 本科计算机专业课程体系改革初探[J]. 中国大学教学,2004(6).

[4] [美]Kenneth C.Louden. 程序设计语言—原理与实践[M]. 黄林鹏,毛宏燕,黄晓琴,等译. 2版. 北京:电子工业出版社,2004.

作者:孙昌爱 于双元 吴尽昭

上一篇:高星级商务型酒店营销论文下一篇:专利执法案件档案管理论文