首页 > 文章中心 > 计算机开发入门自学

计算机开发入门自学

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机开发入门自学范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

计算机开发入门自学

计算机开发入门自学范文第1篇

面向学科的计算机专业教育比较成熟。在国际上,ACM/IEEE-CS经常公布计算机学科课程设置的最新方案。我国计算机专业的教学已有近50年的历史,许多高校形成了比较成熟而完整的体系。而非计算机专业的计算机基础教育,与国外的情况相比,我们有着明显的特色,即我国有教育部的计算机教指委和“全国计算机基础教育研究会”以及各地的分会,进行计算机基础教育的研究。如何进行计算机基础教育,教育模式需要根据不同院校的特点进行分类、分层次指导。由于计算机技术发展快,实践性强,在计算机基础教育的模式上要避免应试教育的不足,强化素质教育。

应试教育模式的不足

在我国,社会对人才的需求,尤其是对高素质人才的需求,不仅仅要掌握本学科的技能,还要掌握相关的计算机应用技术。虽然我国的教育事业已经取得长足的进步和发展,但基础教育课程的设置及教育模式却被深深地打上了应试教育的烙印,课程设置的目的在于形成学生系统高深的知识体系,而忽略了实际应用能力的培养;由于学科课程长期拥有主导地位,致使教学模式比较单一,从而导致课程模式结构的失衡;长期以来,知识教育作为教育的重点,过分强调知识在教育中所占的比重,这也从某种程度上导致了学生知识与能力之间的失衡;在课程设置中,由于所谓的主要课程和次要课程之间的鸿沟长期难以填平,从而引起了学生知识结构的失衡;在课程的评估方面,长期以来是以既定课程为评估依据的,因此使整个教育、教学活动围绕着某些既定的课程而显得被动化,这一切,都明显地显示出应试教育的格局。在计算机基础教育中,计算机等级考试,就是明显带有应试教育的烙印。等级考试大纲更新慢,跟不上计算机技术发展的步伐,为了考试,学生不得不去考那些学完可能用不着的内容,甚至有的考试,要求学生熟记操作步骤,这与素质教育是背道而驰的。

就目前的就业形势来看,用人单位也要求应聘者有实际工作经验,这也显示了社会对人才实际工作能力的要求,我国的高考模式,也明显存在应试的弊端,但目前还比较难改变。前几年,在社会上曾引发关于“高分低能”问题的讨论,实际上,这体现了人们对教育模式和人才培养模式的反思,人们已经开始注意到素质教育与能力培养的重要性,同时,对教育也提出了一个严肃的话题――人才培养如何适应社会的需求。今天我们进一步考察这一问题,显然这些重知识轻能力、重共性轻个性的单一的课程模式和失衡的课程结构与素质教育的理论是相背离的,无助于21世纪人才的培养。因此,我们提出“素质教育”的口号。

立足素质教育,培养创新性人才

联合国教科文组织在1972年发表的《学会生存》,自始至终强调着培养创造性以适应生存需要的主题,该报告认为:“人是在创造活动中并通过创造活动来完善他自己的。教育既有培养创造精神的力量,也有压抑创造精神的力量,教育在这个范围内有它复杂的任务,这些任务有:保持一个人的首创精神和创造力量,传递文化而不用现有的模式去压抑他,鼓励他发挥天才能力和个人表达方式,而不助长他的个人主义,密切注意个人的积极性和独特性而不忽视创造也是一种集体活动。”这里提出了多种素质潜能应全面而和谐地发展,其别强调了创造性的重要作用。

美国在1989年发表《普及科学――美国2061计划》,提出教育改革着眼于提高国民素质。日本政府在1982年就提出创造力开发是迈向21世纪的保证。

1996年,国际21世纪委员会的报告《教育――财富蕴藏其中》进一步指出:“教育的任务毫无例外地使所有人的创造才能和创造潜能都能结出丰硕的果实。”

由此可见,国际社会,尤其是技术先进的国家,早已开始注重素质教育和创新教育。在我国,随着科学技术的发展,对人才的培养提出了新的要求,并把素质教育作为国家竞争力可持续发展的战略之一。

国际社会意识到人才的素质将直接影响到社会生产力的发展和人类的进步,社会的发展,科技的进步,呼唤高素质人才的培养,只有进行素质教育,才能满足社会对人才的需求。素质教育向应试教育的挑战,决不是原有教育方式的改良和修改,它要求我们重新认识教育在社会中的地位、作用和价值,重新确立教育目标、构建新型的课堂教育模式,改革教育内容和教育手段,更新建立教育督导评估体系,大力调整教育结构。

高等院校在培养高素质创新性人才方面,肩负着历史的重任。一流人才的培养,在当今的信息时代,需要的不仅是具有扎实的相关专业的基础,更需要他们掌握必要的计算机工具,这是信息时代社会对人才素质的基本要求之一。我们的目标是培养创造性人才,但创造性人才并不意味着要开发出什么产品或是发明创造。创造性从某种意义上说,认为是一种能力和素质,它表现在能够进行创造性的工作。因此,就人才培养来说,就要处理好培养“创造性人才”和培养“应用性人才”的关系。

考察计算机技术应用成果发展的历程,大量计算机应用领域的创新来自于非计算机专业人才的工作,单纯的计算机专业人才有时候并不能很好地适应某些工作,相反,非计算机专业的人才,在学习必要的计算机应用技术并打下必要的计算机应用基础后,就可以把计算机专业的知识应用到相关的领域,从而做出开创性的工作。因此,对于计算机基础教育的内容和方法,在人才培养的定位上和相关课程的设置以及学习方面的引导上,就必须根据计算机发展的特点,从素质教育的理念出发,不断进行计算机基础教学改革的探讨与实践,以推进素质教育与人才培养的有机结合。

目前计算机基础课的教学模式

目前高校非计算机专业学生的计算机能力的培养,可以分为三个层面:即属于共性要求的基本操作能力、综合运用所学的信息技术知识有效地处理本专业的任务的应用开发能力和研究创新能力。因此,根据不同学科的特点以及针对人才的不同培养方向,并结合个人兴趣,学校在计算机类的课程设置及教学模式方面必须根据计算机技术发展的特点及时作动态调整。

下面讨论部分课程的建设及教学模式的不足。

1.大学入门信息基础教育

由于近几年中小学信息技术的开始普及,大学计算机教育不再是零起点,于是对大学计算机基础教育提出更高的要求。对大学入学新生进行计算机考试分类,开展分类教学,取得很好的教学效果。

大学入门信息基础教育(这门课程名称不统一,有的称为“计算机文化基础”,有的称为“大学计算机基础”,实际上就是一个入门信息基础课程),是以计算机基础知识为主体的计算机应用基础入门教育,对这一层次课程的定位在于让学生能够掌握必备的基础知识。内容包括计算机的基本组成和计算机系统的基本知识、常用应用软件的使用、图形编辑与处理、互联网的基本知识、网页制作及其应用等。通过第一部分内容的学习,使学生能够掌握计算机的基本技能。从教学情况来看,由于中小学信息技术基础课程的普及情况不完全同步,在入学之前,有的学生已经接触过计算机,有的还缺少对计算机的基本认识,这就对教学提出了一个问题,如何根据不同情况的学生进行教学,从而能最大限度地满足学生掌握知识的要求;对于已经对计算机有所了解,并学有余力的学生,如何在现有规划内容的基础上进一步拓宽学生的知识面,这一层次的授课面有一个特点,那就是不论何专业的学生,这些内容都是必须掌握的,因此,对不同的系和专业,借鉴国外的相关课程的教学实践,可以把这一部分的课程内容制作成基于Web的网上教学资源,使学生能够在教师的指导下自学这一部分的内容,或在教师/助教的指导下进行相关的实践。考试以实践制作成果进行考核。但在这一门课程的考试上,部分地方存在着让学生死记硬背操作步骤这种纸介质考试,这是严重背离素质教育理念的。在这个方面,英国剑桥大学的经验值得 借鉴。

2.计算机程序设计基础课程

计算机程序设计基础课程,对非计算机专业理工科学生来说,是一门非常重要的计算机应用技术基础课程,该课程将能很好地训练学生分析问题和解决问题的能力,培养学生编程开发和应用能力,计算机编码能力、程序设计能力、逻辑思维能力以及应用计算机技术解决本学科问题或创新性解决本学科问题的能力。

如何进行这门课程的建设,大家也在进行着不同的思考。这门课程对理工科学生有较高要求,而对文史哲农医类学生则可以根据实际情况制定教学要求。在这部分的教学过程中,课程内容应该与学生的专业特点、个人兴趣及社会的需求有机地集合起来,这样能最大限度地发挥学生的主观能动性,带来较好的教学效果。

但这门课程的教学过程驱动有两种,一种是语法驱动,另一种是应用案例驱动。语法驱动,实际上是定位在产品培训上。而不是定为在程序设计的体系与方法上。实践表明,实施语法驱动教学法后,学生仍然掌握不好语法,对于较大的应用,设计不出较好的软件构架。但由于存在的某些考试方式,又使得语法教学能满足考试的需求,虽然考试成绩与实际能力相差甚远,但应试教育的阴影使得部分地方的程序设计课程带上了应试教育的色彩。

深入分析培养目标,我们认为,这门课程应该用案例驱动进行教学,语法内容知识作为入门阶段进行简要介绍,然后在案例教学中去体会语法结构的应用,这样更能深入掌握程序设计与实现的内涵。而考试方式,完全可以通过学生的项目训练来完成,不一定要用纸介质的试卷,或者可以用30%的纸介质试卷成绩+70%的项目训练作为总成绩,这样更能体现能力的培养。

此外,应用环境的落后,也是这门课程建设中存在的问题。调查结果表明,部分院校由于受等级考试的影响,教学使用的编译环境不得不使用10年前16位的TC编译环境,这与时代的发展极不相衬。

为进一步发挥学生的潜能,在课外的辅导中,我们注重学生的开发能力、系统化的分析能力、应用能力的培养。

3.公共选修课的建设

为了体现个性化素质和能力的发展,在后续课程中,可以建立公共选修课课程群。比如开设数据库技术基础、操作系统原理、VC++面向对象程序设计、网络技术基础等课程。

我们调查了部分学校,认为清华大学等兄弟院校在这个方面可作为很好的示范。从教学的情况来看,选修课也应注重提炼基础性的内容,使学生对基础性的内容学得比较扎实。在这些课程的教学过程中,应该以培养学生的综合应用能力为出发点,课堂用例及作业大都以综合应用型的题目为主,这类的作业有助于提高学生的学习能力和综合应用所学知识的能力。

构建选修课构架,目标定位于培养多种模式的复合型创新性人才。开设不同的选修课,可以使学生根据自己的兴趣进行相关课程的学习,这样可以避免同一模式的知识结构,充分发挥学生的主观能动性,展现学生的个性,培养其创造性。

结语

从目前的调查结果来看,普遍认为在教师指导下的学生自学及对不同程度的学生可以超课程要求进行因材施教的教学模式,比较适合学生能力的培养与素质的提高。实施分类分层次教育,从而达到多模式个性化培养、进一步开发学生的潜能、进一步培养学生的综合能力、分析问题和解决问题能力的目的。

计算机开发入门自学范文第2篇

关键词:C语言;程序设计;经典教材;计算机教育

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

1引言

只要人们提到学习C语言,都会不由自主地和谭浩强三个字联系在一起,特别是20世纪80年代以后的学生,都是在谭老师的《BASIC程序设计》、《FORTRAN语言》、《C程序设计》的指引下走过来的。特别是20世纪的90年代中后期,全国非计算机专业学生的计算机应用能力等级考试,将C语言纳入到考试的范畴,C语言便进入大学计算机公共基础课的讲堂,谭老师的《C程序设计》因为系统性强、通俗易懂、例题丰富,并且实用性强,很适合初学者,瞬时风靡各大高校,成为许多理工科专业学生书包中的必备书籍。多年的一线教学体会,我始终推荐该书为使用教材或主要参考书。

2适用各类学习对象

笔者从20世纪90年代中期开始讲授C语言,至今已有15年,授课对象有计算机专业和非计算机专业的学生,也有大专生和社会上成人教育的函授学员,使用的教材主要是谭老师的《C程序设计》,从第一版到第二版、第三版,同学们都觉得这本书好,从没有学生对选用这本教材提出异议。事实上,国内许多高校的非计算机专业用谭老师的书作为“C语言程序设计”课的教材,而且许多高校的计算机专业同样也用谭教授的书作为“C语言程序设计”课的教材,自学C语言程序设计的读者更是不约而同地选择谭教授的书作为叩开C语言大门的入门书。

最初学习C语言的主要是计算机专业学生,而且大都是作为第二语言开设的,后来才逐渐演变成作为第一语言,而部分非计算机专业的学生也有这种历程。当C语言作为第一语言开设后,《C程序设计》的第二版便增加了“算法”,并安排在第二章(C语言概述之后),使学生首先掌握常用算法(如求一批数的累加和、累乘积,判断某年是否为闰年,判断一个大于等于3的正整数是否为素数等算法)的编程思想,而后再讲解具体的语法定义、规则,以及算法的具体实现,将程序语言的讲解与算法的分析有机地结合起来,同时知识的讲解有螺旋式上升的趋势,非常符合初学者的认知规律,受到各种学习对象的欢迎。记得有一年上成教的课,当时成教教材管理部门选用了其他教材并发给了学生,笔者在第一次上课时便将谭老师的《C程序设计》作为主要的参考书推荐给了学生。上了两次课后,许多同学反映:“老师,我们这本教材没有谭浩强那本讲得清楚”,笔者后来向成教学院的有关人员提出下一届更换教材的建议,以后使用的教材都是谭老师的《C程序设计》这本教材。

3内容全面、结构清晰

《C程序设计》一书涵盖了程序设计基础知识和C语言程序设计的全部内容,并介绍了大量常用算法。在C语言中,数据类型丰富,运算符也比较多,程序设计自由度大,这些都给初学者带来了较大的学习难度。本书从C语言的结构开始,从最简单的输出“This is a C program.”、“求两数之和”、“求两个数中最大者”实例出发,将基本的程序结构中应至少有一个输出、最简单的变量定义和使用、C程序是由函数构成的知识点讲解得非常清晰,只要懂点英文,就能读懂程序。进而介绍具体的数据类型、运算符、表达式、基本的输入输出函数,使初学者很快就能编写出比较简单的程序,看到自己的学习效果,很有成就感。而后开始介绍稍复杂的程序结构(选择结构、循环结构)和数据类型(数组),并结合图例讲解和实现常用的算法。在函数一章通过利用前面的讲过的实例复习已学的知识点,同时也降低了学习函数的难度。在读者会编写基本的C程序后,才开始介绍C语言的特色部分,如编译预处理、指针、结构体、共同体、位运算文件等,将C语言程序设计的知识点全部展开,难度逐渐地增加,而没有采取在讲解函数之前先讲解指针的做法。这种循序渐进、螺旋式的教学内容安排非常符合认知规律。

4深入浅出、讲解透彻

大学教材是供人们使用的,它既用于老师教,又供学生自学,也可作为有关人员的参考用书。它不但要强调基础知识和系统的完整性,而且也能使人通过自学就可能进入一个新的发展领域。这就要求一本好的教材既要内容完整,同时又必须能够做到深入浅出,讲解透彻。《C程序设计》一书各个章节的编写通过提出问题、分析问题、解决问题,然后再归纳总结的方法,将复杂难懂的抽象概念与实际应用实例结合,与形象的比喻科学地结合,使其变得容易理解,并与计算机的基础知识相结合。如在讲解递归算法时先用求人的年龄问题来讲解递推和回归的过程,而后才讲解经典的汉诺塔问题,同时给出了详尽的数学公式推导过程,并配以图例说明。又如在介绍指针概念中“间接访问”一词时,使用了生动的比喻:“为安全起见,将A钥匙放到另一抽屉B中锁起来,若果需要打开A抽屉,就需要先找出B钥匙,打开B抽屉,取出A钥匙,再打开A抽屉,取出A抽屉中之物,这就是‘间接访问’。”这使读者不仅理解了“间接访问”概念,也加深了对指针概念的理解。再如在介绍变量的存储类型时、介绍指针时都对计算机的存储管理作了清楚的论述。

该书的内容重点突出,难点分散,对C语言中最基本和常用的部分进行了详细的分析和讲解,凡是涉及的内容,都讲得非常透彻、详尽。

5例题难易适度、习题丰富、教学资料齐全

多年的课堂教学过程中,总能体会到本书中例题和习题选择的难度非常适宜,如讲解循环结构时选用计算“1+2+…+100”作为入门的例题,习题中便有计算“1!+2!+…+ 20!”之和,既有相似之处又有新旧知识(循环结构的使用和前面介绍的数据类型及其表示范围)的结合。另外本书通过丰富的习题来丰富常用的实用算法。如在循环一章的习题中将迭代法和二分法引入,通过求方程的根来理解其算法含义和实现过程,在数组一章的习题中引入了“筛选法”、“选择排序法”、“杨辉三角形”等。

计算机程序设计是一门实践性很强的课程,学习时不仅仅需要选择合适的例题,还需要编写足够代码量的程序,仅靠阅读教教材或听课是不可能掌握编程技能的。总有人抱怨说:“课堂上听得很明白,就是课下编程困难”,而学习程序设计最重要的环节就是实践。《C程序设计》一书中每章都附有大量的各种类型习题,并且有配套的习题解答,这不仅有利于学生开阔视野,丰富知识,而且有益于复习、巩固、加深理解和掌握课上所学的知识,提高他们的学习兴趣,培养自学能力,也便于教师设计实验课的教学内容。近年来谭老师讲授《C程序设计》的教学录像也已成为很多教师讲课前的观摩学习课程。

6强调应用意识和应用技能

教材要起一种引导作用,要强调应用意识和应用技巧,应特别注意学科间的联系。《C程序设计》一书将实际生活中数学问题的解决算法、工程应用的常用数值分析方法均作为本书的实例和习题,这不仅有助于培养学生的逻辑思维,而且也有助于学生分析问题和解决问题的应用能力。正因如此,初学程序设计的学生可以达到熟练运用C语言进行小规模应用开发的能力,许多非计算机专业的人士通过自学这本教材,打下了程序设计的基础,后来便使用C语言开发出本专业的应用软件。

7结论

大学教材非常重要。谭老师为人们写下了诸如《BASIC语言》、《FORTRAN语言》、《C程序设计》等深受广大教师和学生欢迎的经典之作。谭老师的《C程序设计》一书对我国普及C语言程序设计起了很大的推动作用,他为计算机教育的普及不懈地努力,取得了巨大的成就,功不可没,真正做到了“桃李满天下”。

参考文献:

计算机开发入门自学范文第3篇

关键词:中医基础理论;MCAI;教学软件;开发

随着我国教学改革的深入发展,利用多种现代化设备,多方式、多渠道地向学生传授知识技能,缩短学时,提高教学质量,己成为当前教学改革面临的重要课题[1]。把MCAI引进课堂教学之中,是教学科学化和现代化的重要环节。MCAI(Multimedia Computer_assisted Instruction)是指以计算机为重要教学媒介所进行的教学活动。具有单位时间内信息量大、形式活泼多样、题材丰富形象、容易激发学生的学习兴趣,以及便于学生课后复习、查询、自测等优势[2]。Authorware是目前最好的制作CAI课件的软件,具有很好的组合性。能把文本、图像、影视、动画、解说等教学素材以及运用flash和powerpoint制作的课件有机地组合在一起。因此,本课题组开发《中医基础理论》MCAI软件以Authorware为主。

一、《中医基础理论》教学软件开发的意义

《中医基础理论》是中医学的主干和入门课程,在中医教学中占重要地位[3]。但是它的知识纷繁杂乱,思维抽象,且好多内容都是直接以结论的形式呈现。学生在高中以前接受的是数理思维,则入大学接触《中医基础理论》课程,往往对传统中医思维及表达方式不习惯,并对其科学性与使用有效性存有疑虑。而传统的中医基础理论教学模式和方法过于注重教师的讲授、灌输,忽视了学生的主动思考、主观体验,也忽视了素质教育中最重要的探究能力、创新精神的培养。这些问题直接削弱学生学习的动力[4],使教和学都出现了不同程度的困难。

为了解决上述问题,我们通过精心设计和编排,以Authorware7.0软件为主,结合其它图片、声频、视频、动画等制作软件把相关内容制成MCAI软件应用于中医基础理论教学中,保证了《中医基础理论》教学内容标准化。使传统的教师讲学生听的教学组织形式发生了根本变化,学生可以根据自己的需要,随时或反复利用MCAI软件自学。从而达到掌握先进教学方法,培养学生能力,为提高《中医基础理论》教学质量和效率,摸索出一套行之有效的计算机辅助教学模式。同时,由于多媒体课件的制作,需要大量的时间收集素材资料,需要大量的时间设计制作,也需要具备整体设计创意的素质,因而《中医基础理论》MCAI软件的开发可以为其它中医课程的多媒体教学提供借鉴,为新教师提供多媒教学课件范例。尤其是西医各专业的《中医学》,因大部份内容与《中医基础理论》相同,如“阴阳五行”、“脏象”、“经络”、“体质”、“病因病机”、“防治原则”等,按《中医学》教学大纲的要求,作适当修改就可以用于《中医学》的教学。

二、必要的前期准备工作

前期准备工作非常必要,只有做好各项准备,制作出来的软件才能更适应《中医基础理论》的教学。前期准备工作主要包括以下几个方面:

1、课程建设。在开发《中医基础理论》MCAI软件之前,我们认真研究教学法,多次组织教育教学思想讨论,发表有关教学论文数篇,并已建设《中医基础理论》的精品课程、网络课程建设、试题库等。

2、提高计算机应用水平。可以通过参加多媒体教学学习班和自学等形式。尤其是Authorwere和Flash等软件,具有一定的难度,因此需要不断学习和积累经验。我们还通过参加省多媒体教材比赛积累了丰富的经验。

3、资料收集。包括各版《中医基础理论》教材,相关的参考资料(包括中基教学参考书、MCAI软件研发相关资料等),更重要的是与教学内容相关的图片、图表、视频、动画等。

4、源程序的制作。在开发《中医基础理论》MCAI软件之前,先用Authorwere7.0或FlashMX制作各章节的多媒体教学课件测试题(有时间限制,测试完毕自动显示成绩并保存),运用于教学中并收集师生的反馈意见进行合理修改。

三、开发思路

我们的思路有四个方面:

1、如何把中医基础理论相关知识融合在MCAI软件中,充分发挥其优势和科学性,以更适宜学生自学。我们对近三年来中医基础理论新的教学改革观点和MCAI软件制作新动向和趋势等资料进行详细的整理、归纳、提炼,为软件的开发打下良好的基础。

2、在现有多种测试题课件源程序的基础上,探讨如何开发综合测试、考核系统。可以吸取执业医师考试和职称考试的经验,结合《中医基础理论》性质和大一学生的特点进行研究。

3、探讨MCAI软件如何与中医基础理论教学过程恰当地结合。依据教育心理学原理来创设良好的氛围,处理好“主导”、“主体”、“工具”的关系,使学生真正成为知识的主动建构者;依据合理的教学价值取向,灵活有效地选择使用MCAI软件来优化教学过程,达到培养学生具有良好的中医信息素养、具有终身学习的态度和能力、具有解决问题的意识和创造性思维的能力的目的。

4、剖析MCAI使用中存在的问题,总结使用MCAI软件应注息和遵循的原则、使用策略等,进而达到培养学生能力,提高教学质量,摸索出一套行之有效的计算机辅助教学模式。

多媒体教学有诸多优势,但并非尽善尽美。下一步我们将对传统教学模式和MCAI软件教学模式进行比较、研究,以开发出更科学的教学软件。

参考文献

[1] 刘甘娜.多媒体应用基础[M].北京:高等教育出版社,1999.

[2] 胡霞.中医基础理论多媒体MCAI的应用评价及前景展望[J].中医基础理论教学.2002.12.

计算机开发入门自学范文第4篇

摘要:计算机应用能力的培养以程序设计为主线,使学生掌握基于计算机的问题求解策略和基本的程序设计方法,深入理解计算机系统。本文分析了机器人平台在计算机基础课程中的适用性,叙述了如何在计算机基础课程中利用LEGO机器人和Robot C编程语言辅助程序设计入门教学。

关键词:Lego Mindstorms;程序设计;机器人

中图分类号:G642

文献标识码:B

1介绍

国防科技大学的所有学生在入学后都要求学习完成“大学计算机基础”、“程序设计基础”等公共基础课程。计算机公共基础课程的目标是介绍计算机和信息技术的概念,讲授利用计算机进行问题求解的方法。在武器装备中,高科技含量越来越高,作为未来的军队指挥员,学生必须理解所使用的计算机设备的长处和弱点,只有深入理解计算机系统的工作原理,才能在战场上最大性能地发挥它们的作用。计算机基础教育强调应培养学生适应未来技术发展的能力,利用应用问题培养学生独立思考与合作解决问题的能力,使学生成为终身的计算学习者。大部分学生在学完公共基础课程这两门课后可能不再学习计算机类的课程,这两门课要为学生继续学习(主要是自学)打下扎实的基础,以便在指挥员岗位上尽快适应部队数字化建设和数字化战场环境的需要。

最近的研究表明,使用机器人作为教学工具可以帮助理解计算机类课程的基本抽象概念。特别地,Kumar和Meeden指出在本科课程中使用HandyBoard 和LEGO积木作为实验教学基础是可行的。从1990年起,一些本科的计算机科学和计算机工程项目开始启动,用来建立机器人实验室辅助教学,或基于HandyBoard/LEGO或基于Mobile Robot平台。

1996年LEGO公司了Mindstorms机器人开发和编程工具包。由于与HandyBoard设计相关,Mindstorms平台最初并不适用于高等教育。那时的SIGCSE(美国计算机协会计算科学教育专业组)和ITiCSE文献中同样缺乏对Mindstorm是否支持计算机教育的研究。造成这种情况的原因是LEGO机器人缺乏与高等教育相当的程序设计环境,缺乏对大学水平的程序设计语言C或Java的支持。然而,在过去十几年来,Mindstorms使用者群体日益壮大和活跃,他们完成了相当多的工作,如为C和Java开发程序设计环境,使上面提到的缺点得到了有效的改善,越来越多的高校选用低价的LEGO机器人作为教学平台:

(1) 西点军校在“信息技术和程序设计”基础课程CS105中利用LEGO Mindstorm 机器人作为学员主动学习环境中的重要组成;

(2) 加州州立大学在课程CECS174中使用物理模型来加深学生对问题求解概念和程序设计结构的理解,使用LEGO机器人作为教学实验平台;

(3) 麻省理工学院电子技术和计算机科学系特别开设了6.270自主机器人设计课程,学生在该课程中通过搭建物理模型并编程控制它,最终以比赛的形式完成实验;

(4) 卡耐基梅隆大学作为第三方开发了Robot C程序设计环境,Robot C已成为LEGO机器人最流行的程序设计语言之一。

到2006年LEGO公司Mindstorms NXT机器人套装时,机器人在计算机教育中的作用已得到普遍认同。本文主要介绍作者在“大学计算机基础”课程中使用LEGO机器人的教学经验。

2 “大学计算机基础”课程组织

“大学计算机基础”包括计算机基本知识和基本操作两个部分,要求学生熟练掌握计算机的使用,培养计算机应用能力。

本年度我们选择两个教学班实施双语教学,教材选用《New Perspectives on Computer Concepts》第十版,课程安排如下:

实践教学环节是这门课程成败的关键,学生编程能力培养必须在实践中进行,同时在实践中检验,而这种能力的获得正是课程教学的主要目的。本学期实施的大多数实验由外版教材提供,外版教材自带的光盘同时提供了软件,可以对学生的实验和作业情况进行跟踪,使教师能够清楚了解每个学生对学习内容的掌握情况,提供工具对所有实验和作业情况进行统计分析。

3基于LEGO 机器人的程序设计教与学

依据国防科技大学2006年修订的“大学计算机基础”课程标准,程序设计部分的教学要求如下:

(1) 计算机程序基本概念:了解计算机程序的概念和功能,理解程序控制概念;

(2) 计算机程序表示:理解计算机程序设计语言、程序编译的基本概念;

(3) 程序设计的一般过程:了解计算机程序设计的一般过程;

(4) 软件开发的一般方法:理解软件的基本概念,了解软件生存周期的概念及软件的开发方法。

虽然程序设计在“大学计算机基础”中所占学时并不多,我们依然决定依托人工智能实验室建设购置的60套Lego Mindstorms NXT和RobotC程序设计语言来设计整个程序设计入门的教学过程,让学生通过搭建实实在在的物理模型并编程控制它的运动,来加深学生对计算机工作原理的理解。

3.1LEGO Mindstorms NXT

通过机器人的运动来理解程序和程序设计是感性记忆与理性理解的结合,能够使学生更快的掌握程序设计的精髓,达到教学目的。LEGO Mindstorms NXT 9797机器人套装售价不超过250美元,已被欧美一流高校普遍使用于计算机基础教育、人工智能教育中。

LEGO NXT机器人硬件是由NXT 32位控制器、马达、传感器等组成。套装中包括两个碰触传感器、一个超声波传感器、一个光电传感器和一个声音传感器,马达中内置了角度传感器,如图1所示。

图1 LEGO Mindstorms NXT、传感器及学生搭建的部分模型

LEGO机器人由于平台的开放性拥有庞大用户群,软件开发环境丰富,几乎支持所有主流的程序设计语言。常用的语言编译环境包括Robolab、微软的Microsoft Robotics Studio、leJOS NXJ (Java)、NXC、Robot C,比较之后我们选择了由卡耐基梅隆大学开发的Robot C,理由如下:

(1)Robot C是一种基于C语言的机器人开发环境,而国防科技大学的程序设计基础课程是基于C的,保证了教学的连贯性,这一点对于大一的新生来讲相当重要;

(2)Robot C拥有编写和调试程序的所有功能,有成熟

的机器人程序设计调试工具;

(3) 同其他几种流行的机器人语言相比,Robot C是效率最高的一种语言,并且具备功能齐全、界面简洁实用等优点。

3.2课堂教学

在“大学计算机基础”课程教学中使用LEGO机器人始于2006年,由于数量有限,只用于课堂演示。

依据课程标准,课堂讲授的主要内容如下:

(1) 程序和程序设计的基本概念:什么是程序,程序设计和程序设计语言,以最简单的机器人程序讲述程序设计的一般过程;

图2 2006年课堂演示部分幻灯片(编程语言是NQC)

计算机开发入门自学范文第5篇

关键词:计算机组成原理;教学改革;EDA;Moodle

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)16-0197-02

计算机组成原理是计算机类各专业的主干课程之一,在整个计算机系统体系结构中起到承上启下的作用。自2008年起列为硕士研究生入学专业课综合考试,全国统一命题重点课程,各高校对该课程都十分重视,相关专业都列入强化建设的重点课程[1]。

一、计算机组成原理教学现状分析

目前,计算机组成原理教学中存在着较多的问题。许多计算机专业的学生,特别是非重点本科院校的学生,常常具有“喜软怕硬”的特点。特别是有些院校在专业课程的设置上也“重软轻硬”。究其原因,主要是由以下几方面造成的。

1.该门课程自身的特点。计算机组成原理是一门承上启下的课程,其涵盖的知识面很宽、跨度大、教学内容多,并且较多概念和实现的方法具有一定的抽象性,学生理解起来具有一定的难度[2]。同时,课程中与硬件有关的许多理论知识只有通过实验环节才能加深理解。但很多高校由于学时有限,没有开设实验,学生无法通过实验环节进一步加深理解。因而,学生很可能因为部分概念和原理无法清晰的掌握,而失去继续学习的兴趣和动力。反之,上层软件开发由于与实际应用挂钩、操作多于理论、学生因易上手更能获得成就感等原因,更能吸引学生的兴趣。

2.实验环节的问题。传统的计算机组成原理的实验课程是基于X86的实验箱,采用连线的方式进行。该方式需要学生采用汇编语言进行程序设计,并在试验箱上完成大量的连接线操作。这种方式面临的问题是:首先,由于学时的原因,学生可能并没有学习过汇编语言;第二,实验箱的电路由通用集成电路组成,与理论教学中使用的电路并不能直接的对应上;第三,在实验过程中,实验箱上的连线经常接触不良,指导教师和学生不得不将大量的时间耗费在连接线的操作上。另外,实验箱的功能难以扩展,实验内容相对比较固定,主要是验证性实验,无法进行有创意的或综合性较强的设计性实验。这些问题导致学生无法真正通过实验环节加深理论知识的理解,而只是机械的按照操作步骤完成程序的录入或连接线的接入,更难以充分调动学生的创新意识。

3.社会需求的导向。目前,“互联网+”时代正在来临。这是一种利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合的经济发展新形态。这种融合的模式使得不同行业的许多企业加大了对计算机人才的需求,相应的增加了许多计算机相关岗位。但目前,大部分这种与互联网融合的模式还停留在不是很深入的层面,这些岗位的需求也主要集中在Java、.net、PHP、Python以及其他上层开发软件研发人员上。这样为了更好的就业,学生在学习上必然重视与应用软件相关的课程,而忽视抽象的计算机专业基础类课程。同理,某些计算机院系在课程设置上也大量增加此类课程的学时,而削减专业基础相关课程的学时。

4.学生的学习的主观能动性不足。由于高校招生规模不断扩大,很多高校的教学与管理资源不足,再加上游戏机、电脑、手机等电子产品的冲击,学生学习的主动性和积极性整体下滑是不争的事实,尤其是非重点二本院校。此类高校有相当数量的学生的第一志愿可能并不是计算机专业,他们的专业兴趣不浓,毕业后也不想从事本专业相关的工作,读大学可能只是想获得本科文凭。因此,这部分学生在遇到计算机组成原理这类比较抽象的课程时,学习过程中稍稍遇到挫折,便可能选择放弃。

二、计算机组成原理课程建设的必要性

虽然存在着以上诸多问题,但因此就减少该门课程的学时或者是放弃该门课程,而加大应用软件的学时,对计算机专业来说就显得本末倒置了。我们认为为了培养出高层次的计算机人才,加强计算机组成原理课程的建设是有必要的。

1.知识环节的衔接的需要。计算机组成原理虽然属于硬件类课程,但其在计算机的软硬件课程之间起承上启下的作用[3]。因此具有良好的计算机组成原理基础,对操作系统、数据结构、C程序设计等软件类课程的有关知识点的理解具有极大的帮助作用。毕竟硬件是软件运行的立足点,数据结构、操作系统等课程中许多难以理解的行为都是与计算机硬件行为息息相关的。

2.应对竞争的需要。目前虽然企业对计算机专业人才的需求较大,但计算机专业的学生面临的竞争还是比较激烈。由于上层软件开发的门槛较低、上手较快,很多相近专业或其他专业的学生通过自学或者是培训班培训就可以应聘这些岗位。再则,上层软件开发具有很强的应用背景,需要开发人员具有较强的专业知识,很多时候非计算机专业的学生在具有一定的编程能力后可能还更加具有竞争力。对计算机专业的学生来说,要在竞争中处于优势,没有扎实的计算机基础,单单只是对某些开发软件的入门、编程工具的熟悉是不行的。一个优秀的程序设计人员,应该能够将计算机组成原理、操作系统、数据结构、编译原理等课程融会贯通。只有这样,计算机专业的学生才能成为高层次的计算机人才,在竞争中才具有优势。

3.更好的把握就业机会的需要。目前不仅仅是“互联网+”技术蓬勃发展,与之密切相关的物联网、可穿戴计算机、智能家居、智能硬件等新技术发展势头也非常迅猛,与这些技术相关的工作岗位也非常多。而这些技术更加偏向于底层,需要从业人员具有良好的计算机组成、操作系统、嵌入式技术、数据结构以及程序开发基础,而这正应该是计算机专业学生具有的优势。

三、对改革的一些思考

对如何提高学生学习的主动性,我们有如下一些思考。

1.加大对电子课件的研制与投入。计算机组成原理课程没有太多的数学公式的推导,学生学习的难度按理本不应该太大。但用语言或者文字的方法来描述计算机的行为显得过于抽象,从而导致学生理解起来非常吃力。而图像、动画等表现形式往往能使学生茅塞顿开,帮助其对相应知识点的理解。因而,在教学构成中采用图像和动画等表现形式是很有必要的。目前,一些较经典的计算机组成原理的教材的电子课件已经做得很好,很多高校均直接无修改的应用于教学。这些课件已经包含了动画设计,但这些动画主要还是采用PowerPoint进行设计,在一些知识点的展示上还不够具体和形象。因此,对一些难以讲诉的难点、重点,教学单位应该投入时间和精力,采用Flash等方式设计更加形象生动的动画来进行知识点的展示。

2.基于Moodle的教学方式。由于课时有限的原因,学生在课堂中无法完全理解所教授内容,必然要用大量的时间在课外进行课程的学习。如何有效的利用课外时间进行学习,就成了教学中一个非常重要的环节。Moodle(Modular Object-Oriented Dynamic Learning Environment),是一套基于“社会建构主义理论”设计开发的开放源代码的网络教学平台,在网络教学中正得到广泛运用[4]。任课教师可以通过该网络教学平台,构建教学资源库,以提供给学生进行自行学习;同时,还可以构建测试平台,帮助学生对学习情况进行自我评价;特别的,我们可以通过添加讨论、聊天、投票等活动的方式,在教师和学生之间搭建一个交流平台。这种基于Moodle的教学方式能够不受时间、空间的限制,推动学生自主学习,增强了学生的参与意识,能激发学生学习兴趣[5]。

3.实验教学的改革。EDA技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,用软件的方式自动完成硬件系统设计的一门新技术[3]。应用该技术可以在行为层对数字电路进行描述,而使数字系统的设计变得更加容易。因此将其应用在计算机组成原理实践课是可行的。国内外不少高校均开始将EDA技术应用到计算机组成原理教学中[6]。这些高校一般也购置了EDA实验箱,并开设了EDA技术课程,讲授HDL以及FPGA/CPLD相关知识,而在该课程实验中设计的锁存器、存储器、加法器、乘法器、CPU等模块均可以应用到组成原理的实验中。因此,整个组成原理课程的实验都可以基于HDL+FPGA的模式来完成。这种实验模式能加强学生对计算机各个部件实现的原理,各个部件间地址、数据、控制信息的实现和传输等知识环节的理解,让学生能从整机系统上掌握计算机的组成和模型机的设计。

综上所述,为了培养出更加符合计算机专业特色、满足市场对计算机人才需求的专业人才,我们应该加大计算机组成原理课程的建设。在课程表述方式、教学模式与技术手段以及实验方法等各个方面均要结合实际进行有针对性的改革和探索,同时在教学管理上也应投入更多的精力,力争更大程度的激发学生的学习兴趣,调动学生学习的主观能动性,让该门课程真正在学生的知识结构上起到承上启下的作用。

参考文献:

[1]时海亮.关于计算机组成原理实验课安排的研讨[J].电子设计工程,2012,20(9):11-13.

[2]王庆香,蔡逸仪,等.“计算机组成原理”实践教学的新方法探索[J].实验室研究与探索,2007,26(12):361-363.

[3]潘松,潘明.现代计算机组成原理[M].北京:科学出版社,2007.

[4]邓国民.基于Moodle的《现代教育技术》网络课程的开发和应用[D].成都:四川师范大学,2008.