首页范文大全计算机学科的根本问题十篇计算机学科的根本问题十篇

计算机学科的根本问题十篇

发布时间:2024-04-25 19:57:45

计算机学科的根本问题篇1

【关键词】计算机基础;教学方案;计算思维

1.计算思维简介

随着计算机科学的迅速发展,计算思维作为问题求解、系统设计和人类行为理解的一种思维方式受到广泛关注。计算思维(Computationalthinking)是由美国卡内基・梅隆大学计算机科学系主任周以真(Jeannettem.wing)教授在2006年3月在美国计算机权威期刊《CommunicationsoftheaCm》杂志上给出和定义。

国际21世纪教育委员会向联合国教科文组织提交的报告中指出,教育应围绕四种基本学习加以安排:一是学会认知,即学会学习;二是学会做事;三是学会共同生活;四是学会生存。从计算机基础教学能力培养目标看,涉及计算机学科专业能力的是:对计算机的认知能力和应用计算机的问题求解能力。这两方面的能力恰好反映了计算思维的两个核心要素:计算环境和问题求解。

2.计算机基础教学的基本定位

计算机基础教学不仅要培养学生对计算环境的认识,更重要的应该培养学生掌握在计算环境下的问题求解方法,这是今后学生应用计算机技术解决专业问题的重要基础。另外,计算思维能力的培养还展现了计算机学科独特的思维方式,为将来创新性地解决专业问题奠定基础。以计算思维能力培养作为计算机基础教学的核心任务,不仅紧紧围绕现有计算机基础教学的根本任务和核心知识内容,而且反映了计算机学科的本质,也体现了通识教育应有的特征。显然,这样的教学定位,不仅摆脱了以“操作技能”培养学生计算机能力造成的“危机”,也更好地诠释了课程建设的目标,更好地体现了计算机基础课程的基础特征。

计算机基础教学在实现大学教育目标方面起着非常重要的作用。表现在:计算机不仅为解决专业领域问题提供有效的方法和手段,而且提供了一种独特的处理问题的思维方式;计算机及互联网有了极其丰富的信息和知识资源,为终生学习提供了广阔的空间以及良好的学习工具;善于使用互联网和办公软件是培养良好的交流表达能力和团队合作能力的重要基础;在信息社会里,计算机使用者的道德规范与社会责任是培养良好道德情操和社会责任感的重要内容。因此,计算机基础教学不仅是大学通识教育的重要组成部分,更在大学生全面素质教育和能力培养中承担着重要的职责。

高素质的创新人才是国家建设所不可缺少的。复合型的知识结构、良好的思维方式以及勇于探索的实践能力是创新人才的重要特征。大学计算机基础教学为学生创新能力的培养奠定了基础,不仅承载着优化大学生知识结构的使命,也是培养大学动手实践能力的重要课程载体,更是训练大学生掌握计算机学科领域独特思维方式的教学内容。计算机基础教学在我国高等教育中已有30多年的发展历史,已经成为我国高等教育的必然组成部分,在学生综合素质、创新能力培养方面发挥着重要作用。

3.具体做法

计算思维代表着一种普遍的认识和一类普适的技能,将发挥越来越大的作用,因此,对计算思维的培养已经成为当前教育的一个重要目标。针对这一目标,本课题面向应用型本科院校的学生,对大学计算机基础课程的教学方案、教育技术进行调整,采用任务驱动教学法,依托精心设计的教学内容、教学过程和科学的考核方式,使学生构建起基本的信息素养与学习能力,能够“自觉”的学习计算机的相关技术和知识,以达到有兴趣和会用计算机来解决问题,培养他们对复杂事物进行抽样、分解的能力,并能够将复杂问题归纳推倒至他们熟悉的简单问题上去,终身受益。

以实践为主线、以计算思维为导向,从教学方法与手段的改革与创新入手,在不弱化“计算机软件的使用”的前提下,提升到“计算思维”训练的层面,全面提升学生的综合能力。围绕以下三个方面开展课程的教育教学技术研究和实践:

(1)结合教学团队建设,构建计算机文化素养平台。

从计算机文化素养的角度进行整体教学设计,如计算机发展历程、图灵奖、计算机硬件设备展台,还有组织学生进行微机组装实验以及市场调研等活动。从计算机文化素养的角度进行整体教学设计,如计算机发展历程、图灵奖、计算机硬件设备展台,组织学生进行微机组装实验以及市场调研等活动。建立“开放性的实验环境”,供学生随时上机实验,以改变传统教学方法中理论讲解与实际操作内容不同步的矛盾。

(2)按分类分层的原则进行教学内容重组;优化课堂教学结构。

我校在校学生有本科和专科层次的学生,有理科专业(数、理、化)和文科专业(中文、英语、政治、教育等),还包括艺体类专业(美术、音乐和体育),层次和类别较多。以前计算机基础课程传统的教学模式是不同层次、不同专业的学生采用相同的教学大纲,讲授相同的内容,采用统一的考核和评价体制,造成的直接影响是本科层次的理科类学生“吃不饱”,而专科类的文科及艺体类学生不能“消化”,这是教师和学生都不愿接受的事实。在分层教学思想的指导下,我们就课程体系、教学内容、教学方法、实践环节及考核方式上进行了一系列的改革,形成了一套适应我校具体情况的教学体系,取得了理想的效果,也为同类兄弟院校的计算机基础课程的教学提供了参考依据。

根据“1+X”课程设置方案中的课程整合要求,按照各专业的培养目标,对计算机基础所要讲述的内容提出相应调整方案。

一是根据文科和理科专业不同的需求特点,实行按文科、理科等不同的学科制定不同的教学大纲,分开授课,以满足不同学科对计算机基础知识的不同需求。

二是根据学生基础进行分层。随着中小学对信息技术的重视以及地区上的差异,学生进校时的计算机水平有了很大的变化:鉴于此,采用普通班、提高班及特色班,学生根据自己的实际情况、兴趣爱好、学习能力,自主选择班级,实行动态管理。

在计算机基础课程的教学改革中,将我校的在校学生按学历分为三个层次:本科、专科及函授。针对不同学历层次的学生,在教学时间和内容上均不相同。根据文科、理科及艺体类专业不同的需求,分别组织教学内容,制定教学大纲,确立我校的计算机基础课程体系结构。

(3)加强教学方法与手段的改革与创新,培养学生计算机文化素养、应用计算机和计算思维解决实际问题的基本能力。

在计算思维能力教学中,需要对计算思维重新阐释成如何开展教学的问题,简单地说:应用计算机解决问题的意识和能力。

参考文献

[1]九校联盟(c9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(9).

[2]putationalthinking[J].communicationsoftheacm,march2006.

[3]putationalthinkingandthinkingaboutcomputingphilosophicaltransactions[J].seriesa,july,2008.

[4]jancuny,larrysnyder,jeannettem.wing.demystifyingctfornon-computerscientists[J].workinprogress,2010.

[5]李廉.计算思维――概念与挑战[J].中国大学教学,2012(1).

计算机学科的根本问题篇2

[关键词]计算机教学;研究性学习;创新精神

中图分类号:G40-057文献标识码:a文章编号:1009-914X(2016)08-0029-01

计算机教学作为以培养创新精神、研究能力和实践能力为目标取向的必修课程,必须让学生通过研究性学习,提出问题,收集材料,对研究性课题进行探索、分析、研究,最后基于问题解决模式,在实践操作中培养学生科学的态度和价值观以及创新精神、创新思维、创造能力,并学会解决生活中与信息技术学习有关的实际问题。

一、研究性学习的特点

1.重视问题的提出和解决

在研究性学习中,教师首先要组织学生从学习和生活中选择和确定他们感兴趣的研究专题,去发现问题和提出问题,这些问题可以是课堂内教材内容的拓展延伸,也可能是对校外各处自然和社会现象的探究;可以是纯思辨性的,也可以是实践操作的;可以是已经证明的结论,也可以是未知的知识领域。在研究性学习中,问题是学生学习的重要载体,学生在解决问题的过程中会涉及多种知识,这些知识的选择、积累和运用完全以问题为中心,呈现横向的、相互交叉的状态。

2.重视学生的自主学习

研究性学习主要不是学习书本知识,而是强调学手动脑的实践过程,它不能依靠教师传授知识和技能,而是强调学生自主学习的行为与过程。当前教学中学生学习方式基本旧接受性学习,这种学习方式适用于事实性知识、技能性知识、规律性知识的掌握,但对于策略性知识、价值、态度和情感类知识的学习往往不能奏效,这些知识的学习只有通过自主性学习,才能内化成学生自身的经验体系。在研究性学习中,正是通过创设类似科学研究的情境,让学生自主的探究、实践、发展和体验,从而培养学生的科学精神、创新思维以及分析问题、解决问题的能力。

3.重视学生学习内容与学习时间的开放性

研究性学习的开放性,是指构成研究性学习的各要素与实施过程所涉及的要素之间的非封闭性,集中体现在学习内容的开放、学习时间的开放。研究性学习的学习内容是多方面的,有来自学科知识的巩固、运用和验证的学习,也有来自学生兴趣、爱好、特长的学习,还有来自社会问题和学校常规教育等等方面的学习,这些学习内容完全开放在学生的面前,充分满足学生的各种需要;学习内容的开放,使得学习时间的开放成为可能,学生可以依据自己的兴趣和爱好,按自己的学习需要、学习速度和计划,适时地选择参与学习的时间,相对于学科学习而言,研究性学习显然拥有更为开放的时间。

4.重视学生之间的交流与协作

由于研究性学习是问题解决的学习,学生面临的是复杂的综合性问题,这就需要依靠学生的供应价格智慧和分工协作。这时,协作既是学习的手段,也是学习的目的,通过协作学习和研究,学生可以取长补短,取得高质量的成果,与此同时,在共同参与的过程中,学生还需要了解不同人的个性,学会相互交流、协作。这种交流、协作包括交流、协作的精神与交流、协作的能力,例如彼此尊重、理解以及容忍的态度,表达、倾听与说服他人的方式方法,制定并执行合作研究方案的能力等。

二、计算机教学中研究性学习的设计

研究性学习的设计有多种角度,由于人们所选用的参照标准不同,角度不同,因此对它的设计有不同的表述,本文主要从学习目标、学习内容、学习策略、学习评价等四个方面,对计算机研究性学习加以设计。

1.学习目标的设计

作为与信息技术学科教学相互补充的学习方式,计算机研究性学习目标的具体设计,同样可以以信息技术学科教学目标的特征作为参照物,甚至直接将对信息技术学科教学的批评意见作为设计研究性学习目标的依据,在信息技术学科教学难以达到的范畴构建研究性学习的目标。据此可以推断,研究性学习目标的设计可以从以下两方面来考虑:

首先,是与信息技术学科教学的互补性。信息技术学科教学重视学生对信息技术基础知识的理解和掌握,而计算机研究性学习则不以系统信息技术学科知识的传授为追求,它是以学生个性发展的需求为出发点,以信息技术学科教学欠缺和研究性学习自身所长为主要追求。

其次,是学习目标自身的根本性。从这个角度来考虑计算机研究性学习的思路与信息技术学科教学是十分相似的,信息技术学科教学时选择的内容是以知识的基础性为生根标准的,愈是能够成为今后学习基础的,就愈有选择的价值;同样,计算机研究性学习的目标也是愈具有根本性、一般性,就愈具有广泛迁移的价值。所以,在确定计算机研究性学习的目标时,除了上面所说补充信息技术学科教学的不足外,在不足之中更要突出这种根本性,即着眼于每个学生的发展所必需的因素。

2.学习内容的设计

计算机研究性学习在内容上最根本的特点在于它与信息技术学科教学的区别,即信息技术学科教学是以间接经验――系统化的信息技术知识体系为基础的,而计算机研究性学习则是以直接经验――通过实践获得的所见所闻和亲身经历为基础的。因此,同样是学习信息技术学科范围里的内容,信息技术学科教学注重使学生掌握基本的信息技术原理和技能,计算机研究性学习却注重使学生应用这些原理和技能去解决实际问题。在坚持这一根本区别的前提下,计算机研究性学习的具体内容便可以在相当宽泛、相当灵活的范围之内加以选择。

计算机研究性学习内容的具体选择和设计,主要是体现计算机研究性学习的学习目标和学习原则,没有一定要达到的绝对标准和程度,而是视学生和学校的具体条件灵活处置把握。例如同样是信息技术应用的内容,擅长编程的学生可以选择缩写程序去查询实际的数据库信息,擅长网络知识的确学生可以选择网络并行数据处理、网络防火墙等内容进行研究,这些选择都是合理的,都能够有效地体现和达到计算机研究性学习的目标,没有高低之分。

3.学习策略的设计

计算机学科的根本问题篇3

关键词:计算思维;项目贯穿;循序渐进;计算机程序设计

在《中国高等院校计算机基础教育课程体系(CFC)2008》中,提出对大学生计算机应用能力的三大要求:操作使用能力、应用开发能力和研究创新能力[1]。操作使用能力主要在第一门课程大学计算机基础中实现,后两种能力则主要体现在第二门课程计算机程序设计上。CFC2008将学习目标确定成:1)学习问题求解的思路和方法,即算法。2)理解计算机是如何具体实现算法的,即如何才能有效地利用计算机编程。

在大部分高校中,C语言程序设计是非计算机专业理工科学生的一门必修课程。根据CFC2008精神,其目标首先是使学生掌握程序设计的基本思想,能够用C语言编写程序并具备一定的程序调试能力;第二是为学生今后利用计算机解决本专业问题奠定基础,培养学生利用计算机作为一种工具,乃至作为一种思维方式去思考问题、解决问题的能力。

在2010年“第六届大学计算机课程报告论坛”中,陈国良院士指出,计算思维能力是大学计算机基础课程教育过程中一个重要的培养目标[2]。陈国良院士同时还指出,人类科学发展的三大支柱是理论科学、实验科学和计算科学,与之相对应的是人们认识世界、改造世界的三种思维方式,即理论思维、实验思维和计算思维[2]。

那么,如何在计算机基础教学过程中,训练和培养学生的计算思维能力,使学生学会用计算机的思维去思考问题和解决问题,是一个非常值得探讨的问题。

1计算思维

美国卡内基•梅隆大学的周以真(J.m.wing)教授在计算机权威期刊《CommunicationsoftheaCm》上指出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、人类行为理解等的一系列思维活动[3]。周教授认为,计算思维是人的思维,而不是机器的思维;是概念化的思维,而不是程序化思维;是一种思维方式,而不是一种产品;应当是每个人的基本技能,而不是仅属于计算机科学家。计算思维概念,与董荣胜、古天龙等教授2002年提出的计算机方法论有着很多共同之处。计算思维是从学科思维这个层面直接讨论学科的根本问题与学科的思维方式,而计算机方法论则是从方法论的角度来讨论学科的根本问题和学科形态[4]。

2010年,李国杰院士进一步指出,今天的信息世界已经是一个物理世界、信息世界、人类社会组成的三元世界,是一种新的信息世界观,与以往一人一机组成的、分工明确的人机共生系统完全不同。这种改变,使信息科学应当成为研究人机物社会中的信息处理过程[5]。

这种变化,对人们利用计算机分析、解决问题的能力提出了更高的要求,也对高等学校非计算机专业的计算机基础教学提出了更高要求。计算机基础教学需要培养学生的计算思维能力,并提高其信息素养,使学生在处理问题时,能够更好地利用计算机作为一种不可或缺的工具进行思维、表达,从而对各种信息进行深层次的加工处理,以便把其掌握的专业知识更好地应用到科学研究和生产中,促进科技进步和社会生产力的发展。

2C语言程序设计课程面临的问题

李未院士讲到程序设计是计算机学科的核心课程,吴文虎教授也谈到程序设计课程的教学经验,凡是讲授这门课程的教师都知道,这门课程比较难于教授,尤其是为非计算机专业讲授这门课程。在基础教学中,这门课程难于讲授的主要原因可能有以下几方面:

1)教师用“专业”眼光去看待非专业的学生。

2)教学中重理论轻实践,实践课时不足,对程序设计能力的培养不够。

3)例题多而散,学习后,学生不能得到一个比较综合的训练。

4)学生的水平参差不齐,教学中对学生个性化学习需求关注不够。

5)课程特有的属性决定的。各种程序设计语言的语法结构一般都是零散的,学生难于相互关联、总结,采用的案例也是比较零散、短小的、关联不大。学生经常是学会了全部的语法知识,但仍然不知道这门语言能做什么,能解决什么实际的问题,甚至不知道如何解决问题。

6)学生精力投入不足或学习方法不当,大部分学生认为自己毕业又不从事计算机软件开发工作,没有必要学习程序设计课程。

针对这些问题,结合CFC2008精神,我们在C语言程序设计课程讲授过程中,以学生计算思维能力培养为目标,提出了“项目贯穿、循序渐进、思维训练”的指导思想,以改变传统计算机程序设计课程中侧重向学生介绍语法结构的做法。

3教学方法改革及计算思维能力培养

3.1项目驱动教学

在理论教学环节上,本着一个项目贯穿整个课程教学的思想。我们用“猜数游戏”为主、常见问题为辅进行各个章节的讲授。具体做法如表1所示。

3.2循序渐进教学

心理学家认为,模仿是孩子学习的第一步。通过模仿,孩子不仅能够复制行为,而且也能对模仿的行为进行加工,有所创新。人们经常把模仿描述成“学习的捷径”。在程序设计课程的学习过程中同样如此。让学生通过模仿现有示例,逐步掌握C语言中的各种语法要求、控制结构,不断加强学生对于课程的学习兴趣。

在实践教学环节上,我们将实验内容按照“验证―调试―设计”的顺序进行设计。

1)验证:安排学生对学习过的内容利用现有的简单程序进行验证。

2)调试示例:编写简单的程序作为调试示例,在其中设置学生经常遇到的各种小错误(包括语法错误、逻辑错误),让学生按照实验指导中的讲解,逐步找到各个错误。

3)调试练习:让学生根据前面的调试示例,修改类似程序的错误,并进行总结。

4)编程示例:针对常见问题进行分析、讲解、编程,让学生学习问题分析方法和程序设计方法。

5)编程练习:根据编程示例,将题目进行略微调整或与前面的知识相结合,让学生进行编程解决。

通过上述实践步骤,学生可以逐渐掌握编写程序的语法规范及思维技巧。

在理论教学环节,同样按照循序渐进的原则进行问题讲解。例如,在讲授九九表输出问题时,按照如下的顺序设计问题并编程,逐步实现九九表的输出。

1)输出1到9这几个数字。

2)输出9行1到9。

3)修改九九表中各行数值的个数,将输出的9行数字转化成九九表格式。

4)最后研究数字的变化规律,实现真正九九表的输出。

3.3多角度思维训练

在C语言程序设计课程中,计算思维的能力要求主要体现在学生对于问题的分析、解决能力培养上。如何在课程讲述过程中,训练、提高学生分析问题、解决问题的能力,是讲授这门课程的全体教师的责任。我校除了在课程内容设置上按照“一个项目贯穿课程”的指导思想进行授课、在实践环节上按照“验证―调试―设计”的顺序进行设计,还在教学过程中注重以下几个方面。

1)上机实验流程规范化。要求学生对于实验内容,要按照“课前预习―分析问题―设计算法―编写程序―上机调试”的顺序依次进行,使他们养成一个好的学习和思维习惯,逐步训练、提高他们分析问题、解决问题的能力。

2)答疑指导引导化。在学生有疑问时,不直接为学生指出其问题,而是用提问的方式引导学生逐步自己找到问题所在。例如,学生的程序代码为:

学生提出要输出两个数的乘积,怎么输出结果不对呢?可以依次提出问题:应该输出什么信息呢?计算机屏幕上的显示和预期有什么不同?有哪些情况可以造成这种不同呢?printf函数的一般格式是什么,每部分什么含义?你所写的printf函数与一般格式一致吗?这样,通过依次设置问题,既引导学生自己发现了程序中的错误所在,又训练并逐步提高了学生发现问题、改正问题的能力。

3)问题趣味化。常规的、一成不变的问题很难激起学生的学习兴趣,趣味性是激起学习兴趣的一个可行手段。那么,如何利用趣味化的问题讲解程序设计中的各种控制结构?这需要从案例设计入手。例如:用出租车的计费方式和if结构结合、用所得税的计算方式和switch结构结合、让学生把一天的行程用基本控制结构进行描述等。

4)提倡算法的多样性。程序设计课程的价值之一在于训练、提高学生的计算思维能力,如果学生都按照教师的逻辑思维习惯进行分析问题、解决问题,这不能不说是一种失败。所以,在让学生学习教师分析问题、解决问题的同时,要倡导算法的多样性,培养、激励学生的创新意识、探索精神和问题求解能力。例如,有些同学数学基础很好,有一些问题,他们总会用数学的方式先进行初步解决,再结合计算机进行编程。对于这些同学,一定要进行及时的鼓励,并介绍他们的做法,使之感到编程的成就感。

5)注重算法的简化和优化[6]。我们不能只提倡算法多样化,还要引导学生对算法进行研究,逐步达到简化并优化算法的目标。例如我们常用的“百鸡百钱”问题,很多学生按照公鸡、母鸡、小鸡的顺序用三重循环进行实现。我们就提出“是否可以用二重循环实现呢”,学生仔细一想,确实可以改成二重循环进行实现。再比较两次的实现方法,发现循环次数由100*100*100=1000000降到了100*100=10000,降幅达到了99%。一个简单的改进,让学生看到了算法改进的魅力。这也让部分同学想到“这个问题是否可以进一步简化呢”,再进行分析,发现公鸡的数量不可能大于32,从而可以将算法中公鸡数量上限从100改到32,母鸡数量上限也改成98,循环次数降到了32*98=3136,比二重循环又减少了近70%。这一系列的简化,充分调动了学生的学习兴趣。

4结语

在计算机程序设计课程的讲授中,通过采用项目贯穿、循序渐进及多角度的思维训练方法,学生分析问题和解决问题的能力得到了明显提高,也有部分同学因无法保证前后知识的连贯性,造成后期难以跟上正常教学进度,出现掉队现象。如何将计算机程序设计课程中的分散语法结构相互关联起来,利用好的案例提高学生学习积极性,培养、提高学生的计算思维能力,仍是值得探索的问题。

参考文献:

[1]中国高等院校计算机基础教育改革课题研究组.中国高等院校计算机基础教育课程体系2008[m].北京:清华大学出版社,2008.

[2]陈国良.计算思维与大学计算机基础教育[R].济南:第六届大学计算机课程报告论坛,2010.

[3]J.m.wing.Computationalthinking[J].CommunicationsoftheaCm,2006(49):33-35.

[4]董荣胜,古天龙.计算思维与计算机方法论[J].计算机科学,2009(1):1-4.

[5]李国杰.信息科学技术的长期发展趋势和我国的战略取向[J].中国科学,2010(40):128-138.

[6]陈杰华.程序设计课程中强化计算思维训练的实践探索[J].计算机教育,2009(20):84-85.

CultivationofCapacityforComputationalthinkingthroughComputerprogramming

YUXiaoqiang,ZHaoXiuyan,Yanpitao

(SchoolofinformationScienceandengineering,DalianpolytechnicUniversity,Dalian116034,China)

计算机学科的根本问题篇4

关键词:计算理论;计算思维;能力培养;创新模式

0引言

前一段时间网上流传中国科学院研制“龙芯”的胡伟武老师的一个视频,其中提到中国能够开发Java虚拟机的人才很少的问题,该问题的出现引人思考。我国计算机类专业的学生包括研究生毕业后做底层开发的人才很少,绝大多数人是把国外公司开发出来的编程语言拿过来直接使用,编程时直接调用软件包中的函数,至于这些函数是如何实现的并没有几个人认真思考。久而久之,学生(包括一些教师与软件开发人员)也很少思考或研究这一问题,突然遇到这样的问题就会束手无策、无从下手。所谓万丈高楼平地起,没有基本的思维训练很难做到基础性创新思维的能力培养。中兴事件给我们国家的原始创新问题敲响了警钟,有人在网上提出“假如微软、谷歌不让我们使用其操作系统怎么办”的问题,说明应用与创新缺一不可,只有应用的火热而没有创新就会受制于人。计算理论课程是从本质上介绍计算机科学的课程,是计算机学科发展的基石。为了计算机学科更好地发展,将计算理论作为一门必修课,作为培养高年级本科生或研究生计算思维和创新思维的重要一环是非常必要的,这是开设此门课程的现实选择,也是必然选择。

1计算理论在研究生教学中的重要性

“计算机科学技术日新月异,新东西层出不穷,旧的东西迅速被淘汰,但是作为一门科学,它有其自身的理论基础,这些思想精华长久地、甚至永恒地放射光芒,这些理论在应用开发中好像是‘无用的’,但实际上,对于每一位从事计算机科学与技术的研究与开发的人来说,它们都是不可缺少的,就像能量守恒之类的物理定律对于每一位自然科学工作者和工程技术人员那样”[1]。“通过这些要点,我们对计算机科学的重要基石有了一些新的认知,有些之前我们认为可能比较新颖的东西(比如层次化存储),实际上在计算机诞生初期就被提出甚至进行了量化分析,每年顶级会议上出现的一些新成果都是这些思想的实现;有些之前我们认为可能比较陈旧的东西(比如虚拟化),实际上换一个角度可能是一种新的研究思路。真正具有本质的重要性的东西,无所谓“新”与“旧”,应该在历史发展中传承和保持下来”[2]。上述两段话充分说明计算理论在现代计算机科学与技术研究生教学中的核心意义。从科学基础理论角度来讲,可计算性理论是计算机科学最核心的基础理论,如果没有可计算性理论,计算机将难以称为计算机科学,这是学科发展需要,也是开设这门课程的根本原因。为创新能力的培养与思维训练过程,这一系列过程从低到高不断升华,可逐步培养学生的计算思维与创新能力。在本科教学中,学生养成了“老师教什么,学生就记忆复述什么”的学习习惯,一般很少对教师讲授的内容提出异议和新的见解。只是在离散的抽象代数部分才开始涉及基本的运算系统,但由于过于抽象,一般学生也是一知半解。在研究生教学中,教师教什么、学生就记忆复述什么的学习习惯一定要打破,学生要养成“老师讲授的不一定是唯一的、最好的解决问题方法”的思想意识,教师要以“没有最好,只有更好,优化优化再优化”为教学理念。学生要勇于向老师提出问题,敢于向课本内容提出挑战,给出新的见解。研究生接受计算理论学位课程的学习已经不仅是为了掌握知识获得学分,还是对计算系统的了解逐步向更高级的计算系统(它的运算呈现出模型化的特征)过渡,并由此学会一种思维方式、一种创新能力,这种思维方式与创新能力对于从事任何工作都是受益终身的。作为一门研究生素养训练的学位课程,计算理论课程的教学改革必须跟上国家创新人才培养的时代步伐,精心设计、合理安排、科学谋划,这是计算机学科发展的需要,是国家积极推进培养创新人才赋予我们的使命与任务。

2计算理论课程的教学内容

人工智能、大数据、云计算、边缘计算等领域正在蓬勃发展,越来越多的经验在实践中累积,但是理论基础都相对薄弱,需要构建各自领域中有较强针对性的基础理论[2]。面对新形势、新需求,计算理论要讲述的内容包括以下几方面。1)以5条基本指令x=x+1、x=x-1、toaiFx≠0、toa和y=x为基础的元语言程序描述可计算函数。使用5条基本指令的元语言程序教学过程,就是训练学生使用最基本的指令编程实现复杂的可计算函数的抽象思维能力过程。近年来出现的python语言是一个比较流行的易学易用的编程语言,其创始人Guido也是从编写python的编译器开始,将其逐步演化成今天的流行语言。程序员中流行的“人生苦短,我用python”也说明其受欢迎的程度,但火热程度的背后是Guido及团队成员不懈努力的结果,没有开发人员的默默付出,将从底层搭建出来的结果呈现给我们,就没有今天的python。对热议的中兴事件引起的处理器芯片设计问题来说,将指令集和程序区分开,可以以不变的少量指令构成万变的应用程序。指令集(如x86、mipS、RiSC-V)中不同类型的指令都是有限的,但可以编写的不同程序的数量极其庞大,这样硬件上的固定性与软件上的任意性矛盾就得到解决[2]。2)从初始函数S(x)=x+1、n(x)=0和Ui(x1,x2,xn)=xi出发,通过利用复合、递归算子得到的原始递归函数以及利用复合、递归与取极小算子得到的部分递归函数与递归函数描述可计算函数。递归函数是计算理论的核心概念,因为图灵可计算函数类就是递归函数类,两者完全等价。递归函数是构造更为复杂函数的基础,现代以神经网络为代表的机器学习是一个黑箱算法,可解释性不足,需要一个可被证明的理论作为基础。从递归函数解读深度学习过程,即一层神经网络的输出是下一层神经网络的输入,通过不断地复合与递归层层深入最后得到深度学习训练的结果[3],递归可以构造出更复杂的函数,从而解决更复杂的计算机科学与工程问题。3)使用两符号与多符号的波斯特图灵机、四元组图灵机、五元组图灵机、通用图灵机描述可计算函数。此处的两符号(0和1)波斯特图灵机接近于我们熟悉的汇编语言,而两符号与我们现在所使用的计算机底层操作的符号是对应的;多符号波斯特图灵机是两符号图灵机的一种推广。现代计算机可以处理的数字、图像、音频、视频等各种形式的数据,其实质也是0和1两符号推广到多符号的扩展形式,形式语言与自动机理论也产生于此。四元组和五元组图灵机是以元组形式描述的产生式规则,其中的状态相当于现代编程语言中的环境;每个产生式的前提(也称为前件)和效果(也称为后件),相当于在不同状态下采取不同的动作需要的前提和产生的效果。通用图灵机是进行各种计算的元语言程序,可以完成各种计算操作,但其存在局限性,如计算机病毒作为一种具有特定功能的算法,同样可以用图灵机或通用图灵机进行描述,通用图灵机模型只限于分析一种单一的算法或程序,如果要分析两个或更多的算法和程序之间的联系,这种模型显然不够。文献[4]从计算机的基础理论模型——图灵机模型出发,提出一种扩展的通用图灵机模型eUtm,极大地简化了计算机病毒传染机制的形式化描述,开辟了计算机病毒传染特性和可传播性形式化描述的新领域,有助于正确地理解计算机病毒。4)使用元语言程序描述不可判定性问题。图灵机根据机器的程序处理初始格局,有的初始格局可能导致停机,有的则导致无限的格局序列,引出停机问题。图灵机停机问题的实质:是否存在一个算法,对于任意给定的图灵机都能判定任意的初始格局是否会导致停机。图灵已经证明,这样的算法是不存在的,即停机问题是不可判定的。停机问题是研究许多不可判定问题的基础,人们往往把一个问题的判定归结为停机问题:“如果问题X可判定,则停机问题可判定”,从而证明问题X的不可判定性。停机问题有多种不同的叙述方式和证明方法,分别适用于具有不同特征的问题,如对于目前人们使用的智能手机,经常会出现某app运行了计算模型上没有进行定义的操作的现象,导致手机对用户的任何操作都无法作出反应,我们称为“死机”。对于这种“死机”行为,手机开发商设计一个检测软件进行监控处理就是一个停机问题的现实反映。显然,根据上述论述,这样的软件是设计不出来的。5)以产生式规则为基础的图厄系统描述可计算函数。这一部分主要讲述图厄系统识别符号串。在形式语义学中图厄系统实际上被称为文法,在计算机科学中,文法是编译原理的基础,是描述一门程序设计语言实现其编译方法的基础,同时也是形式语义学的基础。形式语义学在自然语言处理、程序语言设计、网络搜索引擎以及计算复杂性上都有重要的影响,如通过设计类似于产生式系统的图厄系统识别需要的符号串,可联想到在网络搜索引擎的文本检索中常常涉及的问题[5]:给定一个单词集合,查找包含一个(或全部)单词的所有文档。搜索引擎是这一过程的通俗示例,搜索引擎使用一种称为“倒排索引”的特殊技术,对网络上出现的每个单词(有1亿种不同的单词)所有出现之处的列表进行保存,有非常大的主存的机器保持这些列表的最常见部分随处可见,允许许多人在瞬间搜索到这些文档。此外,图厄系统还是计算机文法的基础,对于语言的语法分析等也起着重要的基础性作用。6)以单带与多带图灵机描述可计算函数。单带图灵机由3部分组成:一条带、一个读写头和一个控制器。图灵机的格局由当前状态、当前带内容、读写头的当前位置组成。图灵机开始运行后,根据转移函数所描述的规则进行计算,图灵机就从一个格局到另一个格局进行转换。图灵机本质上是一个程序或算法的高度抽象,当给定一个输入x以后,就可以计算出f(x)。除了前面描述的计算模型外,人们还研究了图灵机的各种变型,如非确定的图灵机、多道图灵机、多带图灵机、多维图灵机、多头图灵机、带外部信息源的图灵机等,这些图灵机变型对今天的计算机体系结构设计仍具有重要的指导作用。除极个别情形外,这些变型并未扩展图灵机的计算能力,它们计算的函数类与基本图灵机是相同的,但为研究不同类型的问题提供了方便的理论模型。上述图灵机的组合变型演化出当今的计算机硬盘存储表示形式(通过磁头、磁道、扇区等参数),而多带图灵机是研究计算复杂性理论的重要计算模型。人们还在图灵机的基础上提出不同程度的近似于现代计算机的抽象机器,如具有随机访问存储器的程序机器等。

3计算理论启发式案例教学

计算理论课程讲述多种模型,一方面是为了让学生了解与掌握计算理论知识并证明它们的等价性,因而论证Church-turing问题;另一方面也是为了训练学生创新思维,打破思维框架束缚,培养学生从不同角度解决问题的能力。各种模型具有不同的特点,针对不同的问题各有其价值。不同研究者在解决同一科学问题时,会给出不同的算法:这些算法或者演化于某些著名学者提出的基本方法,或者是自己提出的一个不同于常人的方法(这也相当于一个个小的具有针对性的计算模型)。之所以有脍炙人口的三国演义产生,就在于有陈寿的三国志,三国志相当于我们上述描述的某一“计算模型”,而三国演义就在此“计算模型”下加上民间传说在罗贯中的笔下演化而来的,妙笔生花(从计算机科学角度看就是组合新的理论与方法到原有模型中用于解决新的问题)更加接地气。以具体案例对启发式案例教学作进一步说明如下。案例1:在递归函数的谓词递归性证明中,首先通过使用真值表分析法得到证明过程的特征函数,进一步引入广义德摩根律,并通过启发使少部分学生给出不同于原有教案上的证明方法。案例2:在讲授四元组、五元组图灵机过程中,引入三国演义中的刘备东吴招亲、诸葛亮授赵云3条锦囊妙计的故事展开图灵机的状态变化与操作过程,将深奥的教学内容与大家熟悉的故事巧妙结合,达到寓教于乐的目的。计算理论的讲述一方面可以使学生了解这些计算模型的知识,看到它们的现代应用演化。在教学中,注重启发学生将这种“演化”方法融入自己的科学研究中,利用自己所研究领域先驱学者提出的原创方法加上其他方法及所解决问题的特性解决问题,把“共性”+“特性”解决问题的思想融进计算思维与创新能力的培养过程中。另一方面,在各章不同计算模型讲授过程中,以问题启发学生思考,问题可以是:这些计算模型有什么区别?共同点又是什么?在不同讲述内容中可计算是如何定义的?通过学生思考与教师释疑,学生可意识到同样的问题有不同的解决方法,学会从不同角度思考问题,勇于探索并打破思维框架的束缚,寻求问题新的解决方案,这是创新能力培养的必要过程;同时,学生可在这个过程中充分理解和掌握计算机科学先驱们对问题的定义、方法的描述、性质的验证或证明,这也是今后从事科学研究的研究生应该掌握的必要方法与思维方式。

计算机学科的根本问题篇5

关键词:独立学院;计算机基础教育;课程体系;计算机应用能力

基金项目:广东省高等教育本科教学改革立项项目(BKJGYB2008096);东莞理工学院城市学院教学改革研究课题“独立学院计算机公共基础课程体系研究(2010年)”。

作者简介:潘玉茹,女,讲师,信息系统项目管理师,研究方向为管理信息系统、信息系统项目管理。

独立学院是近10年来我国高等教育办学体制改革创新的重要成果,它的出现为发展民办高等教育事业、促进高等教育大众化做出了积极贡献。但由于独立学院发展时间短,其专业设置、课程体系多照搬母体高校,而其生源(一般从第三批本科招生)与母体生源却存在较大差别,这种不协调直接导致了许多独立学院在日趋激烈的高等教育竞争中陷入了发展瓶颈。目前独立学院既面临传统本科高校高规范、高理论性的压力,又面临着众多高职高专院校高实践、高产出的压力,可谓是夹缝中求生存。因此,研究探索以培养应用型本科人才为办学目标的课程体系是十分必要的。

计算机公共基础教育面向众多的非计算机专业的学生,这部分学生占到了独立学院全体学生的90%以上,它承担着向各专业学生进行计算机教育的繁重任务。所以,加强独立学院计算机公共课程体系改革的研究与实践,提高学生计算机应用能力对提高独立学院学生实践能力和就业竞争力都有着深远的意义。

1存在的问题

1)学生入学水平呈现“参差不齐,眼高手低”的特点。

目前中小学计算机教育开始步人正轨,根据教育部的规定和部署,计算机文化基础教育应在中学阶段完成。因此许多教师和教学管理者都认为“大学新生都已经是非零起点且很多具有较好的计算机基础”。但事实并非如此,笔者所在的东莞理工学院城市学院曾做过调查:新生中12%的学生表示基本不会什么软件;76%的学生用过word;56%的学生不知道什么是excel;多数使用过QQ,喜欢上网,但却不知道Http;个别学生自学过photoshop;access以前则基本没接触过[1]。调查结果表明新生在入学前掌握的计算机知识主要以上网浏览、收发电子邮件、玩游戏、聊天等网络应用,因此对计算机基础知识缺乏全面、系统的学习,且对计算机使用基础技能的掌握未能达到大学计算机基础教学的要求。

此外,现在学生入学时计算机基础知识和应用能力存在很大的差异,包括高职生与普高生、城市生和农村生、发达地区与欠发达地区生源等,这些直接导致计算机基础课程的教学出现了纷繁复杂、层次不一的现象。若一味采用“一刀切”的教学方法,无疑会造成两极分化的局面:一方面层次较高的学生“吃不饱”,埋怨计算机基础课程是浪费时间,使其学习积极性受到很大打击;另一方面,层次较低的学生“吃不了”,对计算机课程产生畏惧。这对提高学生计算机应用能力将产生极大的障碍。

2)计算机公共课程体系不健全。

由于独立学院普遍缺乏独立的学科建制,在各个计算机专业开设的计算机公共课程体系中存在的突出问题就是照搬学术型本科院校的培养计划和课程结构,除了新生入学后开设的必修课“大学计算机基础”以外,课程安排没有考虑计算机学科的自身特点,设置缺乏连贯性、系统性,且与《中国高等院校计算机基础教育课程体系》中的相关精神不吻合,未形成各自鲜明的专业特色。同时,在课程具体安排上也存在实用性较差,实践环节不足,考试方式不合理等问题。

2改革思路

独立学院在我国高等教育体系中处于本科教育的末端和专业教育的前端,它的生源绝大多数为当地学生,因此人才培养目标应定位于培养高级应用型人才,即相对于公办本科高校要突出其应用性的特色,相对于高职高专院校则要突出专门性特征。也就是说,从独立学院毕业的学生既具有本科学历的文化基础知识,又一专多能,具有较强的创业和创新能力。因此独立学院应以培养“基础较厚,口径较宽,重于实践,善于应用”的高级应用型人才为培养目标,以强化实践教学、加强学生解决实际问题能力的培养为教学的首要任务[2]。

而在非计算机专业中进行计算机教育,不仅是使学生学会使用简单的常用工具,掌握简单的计算机技能,还应当引导学生利用计算机技术有效地进行本学科的研究和实践。所以,计算机公共基础教育的目的应该是面向应用,就是要面专业,不仅仅学习计算机理论,而是要使计算机全面、深入地与本专业结合,以便更好地为他们的专业服务[3]。

这就要求独立学院在构建非计算机专业计算机公共课程体系时,必须根据专业的不同,以应用为目标,着重培养学生的计算机综合运用能力及使用计算机解决本专业实际应用问题的能力,使之能够分析和处理本专业的信息需求和应用管理问题。学生的专业不同,社会对其计算机应用能力的要求也相应不同。如对于理工类专业的学生,需要具备应用计算机技术进行算法实现的能力和数据归纳能力、程序设计与开发能力、信息处理能力以及图形图像技术处理能力,他们应该学习程序设计类课程、数据库应用类课程、辅助设计类课程与多媒体图形图像处理类课程,部分工科学生还应具备硬件处理能力;对于经济管理类专业的学生,除基本技能外还需要具备数据分析处理能力、专业软件的应用能力,他们需要学习数据库知识,信息管理等知识;对于艺术类专业的学生,除基本技能外还需要具备平面及三维设计能力和多媒体编辑能力。

3课程体系规划

东莞理工学院城市学院现有非计算机本专科专业44个,涵盖工、文、理、管、经、法、艺等学科门类,是一所全日制本科独立学院。现面向非计算机专业开设有大学计算机、程序设计基础、数据库原理及应用、多媒体技术、网页设计等课程,除大学计算机作为全院非计算机专业的必修课程之外,其他课程均是由各个系自行提出,委托计算机基础教学部门开设的,由于没有考虑计算机学科的自身特点,课程设置缺乏整体统筹安排。

根据全国高等院校计算机基础教育研究会的“中国高等院校计算机基础教育课程体系2008”精神,基于培养应用型人才的目标和“因材施教”的教育理念,笔者通过对我院计算机公共课程教学的现状分析及调查、论证,提出了符合我院教学发展实际需求的“1+1+X”的计算机基础课程体系改革构想(如表1所示)。

第一层次的1是所有学生都必须学习的公共必修课程大学计算机,是其他计算机基础课程的先导课,课程的教学目标以广东省高校计算机应用能力考试(一级)考试大纲的要求为基本要求,一般安排在新生入学后的前两个学期。鉴于新生入学计算机基础水平差异较大,笔者结合本院的实际情况,提出了学目标分层次教学的基本思路。学目标是将广东省高校计算机应用能力考试(一级)考试大纲的基本要求作为大学计算机的教学大纲;分层教学的具体做法则是除已经取得全国计算机等级考试(一级)证书的学生可申请免修外,其他学生在新生入学时即参加计算机基础摸底考试,根据考试成绩进行分层教学。a类生为基本达到考试大纲要求的学生,可选择免除大学计算机理论课学习,但必须参加每周一次的上机实验,完成老师布置的上机练习,期末参加学校统一组织的计算机基础期末考试。B类生为具备一定的计算机基础知识,但尚未达到课程基本要求的学生,必需照常参加大学计算机课程的理论和实验教学环节。

表1非计算机专业计算机公共课程设置一览表(1+1+X)

第二层次的1是按不同专业开设的后续必修课程,它为学生今后选学其他计算机课程奠定基础。学生经过一个学期的大学计算机课程的学习之后,应该结合各专业培养目标的定位和要求,进行第二层次的计算机公共课程的学习,一般放在二年级进行。我们有三个方向的计算机基础课程可供选择:理工科类各专业(包括电信、机电、印刷、安全、城环等专业),这些专业的计算机基础教学应该为学生今后的专业发展奠定一定的编程基础,使学生具备一定的程序意识,故而这个阶段可选择《高级语言程序设计(C/C++)》作为第二层次的计算机基础课程;经管类各专业(包括管理、财经、金贸、保险等专业),这些专业的计算机基础教学应该为学生提供一定的数据库管理的知识,培养学生的数据统计分析能力,为其今后熟练掌握各类数据库管理类软件打好基础,故而可选择“数据库原理及应用(access)”作为第二层次的计算机基础课程;文学艺术类各专业(包括文学、英语、表演、平面设计等)的计算机基础教学应该为学生提供使用计算机进行多媒体处理的基础能力,为学生提供可扩展自己设计能力的平台,故而设置了“多媒体技术及应用”课程作为第二层次的计算机基础课程。

第三层次的X含专业选修课和公选课两个方面的课程,一般安排在第三个学期以后。各个专业可根据专业特点开设具有专业特色或与所在专业教学相结合的后续计算机课程,目的是结合学科与专业需要,深化某一方面的计算机应用知识,加强学生利用计算机技术服务于本专业的能力。另一方面,学生也可根据个人兴趣和求职需要选修全院公共选修课,这部分课程主要为一些常用应用软件的使用。

这种“1+1+X”的计算机公共课程体系的构想,紧紧围绕培养学生的实践和应用能力,不仅体现了独立学院“因人而异,因材施教”的教学理念,而且又可以实现计算机信息技术的不断线学习与训练,使学生能按照各自的专业特点在四年的时间里不间断地扩充自己的计算机知识,提高计算机应用与开发能力,在毕业时掌握当前计算机主流技术,适应社会需求。

4结语

独立学院近几年来发展非常迅速,已逐渐成为我国高等教育的重要组成部分,目前全国300多所独立学院几乎承担了30%本科人才培养的任务,其教学质量也自然成为社会普遍关注的问题。而计算机公共基础教育承担着向各专业学生进行计算机教育的繁重任务,也是关系到大学生培养质量的一项重要工作。因此在独立学院计算机基础教学中,不能机械地照搬学术型本科的经验,而应根据自身特点及教学中遇到的问题及时进行摸索和实践,找到一条适应独立学院计算机基础教育的特色之路。

参考文献:

[1]吴燕玲.谈谈我院大学计算机基础课程教学改革中存在的问题及对策[J].东莞理工学院城市学院学报,2010(2):29-31.

[2]程发良,陈丁堂,邓成良,等.《城市学院2009版本科专业人才培养方案》设计的理念和实践途径[J].东莞理工学院城市学院学报,2009(1):24-27.

[3]中国高等院校计算机基础教育改革课题研究组.中国高等院校计算机基础教育课程体系2008[m].北京:清华大学出版社,2008:18-24.

StudyonComputerpublicCurriculumofindependentCollege

panYuru,wUYanling,wanGLili

(CityCollege,DongguanUniversityoftechnology,Dongguan523106,China)

计算机学科的根本问题篇6

关键词:计算思维;C语言;任务驱动;教学模式

DoiDoi:10.11907/rjdk.161693

中图分类号:G434

文献标识码:a文章编号:16727800(2016)010019903

0引言

《C语言程序设计》是大学理工科类专业基础课程,当前C语言教学过程中,很多教师为提高学生参加全国计算机二级C语言科目考试的通过率,按照传统教学方法进行授课,以讲授并让学生掌握二级考试知识点为教学目标,导致学生只会考试不会灵活运用所学知识。虽然有部分教师采用任务驱动的案例教学法进行教学,可在实施任务驱动的案例教学法时,未采用趣味任务,不能很好地吸引学生,也不能提高学生的学习效率。趣味任务编程题具有趣味性大、理解容易、实用性强等特点[1],学生接触后能很快将其记下,极大激发学生的学习兴趣并提高了学习效率。在编程类课程教学中,教师如果未采用计算思维来分析案例,则导致学生解决实际问题时思路不够开阔,应用能力不够强。因此在C语言教学中,将计算思维融入趣味任务驱动的课堂教学中,既能提高课堂学习效率,更能够提高学生解决实际问题的能力,真正促进应用型人才培养。

1计算思维

计算机技术从出现至今发展非常迅速,为人类解决各种实际问题提供了强力支持。计算机与计算发展如此快速,主要原因是计算机有解决问题的独特思维方式,这种思维方式能扩展到计算机及计算机之外的所有行业。计算思维,顾名思义就是将计算机解决、思考问题的思维方式应用于实际问题的解决过程中,它由美国卡内基梅隆大学的周以真教授于2006年3月提出。其定义是:运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[2]。计算思维本质是抽象及自动化[3],即通过抽象、自动、分离、递归等方法来解决实际碰到的问题,这些方法与C语言解决实际问题的方法相似。因此将计算思维融入C语言趣味编程题中,既能锻炼学生的计算思维,加强计算思维在现实生活中的应用,更能锻炼学生碰到问题时分析问题、解决问题的综合能力,提高学生的社会适应能力。

2计算思维在C语言中的应用

抽象是计算思维的本质之一,是指抓住事物关键特征,对事物的变化过程用符号化等形式表示,或对需要解决的问题建立模型,这是诸多学科解决问题所常用的方法[4]。计算机虽然能解决很多实际问题,但这些实际问题通常是复杂、多变的。通过抽象,可将复杂的事物简单化,而又不失去原来的本质,并且更容易理解事物的本质和特征。在C语言教学中,碰到实际问题时,通常使用画图、建模的形式来分析并解决问题,这就是抽象的使用。

自动化就是设置好相关事务后,人工很少干预甚至不干预执行过程,事务就能按照规定的步骤及程序自动完成并获得正确结果[5]。在计算思维中,对事物进行抽象之后,就需要通过自动化方法来解决抽象之后设置好的多个问题,没有自动化执行,抽象结果则无法顺利运用。在现代社会生产中,机器的自动化生产非常普遍,有了自动化,才能将人类从繁杂反复的工作中解放出来。在C语言编程中,程序按要求执行并循环使用等就是自动化的一种体现。

分离就是将现实生活中碰到的复杂问题,在无法一次性直接解决的情况下,化解成一个个小的问题,将每个小问题的解决方案合并起来,就得到整个复杂问题的总解决方案[6]。分离就是一种化整为零,化复杂为简单的方法,只有通过分离,才能让复杂问题得以解决,也才能实现合作开发。蚁群问题、云计算等方法,归根结底就是分离的结果。在利用C语言合作开发大型系统时,每个人完成其中的一个模块,这就是分离的运用。

递归是指在一定条件下,一件事情执行过程中重复再执行自己,即在一定条件下重复做某一件事[7]。递归,也是计算机特有的特征,通过递归,能够解决一些人脑无法计算的问题。在C语言教学过程中,汉诺塔问题、求阶乘等都会用到递归。

3使用趣味编程题的任务驱动教学过程

将一个趣味任务抛给学生能够将学生快速吸引到课堂中,这种任务驱动教学模式主要是通过任务将教师、学生联系起来,教师引导学生完成整个学习过程,在学习过程中学生是主体,教师起到主导作用。在教学过程中,教师在设置任务时,要考虑设置任务的趣味性,通过趣味任务能极大提高学生的学习兴趣。

在基于趣味编程题的任务驱动教学模式中,教师的主要任务有:课前准备、设置趣味任务、讲解基本知识、呈现趣味任务、实施趣味任务、教学总结评价。在课前准备时,要弄清楚该趣味实例的教学目标、教学任务、教学过程及学生需要掌握的知识。设计任务是根据教学内容,设置与学生现实生活相关或容易理解的趣味问题,该问题要有明确的可用信息,要有切入问题的入口。讲解基本知识主要是讲解与本趣味实例有关的理论新知识及相关的已学知识,这些知识主要是为了能顺利解决实例,以够用即可。呈现趣味教学任务就是给学生创设实例相关的场景,为学生展现并分配任务,让学生进入解决任务阶段。实施趣味任务就是根据所需要解决的问题,收集相关资料,引导学生如何解决此问题,并对学生遇到的问题给予指导。教学总结评价就是根据学生完成趣味任务的情况,首先让学生相互交流各自完成的情况及结果,然后对整个学习情况予以总结。

在基于趣味编程题的任务驱动教学模式中,学生的主要任务有:课前复习预习、学习新知识、明确任务、完成任务、交流、反思。课前复习预习就是根据教学进度,复习上节课已经学习的内容,预习并了解本节课要学习的内容。学习新知识就是根据预习情况以及课堂上教师的讲解,理解并掌握解决趣味任务所需的相关理论基础知识。明确任务就是在教师相关情景的引导下,弄清楚所要完成的任务及目标。完成任务就是在教师的指导下,用相关方法解决布置的趣味问题,在完成任务的过程中与同学、教师交流,协作完成课程任务。交流就是学生基本实现布置的趣味任务后,同学之间展示自己的执行结果及设计过程,相互学习,相互促进。反思就是在教师的干预下,对学生的完成情况进行总体评价,对做得好的学生予以表扬,对于未完成的学生分析原因,让所有学生经过反思之后都能切实掌握该趣味任务所引出的知识。

4基于计算思维的趣味任务驱动教学模式

在基于趣味编程题的任务驱动教学过程中,教学者使用计算思维的方法来进行教学,学习者使用计算思维的方法来进行学习,形成融入计算思维的趣味任务驱动教学模式。该教学模式既有趣味性,又有计算思维解题的高效性,让学习者在愉快的解题过程中掌握计算思维带来的便捷。融入计算思维的趣味任务驱动教学模式如图1所示。

(1)课前准备。该教学模式首先要求教学者对教学目标、内容及过程进行详细分析,弄清教学方法及学生基本情况,了解学生的计算思维能力及需要掌握的计算思维方法。学习者也要求对旧知识进行复习,预习所要学习的新知识,对要学习的知识有基本了解。

(2)趣味任务设计。教学者在此阶段要采用计算思维的方法来设计趣味教学任务,任务设计好后,整个教学过程都要围绕该任务进行,同时可以将大型任务分解成一个个小的任务,学习者完成一个个小的任务也就完成了复杂的任务。此时学习者也要为完成任务做好准备。

(3)新知识的教与学。要完成一个任务,必然要学习新知识,新知识是解决任务的基础。在学习新知识的过程中,教学者要适当提及计算思维的相关方法,让学习者对计算思维的相关方法有一定的了解,为解决实际问题奠定基础。

(4)趣味任务呈现。教学者在良好的教学情境下,使用计算思维的相关方法呈现趣味任务。学习者接受到趣味任务时,可分为两个阶段,一是弄清任务内容,明确任务目标;二是如何使用计算思维完成任务,完成任务后可探索哪些新知识。

(5)趣味任务实施及完成。根据新学的知识及教学者所指导计算思维的相关方法,学习者通过使用计算思维中的抽象、自动化、关注点分离、递归等方法来探索如何解决所接受到的趣味任务,进而确定用计算思维的哪种方法能最快最好地解决此问题。

(6)总结、交流与反思。学习者完成趣味任务后,必须进行生生交流、师生交流才能巩固所学知识,在总结、交流、反思的过程中,除讨论解题时遇到的问题及解决的多种方法外,还需要讨论如果不使用计算思维该如何解决此问题,进而让学习者掌握计算思维带来的好处,深刻掌握计算思维在分析问题中的应用。

5结语

提高学生学习C语言的学习兴趣,增强学生实际问题的分析和解决能力,是每个C语言教师授课时需要综合考虑并实施的问题。计算思维是根据计算机科学相关概念及理论知识,对实际碰到的问题采用计算机科学解决问题的相关方法来思考,能够提高实际问题解决效率。使用趣味编程题能较好地将学生吸引到课堂中,通过趣味任务促使学生认真学习理论知识,在解决趣味任务的过程中融入计算思维,提高实际问题解决效率,并锻炼学生计算思维能力,拓宽学生解决实际问题的路径。由于基于趣味编程题的任务驱动教学模式备课时需要花费较多的精力进行例题选择及课堂实施,如何实现既提高备课效率,又提高学生的学习兴趣及实际问题解决效率,还锻炼学生计算思维能力,是后续研究的重点。

参考文献参考文献:

[1]贾蓓,郭强,刘占敏,等.C语言趣味编程100例[m].北京:清华大学出版社,2014:517.

[2]winGJputationalthinking[J].CommunicationoftheaCm,2006,49(3):3335.

[3]沈利迪.基于计算思维的C语言程序设计课程教学模式研究与实践[J].软件导刊,2014,13(10):182184.

[4]汪红兵,姚琳,武航星,等.C语言程序设计课程中的计算思维探析[J].中国大学教学,2014(9):5962.

[5]刘光蓉.融入计算思维的C语言实验教学设计[J].实验室研究与探索,2015,34(10):8183.

计算机学科的根本问题篇7

关键词:学科竞赛;任务驱动法;模块化教学方法;游戏教学

0引言

我国高校计算机基础教育开始于20世纪80年代初,在1984年召开的全国高校计算机基础教育研究会成立大学及第一次学术讨论会会议上,成立了全国高等院校计算机基础教育研究会,这是全国唯一的研究和推动高校非计算机专业计算机教育的一级学术团体。

1计算机基础教育存在的问题

1.1学生的问题

1)基础水平存在较大差异。

区域经济发展不平衡使各地区在中小学开设计算机课程的情况不同,师资水平差异使教学质量不同,家庭有无计算机设备使学生接触计算机的时间不同,均导致各高校新生入学时的计算机基础水平存在较大差异。

2)学习态度和方法存在较大差异。

部分学生只为获取学分而学习该课程,造成平时不学习,考试靠突击的现象。部分学生确实对该课程感兴趣,但是由于各种原因未能得到正确引导,只注重课本知识的死记硬背,并没有将理论知识与实践应用相结合,与学以致用相背离。

1.2教师的问题

1)工作内容主体偏移。

《计算机基础教育调研报告》对教师进行的调查结果中显示,讲师以上职称的占调查总人数的71.9%,这个数字与年龄在30岁以上的教师比例62.6%相差9.3%,说明30岁以上的教师中有9.3%的人没有讲师以上职称。上述调查结果势必导致部分教师将工作内容主体专注于科研成果方面,在课程教授方面的时间精力大大减少,致使教学质量大打折扣。

2)教学目标不明确和教学方法落后。

计算机的高速发展不断对高校学生和教师提出新的要求,但是部分教师在课程上仍按照以往形式教学,依然孤立地讲授如C语言、数据库、网络原理的知识,未能与学生的专业进行融合,无法培养出社会需要的人才。

1.3学校的问题

1)师资队伍建设不健全。

《计算机基础教育调研报告》的调查结果显示,各高校认为“已经建立了一支素质较好、比较稳定的队伍”的占25%,认为“有一支基本队伍,可以满足教学需要”的占46%。认为“基本上可以开出所有的课程,质量得不到很好保证”的占25%,认为“缺教师以致不能开出想开的课程”的占4%。同时,学校负责组织全校计算机基础教育的单位属于计算机系、信息学院、计算中心等相关单位的占到80%。以上调查数据说明计算机专业的老师不能很好的将该课程与学生的专业相联系,无法给学生利用计算机技术研究其专业领域问题提供合理的指导,因此,各高校应为计算机基础教育单独设立课程教研室。

2)教材选择、修订不规范。

目前市场上的计算机教材比较多,如何选择适合不同专业计算机基础教育课程的教材是值得思考的问题,多数高校采用的是教育部推荐的教材,未能根据学生现状、教师现状、社会需求等因素修订出兼顾基础、兼顾社会、具有前瞻性的适合专业计算机基础教育的教材。

2计算机基础教育的教学改革

全国高等院校计算机基础教育研究会会长谭浩强教授在《高等学校计算机基础教育改革的新阶段》中从课程体系建设、教学理念、教师自身知识能力等方面对计算机基础教育提出了新的要求。主要包括,第一,大学不应当再以办公软件作为主要内容,应该有更高的要求,简单的操作性的内容宜以自学和实践为主,不必再作为大学的正式课程在课堂上讲授;第二,要注重与计算机专业的培养目标的差异,注重当前和以后的应用能力培养;第三,要从通用素质与能力、专业应用能力、研究创新能力3个层次来设置课程和进行教学;第四,应当大力开设选修课(尤其是某些应用软件的使用),使学生能根据将来的工作方向和个人兴趣选学。第五,高校应补充年轻的学计算机专业的教师充实高校计算机基础教育的师资队伍,要采取有效措施创造有利条件帮助在岗老师继续学习扩展知识,以适应信息技术迅速发展的形势;第六,广大教师应从实际出发,发挥创造精神,根据实际情况决定工作方针,参照全国和各地区的指导意见创造出符合本校本专业的方案,切忌不动脑筋、生搬硬套上级文件和其他学校的做法。

教育部教育信息化技术标准委员会副秘书长郑莉副教授在《计算机基础教育课程的前沿性与实用性探讨》中从课程目标、教学理念和课程体系3个方面论述了计算机基础类课程的改革方向,并介绍了一些具体措施。课程目标包括,第一,课程中不仅要介绍技术,还要将整个计算机专业的主要研究方向、原理、方法、技术都做概要性的介绍,为学生以后的深入学习及交叉学科研究奠定基础、打开通路;第二,不能再以技能和操作入门,而应该以计算机学科的全面介绍为引导,使学生对学科概况、研究方法、与其他学科的交叉融合关系有科学、全面的认识,作为今后学习的引导与基础;第三,从基本编程技能到应用能力和研究能力,应该培养学生具有系统的观点,具有应用平台和工具进行构件组装的能力。教学理念包括,第一,软件工程的系统观点、需求工程方法、建模方法和工具、大型开发平台的使用、各种库(类库、构件库、服务库)的使用才是现在必须的应用能力的基础,而不是程序语法知识等基本知识点;第二,要培养学生具有跨学科的研究能力,不仅仅是将计算机技术作为工具,更需要学生对计算机科学有深入的理解,能够将计算机科学与其他学科进行融合;第三,除了讲授必备的基础知识外,应将重点放在开设具有实用性、前沿性的课程。课程体系改革的措施与规划包括,第一,课程体系应符合重组基础、分类分层,设置了多元化选修课的原则;第二,课程体系建设要能使学生初步了解计算机科学的概况和发展动态,为进一步学习计算机相关课程作准备;第三,课程体系建设要考虑与本专业发展方向紧密结合和考虑学生的基础差异。

南开大学滨海学院计算机科学系的李晓娜和朱耀庭老师在《各种竞赛促进计算机专业学生应用能力的培养》中提出“以赛促教”的方法,来解决被动的课堂教学实践和各部分知识点相对独立的问题,通过在学校内或兄弟院校间开展竞赛活动,能够很好地激发学生的学习热情,推动形成良好学风,培养学生理论联系实践的能力,加深对专业知识的理解,还能培养学生的团队协作和自学能力。但其缺点是对指导教师在专业上的能力水平、心理素质以及在参赛团队内的协调组织能力上有很高的要求,这就要求老师要能跟上新形势的发展,快速地理解掌握新技术,大量开展实践创新活动,全面提高自己的综合业务能力,因此对于师资力量比较薄弱的院校很难开展。

成都信息工程学院的羊裔高老师在《大学计算机基础教育模块化教学模式新探》中提出模块化教学方式,模块化教学是根据学生的培养目标和要求,结合本门计算机基础课程的教学大纲,把一门课程划分成几个相对独立的模块,对各个模块实施针对性教学,最后按照各模块的要求分模块组织考核。具体包括依据培养目标进行模块化教学内容设计、按模块要求实施教学活动、按照模块组织考核3层含义。模块化教学能够提高人才培养的水平和质量,让学生享受更多的优质教学资源,提升教学团队的协作能力。羊裔高老师将模块化教学模式运用在实际教学中,取得了良好的教学效果。但其缺点是实施模块化教学比传统教学难度大,教学工作量大,对教学团队的要求高。

黑龙江交通职业技术学院的马会敏老师在《多媒体技术在高校计算机基础教育中的应用研究》中对多媒体课件的制作要求进行了详细的表述,以便更好地发挥多媒体在高校计算机基础教学中的作用。其中主要包括课件内容要精益求精、要有一定的美学效果、操作要简单3个层面。虽然合理制作多媒体课件可以提高学生的学习兴趣,但是使用课件会造成一定程度的知识单向传输,无法根据课堂实际教学情况进行变动,阻碍了师生间的交流与互动,并且教师制作出合适的多媒体课件有一定的难度,有部分教师只是将书本上的内容照搬到课件上,无法取得理想的教学效果。

北京师范大学教育技术系的李芒老师和海南师范学院教育科学部的李翠白老师在《基于计算机的教学设计“任务驱动”学习方法》中提出在计算机基础教育中采用任务驱动教学方法。“任务驱动教学法”是一种建立在建构主义教学理论基础上的教学法,是将所要学习的知识隐含在一个或几个任务中,引导学生对提出的任务进行分析、讨论,提出问题并设法解决问题,通过任务的完成而得到清晰的思路、方法和系统的知识,在完成任务的过程中,培养学生积极的学习态度和思考问题、解决问题的能力。任务驱动教学法的优点是能够以任务促使学生形成学习动机,完成任务依靠自己探索、学习新知识和技能,找到解决任务的方法,从而掌握新的知识和技能,培养学生的学习兴趣、自主学习能力、分析问题、解决问题的能力,有利于不同程度的学生学习,有利于培养学生的团队协作精神。但由于任务往往是分小组进行,任务评价根据整个小组的成果进行,因此每个小组成员的劳动与回报很难完全平等,部分学生存在搭便车心理,最终造成知识能力差距越来越大,因此针对此种教学方法,必须设定合理的任务评价方式。

哈尔滨师范大学传媒学院的姜世华老师在《高校计算机教材编写研究》中提出了计算机教材出版中存在的若干问题。具体包括出版程序繁琐导致更新滞后、内容陈旧,重复建设、内容雷同严重,片面追求知识量、忽略实践与创新3个问题。通过姜世华老师在编写计算机教材中的切实感受和经验提出教材内容要跟上时展;教材内容要与初等教学的计算机教学衔接;教材建设要理论联系实际,增设实训内容;教材内容要分层次、模块化3个计算机教材建设的思路。

北京航空航天大学计算机学的张莉老师和浙江财经学院信息学院张林老师在《中外非计算机专业计算机基础教育调研与思考》中比较了我国和美国的计算机基础教育发展历程和课程设置,通过比较得出了值得我国借鉴的经验。第一,国外对于非计算机专业的基础教育定位较为准确。计算机基础教育是以培养信息素养为核心的一种普及教育,要求学生能够广泛地理解信息技术,能够在工作和日常生活中富有成效地运用信息技术;第二,计算机基础教育和学生的专业结合紧密,根据不同专业特色,进行课程设置以及课程内容、作业的安排,这样计算机就不再是抽象的概念,而是熟悉领域内可以解决问题的工具;第三,计算机基础教育体系结构设置更具有科学性。内容上丰富、灵活、具有层次性,既强调基础理论,又重视实践,学生可以根据自己的兴趣和需求,安排学习。

芬兰阿尔托大学科学学院的LasseHakulinen在《alternateRealityGameforUniversity-LevelComputerScienceeducation》中提出将侵入式虚拟现实互动游戏引入大学计算机科学教育中。侵入式虚拟现实互动游戏(aRG)使用不同类型的媒体向玩家传送交互式的体验。它由许多挑战和难题组成,这些挑战和难题属于玩家们要设法解决的任务的一部分。由于难题非常具有挑战性,因此需要玩家之间的协作才能解决。通常,aRG的玩家积极参与到游戏中,通过合作或独立解决困难的任务,来取得游戏的进展。aRG倡导不同专业的学生共同为最终任务的解决群策群力,相互学习交流。文中指出了在为大学计算机科学教育设计aRG时应该遵循的原则,并列举了大学计算机科学教育中的aRG实例。

计算机学科的根本问题篇8

关键词:计算机基础教育;计算机应用;科学思维;计算思维;

作者简介:谭浩强,男,教授,全国高等院校计算机基础教育研究会荣誉会长,教育部全国计算机应用技术考试委员会主任委员,研究方向为计算机程序设计、高校计算机基础教育、计算机普及教育等,thq33@sina.com。

0引言

从20世纪80年代开始,在全国高校中陆续开设了计算机课程,开展了计算机基础教育,至今已有30多年的历史。30多年来,计算机基础教育从理工专业开始,迅速扩展到农林、医学、文科、艺术、体育等专业,覆盖了高校全部的专业。从无到有、由浅入深、从零散到系统地建立了计算机基础教育体系,培养了大批计算机应用人才。学校的教育为大学生毕业后的工作打下了基础,有力地推动了我国各行各业中的计算机应用。这是一件具有重要意义的事情。

当前,对于计算机基础教育如何进一步发展,大家进行了广泛研究,从不同角度提出问题,各抒己见,思想活跃,探索实践。笔者也想发表自己的一管之见,参加讨论。

1需求是计算机基础教育的动力

首先提出一个问题:“为什么在大学的非计算机专业中设置计算机课程呢?”显然,这是科技发展的结果,是社会发展的需要。

30多年来,关于计算机基础教育的性质和定位始终存在着一些不同意见。有的专家认为计算机基础教育应当面向计算机学科,面向理论,要提高计算机基础教育水平就应该向理论的方向提高。另一种意见是计算机基础教育应当面向应用,着眼于培养学生的应用能力,任务是培养千万计算机应用人才。笔者始终支持后一种观点。

回顾计算机基础教育发生和发展的过程,对于认识这个问题会有启示。20世纪80年代初开始陆续在大学中开设计算机课程,并不是由少数人闭门造车拍脑袋规划的,也不是由上面硬性指定的,而是由下面推着上面走的。笔者清楚地记得,当时清华大学的许多专业,在教学和科研中迫切需要使用计算机处理问题,而教师和学生都不会使用计算机,因此各专业纷纷要求学校开设计算机课程。笔者当时在清华大学计算中心工作,根据各系的要求,给全体教师和研究生讲授了BaSiC语言和FoRtRan语言程序设计,再通过各系的教师迅速在全校各系普遍开设了程序设计课程,并立竿见影地用于教学、科研和毕业设计中。各系研究生和应届毕业生在设计任务中纷纷利用计算机进行科学计算,如土木系用“有限元法”编写程序求节点的应力。在此基础上,1981年笔者在中央电视台和中央电大向全国师生讲授了“BaSiC语言程序设计”,迅速在全国高校打开了局面,开始了计算机基础教育的历程。可见,是计算机应用的需要推动了计算机教育,有需求才有发展的动力。

2计算机基础教育的本质是计算机应用的教育

在长期的实践中,我们深刻地认识到,大学非计算机专业的计算机教育应当服务并推动计算机的应用,因此,它本质上是计算机应用的教育,是为学生将来在各领域开展计算机应用打下基础。20世纪90年代初成立的第一届计算机基础课程指导委员会明确指出:计算机基础教育应当以应用为目的,从应用出发。这个指导思想在全国取得了共识,深入人心。

每做一项事情都有它直接的目的,譬如,人为什么要吃饭?因为营养的需要。为什么学开车?因为交通便捷的需要。为什么学外语?因为对外交流的需要。公务员为什么学电脑?因为工作需要。老百姓为什么学电脑?因为生活需要。为什么在中国先后出现了4次全国性计算机普及高潮,几亿人踊跃学计算机?因为离开计算机人们将寸步难行。总之,是应用的需要。这是很简单的道理。

请思考几个简单的问题:毕业生将来从事的是什么工作(是理论还是应用)?企业认为大学毕业生最缺的是什么(是理论还是实际能力)?大学毕业生感到自己最缺的是什么?有的大学生找不到工作,有的工作找不到需要的人,问题在哪里?毕业生希望大学计算机教育应当加强什么环节?怎样才能帮助学生在就业中有更大的竞争力?

一些资深的教育家提出:“中国的大学有两个‘不够’:一是创新能力不够;二是社会服务精神不够。当今大学发展潮流,不是越来越脱离社会,而是越来越靠近社会。教育要向‘应用性’和‘创新型’发展”。这个问题值得我们高度关注。

我国的大学绝大多数是应用性大学,培养的是应用型人才,将来多数人是从事计算机应用的,即使是计算机专业,多数学生将来也是计算机应用人才。显然,计算机教育应紧密与社会结合,深入研究社会需要,按照社会需要确定培养人才的模式和教学要求与内容。可惜这方面恰恰是我们的“短板”,有的同志往往不认真调查社会的需求,不仔细考虑培养对象的特点,孤立地在书房中“纯学术”地研究教学改革,这样很难做到有的放矢。

有人有意无意贬低应用,认为应用就是简单操作、没水平,理论高级,要提高教学质量就必须向理论方向提高。这是不符合实际的。计算机的第一属性是工具,应用是目的,离开应用,计算机只是一堆废铁。

应当回归到计算机基础教育的本质。计算机基础教育的根本目的是培养学生具备在各个领域应用计算机的能力,大力提高学生计算机应用能力,培养大批计算机应用人才,推动各个领域中的信息化。任何时候都不应该动摇这个根本。

英国诗人雪莱说:“我们已经走了很久,也已经走得很远,却往往会忘记我们出发时的目的!”今天我们应当更加大张旗鼓、理直气壮地高举计算机应用大旗,坚定不移地坚持面向应用的方向,着眼于培养具有较强应用能力的计算机应用人才。

我们强调应用,但是应当说明:1应用并不等于简单操作,是分层次的。大学本科不同于高职和中专,不能满足于学生只掌握最基本的操作。用好计算机,用出水平,并不容易。2应用在发展。计算机应用要跟上科技的进步,要结合专业的特点,适应社会的需求,与时俱进,不断深化。3计算机应用需要理论的支撑和指导。要使学生在应用中游刃有余,就应当引导学生了解计算机,学习必要的基本知识,掌握处理问题的方法和规律;但是,非计算机专业学生要学习的知识不应是脱离应用的纯学科理论知识,而是针对应用需要的计算机应用知识。以飞机专业为例,飞机设计者和飞机驾驶者所学习的内容是不一样的。前者需要学习系统的学科知识,后者需要学习的是应用知识。

什么是计算机基础教育的主线?有两种意见,一种认为应当以计算思维为主线,一种认为应当以计算机应用为主线。我们支持后一种意见。当前,要使计算机基础教育深入发展,首先应当在面向应用方向上有所突破,要深入研究社会和专业的需求,研究计算机应用人才的知识结构与能力结构,以计算机应用为主线改革课程体系、课程内容和教学方法。当前,如果能根据应用的需要,研究和制定出计算机应用的知识体系,将是一个重要的突破。

要想争取各专业重视计算机课程,最根本的办法是把计算机课程与专业需求紧密结合,为专业服务,显著提高学生的计算机应用能力,在各专业领域中有效地发挥信息技术的作用。大学计算机教育应当根据社会需求进行设计,学校与社会要形成闭环系统,计算机教育与各专业要形成闭环系统。这样,计算机教育自然就成为各专业教育不可或缺、不可分离的重要组成部分。

3当前在面向应用方面需要解决的问题

1)教学内容跟不上信息技术的飞速发展。

现在信息技术已远非20年前的情况了,互联网从根本上改变了人们的生活习惯和思维方式,云计算和大数据正在迅速进入人们的生活,电子商务、搜索技术、微博微信已为老百姓普遍使用。智能卡、智能手机、平板电脑正在取代着传统的pC,计算机的应用方式已由单机使用发展为各种应用平台,进而形成无处不在的工作环境。教材和教学内容应该体现信息技术的新,有助于大学生清晰地了解信息技术迅猛发展的趋势及其对社会发展的深刻影响。而目前学生的知识面较窄,基础课程只有一两门课,内容比较单一,跟不上发展。

2)课程体系不能满足应用需求。

现在有的课程体系主要是根据计算机专业的知识体系构建的,强调学科的系统性和完整性,强调理论,有的甚至是计算机专业课程的浓缩版。应该以计算机应用为主线来设计课程体系,明确分析和提出应用能力的要求,编写出体现应用特点的教材。

3)教学面向应用以及与专业结合很不够。

我们对专业的需求研究不够,毕业生的计算机应用能力与社会的需求相比有明显的不足,难以满足各领域日益发展的需要。非计算机专业大学生的计算机教育包括两部分:一是低年级的计算机基础课程,二是与专业紧密结合的计算机课程。二者都应当面向应用,要把低年级的计算机基础课程和高年级的与计算机有关的课程有机地结合和连贯起来,形成一个贯穿4年的计算机应用课程体系。这项工作需要有计算机基础教师、计算机专业教师和各院系专业教师的共同参与,相互交叉渗透,合力促进计算机在专业领域中更深入的应用。

低年级的计算机基础课程的任务是帮助学生掌握计算机基本知识和基本应用能力,掌握必要的共性知识和解决问题的思路,培养信息素养。同时要使学生尽早了解学习计算机对本专业的作用。其实在基础课程中的许多知识点中,都可以找出它们与专业需求的相关性。有的医科院校在低年级开设“医学信息基础”,农业院校开设“农业信息基础”,艺术院校在低年级开设计算机用于艺术的课程(如动漫),都有较强的专业针对性。

4计算机应用与培养科学思维的内在联系

科学思维是培养人才的一项重要内容。人们不仅学会干活,还要学会正确地思维。

思维是无处不在的,做什么事情都需要有正确思维的指导,如吃饭很简单,但是如果乱吃,不仅无益于身体还会损害健康,所以电视台有养生节目,帮助人们建立营养思维,科学地饮食和养生。从事工业设计工作的人要培养和掌握设计思维,从事经济工作的人要有市场思维,公务员要有法制思维,军人要有国防思维等。几乎每一个领域都提出了与本领域有关的思维,如创造思维、批判性思维、系统思维、可持续发展思维、网络思维等。人们从不同的角度对思维进行研究和描述,进行归纳分类,但这都是相对的,并无严格的定义和和公认的标准。其实,对一般人来说,叫什么名字并不重要。只要是科学思维,都应当提倡和推广。

创造性人才需要有科学思维。近一时期国内外一些计算机专家提出的“计算思维”具有积极意义,可以启发人们更深入地进行思考,探索信息时代思维的发展与特点。

对于“计算思维”,无论国内外科学界和哲学界还未就此取得公认一致的意见,目前仍处在初步研讨阶段,有不少有益的见解,但还不成熟,需要在较长的时间内在理论上进一步探讨和实践中深入地积累经验。思维从本质上说属于哲学范畴。对思维如何描述和分类,可能哲学家能站在更高的角度作出更科学准确的分析与说明。

唯物主义认为物质是第一位的,精神是第二位的,但是精神又可以反作用于物质。不能脱离物质的基础孤立地研究精神。人的正确思想,只能从实践中来。皮之不存,毛将焉附?同样,不能离开计算机应用,孤立抽象地讨论计算思维。

树立正确的思维方法是为了更好地指导行动。培养计算思维很重要,但不能说学习计算机的目的就是为了培养计算思维,正如不能说吃饭的目的是为了培养营养思维、学开车的目的是为了培养交通思维一样。人们在学习和应用计算机的过程中,逐步培养了计算思维,它又反过来推动计算机应用的深入发展。计算思维的根在计算机应用,离开计算机应用,计算思维就成为了无源之水。离开问题的处理过程怎样培养思维?

计算思维不是悬空的抽象概念,是体现在计算机教学和应用的各个环节中的。其实,在提出“计算思维”这个名词之前,人们通过学习和应用计算机,在头脑中已经有了计算思维。正如人们学习了数学自然地培养了逻辑思维一样。现在无非把“隐性”变为“显性”,由不自觉变为自觉。

学习和应用计算机不仅培养了计算思维,也培养了其他的科学思维,如逻辑思维、实证思维、创造性思维等,不能书生气地讨论“这个问题属于计算思维吗?”如果是就重视,否则就不重视。不应当孤立地突出其中某一种思维而不顾其他,大学生需要有多种思维的能力,在解决实际问题时往往是多种思维共同起作用,计算机基础课程的任务也不仅是培养计算思维。

在教学改革中要有整体的思路,计算机基础教学要综合考虑以下3个方面:1体现信息技术的新发展;2计算机应用的要求;3培养包括计算思维在内的科学思维。这是一个三维的模型。三者紧密、自然地结合在一起。不同类型的教学在三维系统中的坐标不同,要具体研究和探索。

要把计算机应用和培养科学思维辩证地自然地结合起来,提高信息素养。从技术的角度,把计算机作为现代工具应用,着力培养应用能力;从教育的角度,要注意通过计算机的学习和应用,培养大学生的科学思维和信息素养。在研究对学生的全面培养时,要站在提高信息素养的高度,在落实课程体系和教学内容时,要强调应用的特点。

5要把复杂的问题简单化,而不要把简单的问题复杂化

科学思维(包括计算思维)并不神秘,是人人触手可及的。当前,在对计算思维的研讨中,不应当把它搞得深奥化、神秘化,使人觉得高深莫测。其实完全可以使它大众化,使人容易理解和接受。大众化包括以下两个方面。

1)内容的大众化。

要区分专家的研究层面和一般群众的学习层面,不要把专家研究的学术问题直接搬到一般群众中。研讨计算思维有不同的层面:哲学家的计算思维、计算机专家的计算思维和大众的计算思维。它们的要求和内容是不同的。

以哲学为例,哲学是被认为很深奥、一般人难以企及的。20世纪30年代我国青年哲学家艾思奇写了一本《大众哲学》,用老百姓耳熟能详的例子把哲学理论讲得清楚透彻。解放初,笔者15岁时就基本看懂了。这本书把哲学从书斋中解放出来,成为千百万群众所掌握的思想武器。对大众而言,不要牵涉太多的专业术语,不要说得玄之又玄,人摸不着头脑。

对计算思维的研讨,应当区分不同人群,不能要求一般教师和大学生都去研究那些深奥的内容,少数专家可以进行深入的学术研究,提出自己研究的见解。一般教师应当对计算思维有一定的了解,并且在教学过程中自然而然地融入计算思维。对大学生(尤其是非计算机专业学生),主要是应用好计算机,在此过程中注意掌握处理问题的方法,培养计算思维。没有必要搞成“全民性”的研究和贯彻计算思维的“运动”,毕竟学习的是计算机课程而不是思维课程。

要求应当实事求是,要考虑计算机基础课程的主要任务。计算思维的内容很广泛,牵涉的方面很多,不能要求在仅有的一两门课程中把计算思维各方面都全部覆盖。如果多数教师能做到在教学过程中有意识地注意培养计算思维,就很不错了。

2)方法的大众化。

要用简单易行的方法,让师生易于了解和培养计算思维。要从实际出发,在原有基础上提高,循序渐进,而不是另起炉灶,使人觉得是从天降之物,无可适从。

我们多年前曾提出在计算机基础教育中讲知识、讲应用、讲方法。讲知识,又讲应用,体现了计算机基础教育的应用性特点(不能只讲理论知识),讲方法就是培养科学思维方法,不能满足于具体应用,还要举一反三,归纳分析,总结规律,上升为思维。一位大学校长说:“教授有三流:三流教授只讲授知识;二流教授除传播知识,还讲授方法;一流教授,听了他的课就能站在这个学科的前沿,并且产生一种进入学科前沿的冲动。”这充分说明教师要引导学生学会思考与创造。

全国高校计算机基础教育研究会多年前曾经提出,应当在计算机基础教育中培养信息素养,包括信息意识、信息知识、信息能力和信息道德。研究会全面分析了计算机基础教育的作用和任务,指出素质是知识与能力的升华,知识、能力与素质是创新的基础,信息素养包括养成科学思维。只有把知识、能力与素质三者紧密结合,并贯穿在整个教育过程中,才能培养出高质量的人才。同时全面归纳了计算机教育的作用,即计算机是工具,是文化,是现代意识,是时代素质。

以上这些提法是在原有的基础上,承上启下,引导教师进一步提高教学水平,深化教学改革。这些提法容易为广大教师理解和接受,教师经过努力就能够做到。今天我们仍然要坚持这种科学而实际的工作方法。采取合适的方法自然会事半功倍,而方法不对头必然事倍功半,甚至事与愿违。

要善于把复杂的问题简单化,而不要把简单的问题复杂化。请考虑我们是怎样通过数学课培养逻辑思维、通过物理课培养实证思维的,我们就会明白怎样通过计算机课程培养计算思维了。它应当是自然而然的结果,而不是生硬进行的过程;是本身存在的内在关联,而不是外界强加的概念。

教育工作者不仅要努力掌握业务知识,还要有正确的理念和思想方法。一切从实际出发,不唯上,不唯书,不唯外,只唯实。当前,应当了解各发达国家各类大学在计算思维问题上的各种观点和做法,了解国内各大学计算机专业的做法,分析比较,深思熟虑,谨慎行事,尤其避免用行政手段勉强贯彻,拔苗助长。

6结语

计算机学科的根本问题篇9

关键词:测评体系;教学内容;教学方法

根据教育部高等学校大学计算机课程教学指导委员会编制的《大学计算机基础课程教学基本要求》,同时针对不同专业类别对计算机基础教学的要求不同,结合我校实际情况将大学计算机基础课采用“必修课程+限选课程”的设置方案,如图1。其中,必修课属于通识型(基础类)课程,它主要服务于学校公共基础教学和基本素质教育的培养目标,以培养对计算机系统的基本理解、信息素养为主要目标,同时也培养基本的计算机应用能力。限选课包括技术型课程和交叉型课程,学生可根据自己所学专业选修其中一门课程。技术型课程围绕不同的计算机技术来组织课程内容,根据不同专业类别的需要,深入讲解一种具体的计算机技术。例如:程序设计基础、多媒体技术与应用、计算机网络技术与应用等,培养学生掌握应用特定计算机技术解决问题的能力和方法。交叉型课程则是随着计算技术在各专业领域应用的不断深入而产生的一类课程,这些课程在内容上以相应专业为背景融合计算机技术,同时也可能反映出了各学科领域新的发展方向。

一、教学内容的改革

“程序设计基础”是大学计算机基础教学的核心课程,授课学生:电化、电气、水电、动科、生工、食科等。教学学时:课程总学时32学时,其中理论课16学时,实验课16学时。主要讲授VisualBasic语言基本知识和编写程序的方法与技术,具体内容:VisualBasic语言的基础知识、数据类型、程序控制结构、函数、指针、文件、类和对象的概念及使用、模板及异常处理、输入/输出流、常用控件、窗体及属性、控件对象的事件和方法、程序调试以及软件工程和数据结构基础等。对算法教学内容采用类讲解,分为:计算类算法、穷举类算法、递归类算法、查询类算法和排序类算法。

1.计算类算法。该类算法是为各种数学问题的数值解答研究提供相对有效的手段,主要由累加求和算法和累乘算法。累加形式:V=V+e,其中:V是变量,e是递增表达式。累加一般通过循环结构来实现。注意:需在执行循环体前对变量V赋初值。一般的,累加时置初值0。连乘形式:V=V*e,其中:V是变量,e是递增表达式。连乘一般通过循环结构来实现。

2.穷举类算法。穷举算法又称枚举算法。枚举法:按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解。在列举的过程中,既不能遗漏也不应重复。

3.递归类算法。递归算法是把问题转化为规模缩小的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。

4.查询类算法。主要教学内容包括:顺序查找、二分法查找、分块查找和索引顺序查找。

5.排序类算法。主要教学内容包括:冒泡排序、比较排序、选择排序和插入排序。

通过本课程的学习,使学生充分掌握程序设计中算法的基本思想和方法,较为熟练地使用VisualBasic高级语言,具备上机调试程序的基本能力。

二、采用多种教学方法,促进掌握教学内容

根据程序设计课程内容的不同,采用边讲边练、翻转课堂等多种教学方法,加强实践教学。

(一)边讲边练

教师利用计算机的多媒体点播系统将每次实验项目要求、内容发给学生,同时教师再对实验中所遇到的重点、难点问题在计算机上进行讲解,学生出现问题,可以通过多媒体点播系统客户端向教师提问,在教师机上指导学生解决困难。学生按要求完成每个实验内容,将实验作业上传到教师机上,教师可以随时批改、点评,对学生进行及时辅导、答疑。

(二)翻转课堂

依托校园网络,构建数字化教学平台,该平台主要由课程学习和讨论、交流两大模块组成。在课程学习部分,可以提供mooC资源,学生课后可以根据自己的需要,在任意时间、任意地点自主学习,成为课堂教学的延伸和必要补充;讨论、交流部分,以QQ讨论群及时答疑,了解学生学习情况、收集学习过程中存在的任何问题,如图2。

三、测评体系的构建

不同的教学环节,采用不同的形式考核方式和成绩评定方式,理论考试将原来采用纸介考卷形式变成电子试卷,并由计算机来完成此任务。在线教学的考核方式较为灵活,可以采用程序项目设计、专题内容讨论、小论文等作为考核方式。

采用新的教学内容和多种教学方法对程序设计课程进行授课,通过测评体系验证,目前已经取得明显效果,但还需要我们不断在实际培养学生利用计算机语言能力中总结经验,不断探索。

参考文献:

[1]伍丁红.高校计算机教育教学改革研究[J].计算机教育,2005,(11):40-42.

[2]崔彦君.任务驱动教学法在大学计算机基础课程中的应用[J].广东培正学院学报,2013,13C:65-68.

计算机学科的根本问题篇10

【关键词】电算化会计

我国已有很多企业实现了会计电算化,需要一大批电算化会计人才,而高校教育是培养、输送会计电算化人才的主要途径。要解决好电算化人才的问题,就必须解决好电算化会计教学问题,笔者根据自身教学经验和对部分高校电算化会计专业进行的调查,发现电算化会计教学中存在着诸多问题,有待解决。

1.电算化会计教育目标不明确。我国目前还没有一个科学明确的会计电算化教育目标。在论及电算化教学目标时,对于需要适应社会和企业的实际需要考虑得不够,不能根据社会的变化和企业的实际情况及时调整和确定电算化会计教学目标。明确符合社会和企业实际需要的会计电算化教学目标是当务之急。

2.电算化会计教育的层次不清。我国会计电算化教学已建起了以大专、本科为主要层次的人才培养体系,但会计电算化在教学层次上突出的问题是:教学层次的界限不清、层次不明。也就是说,大专和本科甚至研究生的教学内容没有多大差别,无法满足社会对多种层次电算化会计人才的需要。

3.电算化会计教育课程设置混乱。由于电算化会计教育目标定位不清,因而在课程设置方面存在的问题也很突出,主要体现在专业课与公共课、基础课的比例失调,培养学生综合素质的通用性基础课比例较小;要么重专业轻视计算机基础和编程,要么重计算机基础而忽视了会计专业知识的培养,在这几者之间没有把握好平衡度。

4.电算化会计教育实践环节缺少。电算化会计专业的实践性教学环节资源有限,再加上由于经费紧张,环境限制太多,很多电算化会计专业学生学完本、专科课程后,甚至还没有看过或用过有关财会软件,更不用说编制财会软件了。有些学校虽然也购置了财会软件,但没有很好地运用,只是流于形式,效果极差。

5.电算化会计教学理论和实践的脱节。当前,由于种种原因,厂矿企业对学生实习变过去那种“热烈欢迎”为“拒绝”,学生除了在课堂上学习课本知识外,没有地方拜师学艺,动手能力的培养受到限制,学生的素质也大为降低。

6.电算化会计教育考试方式呆板。电算化会计课程采用笔试本是无可厚非的事情,但纯粹依靠笔试,肯定是不够的,因为电算化会计需要与实际结合,而且还需实战效果,因此在选择考核考试方式时应以符合考试目标为原则,建立与教学目标相一致的考核考试体系。

7.电算化会计教学方法单一。各高校普遍存在的问题是以单一的"填鸭式"的课堂讲授代替教学内容的进一步讨论和深究,对学生不进行启发,而是一味地灌输。当然一些高校也进行了一些大胆尝试,在电算化会计案例、模拟教学等方面也做了一些有益尝试。但这些尝试还处于初级阶段,存在着走形势、搞热闹的情况,没有考怎样创造更多、更有效的教学方法,并将每种方法的作用真正发挥出来,然后根据教学目的进行合理的组合和运用。

8.电算化会计教学理论研究薄弱。作为会计学的一个主要方向,需要一种科学的电算化会计理论作指导,而我国在此方面的研究很少,几乎为零。加强电算化会计理论的研究,促进中国的会计改革,也是我国会计界面临的重要课题。

要解决当前我国电算化会计教育存在的问题,笔者认为应该从以下几方面着手。

1.明确电算化会计教育目标。电算化会计教育目标无非有两个选择:一是全面掌握会计基本理论、基本方法和基本技能,能熟练操作会计软件;二是了解会计基本理论、基本方法和基本技能,有能力开发会计软件。每个学校的电算化会计专业都应该明确教育目标,不能含糊。

2.电算化会计教育层次分明。会计教育层次划分应以电算化会计教育目标为依据,明确各教育层次之间的界限和质的区别。笔者认为,专科教育应以培养能熟练操作会计软件的会计人才为目标;本科教育应以有能力开发会计软件为人才培养目标;研究生教育中,硕士以“开拓型、外向型”人才为培养目标,博士以教学、科研人才为培养目标。

3.合理设置电算化会计专业课程。专业课程的设置也要根据电算化会计教育目标按教育层次来设置,正确处理“博”与“专”的关系。如大学本科可提高通用专业基础课的比重,降低专业课中实务操作讲解比重,提高专业理论课的比重,重视会计软件程序的编制,重视会计实践课程的设置。

4.重视电算化会计教学实践。为确保该教学环节的实际效果,一方面,在制订培养计划时要做通盘的考虑;另一方面,在具体实施中,可通过在实验室封闭实习的方式进行,也可通过已建立的联系机制到电算化企业进行实际操作。

5.建立绩效机制来吸引优秀人才成为电算化会计教师。一是从精神和物质两方面吸引人才,二是培养教师能力,提高教师素质,更新教师专业知识。

6.改革电算化会计教学方法。改变在学校以课堂、课本为中心,以教师讲解为中心的教学方式。以培养学生具有创新能力和分析问题、解决问题的能力为宗旨,在教学中力求采用现代化的教学手段,利用多媒体技术,加强会计实践的教学环节,培养学生的实际操作能力。变填鸭式为赏识型,充分发挥学生的主动性和能动性,实行案例教学、模拟操作、软件开发设计、小组辩论研讨等灵活多样的教学方法。

7.应由职业界、学术界和教育界联合编写电算化会计材,教材应重视理论讲解与分析,具有一定的前瞻性和通用性。另外按实务应用编写习题集、案例、会计模拟核算资料、教学版会计软件、教学录像等。另外要建立教师之间、学校之间的交换机制,以便相互借鉴、取长补短。国外类似的教学工具也可引进编译,最好能形成此类教学工具库,如:题库、案例库、软件库、录像库等。