计算机程序设计范文

时间:2023-10-20 17:31:17

导语:如何才能写好一篇计算机程序设计,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

计算机程序设计

篇1

关键词:计算机程序设计;应用开发

计算机技术已经走进千家万户进入各行各业,这种技术的发挥,在人们工作与生活中的地位越来越重要,它可以运用某种技术来改变人们的工作学习方式。计算机拥有的强大技术水平,可以大大提高人们的工作效率与准确度,它可以代替人们做很多复杂的工作,减轻人们的工作强度与难度。计算机之所以有这么多优势,主要是借助程序设计来完成的,计算机程序设计的应用开发得到了社会的普遍应用,实现了智能化与科学化的管理,这种高新技术的发展,对我国经济水平的提高起着至关重要的作用。

1计算机程序设计的概述

计算机的技术发展速度迅猛,它在运行过程中发挥着巨大的作用,这些作用的发挥主要是依靠计算机程序来完成的。计算机程序是一种语言,它可以通过计算机来识别,而程序设计就是把人们的需求通过计算机语言来转换成能够被计算机识别的指令,通过这些指令来完成相应的功能。在计算机程序设计过程中,要先了解分析用户有哪些需求,再弄清主要的核心任务以及相关的输入、输出要求,然后再设置计算法,把这些计算法转换成应用程序,交给计算及执行,确保程序可以正常运行。在计算机程序设计上,有很多种语言类型,我们简单的介绍一下,最开始运用的是机器语言,计算机程序都需要转变成机器语言才可以运行,它主要是由二进制的0和1组成的,这种程序有很多弊端,因为二进制人们不容易懂,所以在编写程序过程中,效率非常低,准确性也不是很高。后来,为了解决这种语严存在的弊端,人们就研究出了汇编语言,在汇编语言的基础上,为了使计算机程序设计的更准确,又出现了高级程序设计语言,这种编写程序比较简单,人们在使用过程中比较容易理解。随着时代的发展,到了二十世纪七十年代,又出现了C语言;二十世纪九十年代的时候又出现了Java语言,这种语言是面向对象的程序设计语言,根据互联网技术的不断发展,Java语言已经成为世界关注的焦点。

2计算机程序设计的应用开发

2.1在管理信息系统中对程序设计应用开发的思考

目前,我国计算机技术水平发展的特别快,它可以代替人们做很多平时难以完成的工作,比如信息管理系统。那么在计算机程序设计应用开发中,管理信息系统为企业带来哪些优势呢?我们具体来分析一下。在计算机的信息管理系统中,很多单位都通过计算机的程序来提高管理水平,比如说图书馆借阅管理系统、财务管理系统等等,这些系统主要都是通过计算机在程序设计开发过程中运用高级语言编写成的,它在处理信息过程中既快速又准确,给人们在管理中减轻了很多负担,企业管理人员在工作中运用信息管理系统进行管理时,针对人力、财力、技术等资源来说,可以有效的确保数据信息的准确性,企业从下到上的资源都可以统一管理,大大的提高了管理水平。在企业管理中,管理信息系统的管理范围非常广,不仅能管理企业的商品销售与库存情况,还能针对客户与员工的信息进行管理,这样可以节省很多人力资源,更好的对人员进行分工,方便及时的跟进客户,给企业带来更多经济效益。其实针对企业来说,用管理信息系统更多的是可以提高运作效率,节约成本,解决人员在操作过程中出现的问题。不仅如此,这种管理信息系统还能更好的规范企业的管理。因此,已经有越来越多的企业开始运用管理信息系统了。

2.2在电子商务中对程序设计应用开发的思考

电子商务是在计算机中通过高级语言建立的电子商务网站,企业为了宣传品牌的形象就会把企业经营范围与服务宗旨放在网上,这样可以让更多的人了解企业,扩大知名度。用户可以通过电子商务网站了解产品的动态,给品牌的推广带来一定的效益。现在大部分人都选择在网上购物,已经成为人们生活中不可缺少的一部分。所以说计算机的程序设计应用是很强大的,比如要对图书销售网进行设计,之前是需要人工来建立后台数据库,然后对图书进行管理。现在电子商务技术就是用电子数据信息流来代替实物流,这样不仅能够控制成本,还方便交易,这是企业经营中的一种新的经营模式。计算机程序设计开发的电子商务系统是面向生产者、销售者以及消费者提供的市场,三方都可以满足需求。如今,越来越多的企业都认识到了电子商务的优势,在管理与营销中都会通过电子商务来进行,所以说计算机程序设计应用开发在电子商务这个方向有很大的前景。

2.3在工业工程中对程序设计应用开发的思考

我们都知道,在工业工程中突发事件都比较多,工业设备为了提高生产率需要高负荷的运转,那么计算机程序设计开发对工业工程的运转也会带来很多便利。在工业工程的机械领域中,计算机程序设计的应用主要从自动化控制和计算机辅助方面体现出来。因为计算机在生活中已经被人们普遍应用,那么在工业领域中,计算机的辅助设计还有自动化设备也已经开始被应用。所谓计算机辅助设计就是设计人员在对计算机进行设计的时候,运用图形技术,来设计工厂、仓库的布局,还有电子电路等等。它的作用是通过计算机程序设计能判断出来设计是否有问题,如果存在问题,那这种图形技术就可以自动修复,能够保证数据的准确性。计算机程序设计应用在工业机械领域,在一定程度上能够提高机械效率。

3结语

随着计算机技术水平的迅速发展,越来越多的行业已经离不开计算机了,我们知道,计算机程序设计主要是运用计算机语言来解决的现实需求。通过上文我们思考了计算机应用程序开发为企业发展所带来的优势,目前计算机应用程序设计已经成为企业解决问题的发展主流,因此,随着计算机技术的发展,更需要开发这种技术,来方便人们今后的工作、生活。

参考文献

[1]赵耀.计算机程序设计的多应用型开发[J].电脑知识与技术,2013(33).

篇2

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

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

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

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

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

1计算思维

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

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

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

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

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

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

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

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

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

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

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

针对这些问题,结合CFC 2008精神,我们在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. Computational Thinking[J]. Communications of the ACM,2006(49):33-35.

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

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

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

Cultivation of Capacity for Computational Thinking through Computer Programming

YU Xiaoqiang, ZHAO Xiuyan, YAN Pitao

(School of Information Science and Engineering, Dalian Polytechnic University, Dalian 116034, China)

篇3

【关键词】计算思维;语言编程;算法

1前言

目前,国内外在程序设计课程中采用的教学模式多数是以高层次的编程语言开始的,教学重点主要集中在编程语言语义语法的讲解上。由于教学方式单一,程序设计思想简单,学生只能被动接受知识,学习过程中也很少涉及自主分析问题和解决问题,因此,学生们普遍对学习编程没有兴趣。这在一定程度上导致了学生编程能力、创新能力和实践能力的下降,如何才能在教导学生的同时将计算思维的概念融入到程序设计语言当中已经成为一个热点话题。

2计算思维

计算思维的概念最早是在2006年由美国卡内基梅隆大学周以真教授在“ACM”通信中提出的。周教授认为:计算思维是运用计算机科学的基本概念来分析解决问题、进行系统设计、以及理解人类行为和其他活动,它涵盖了计算机科学的思维广度[1]。通过分析我们知道计算思维是每个人所具有的,是人特有的思维方式,而不是思维的机器,它是概念性的思维,而不是程序性的思维,它是每个人的基本技能,而不是计算机科学家的一部分。计算思维主要是通过在时间和空间上运用大量的数据来加速计算,例如,它可以被设计在内存和外存中使用。在数据压缩和解压缩程序中,它可以用作时间和空间的平衡开销[2]。计算思维以预防、保护和冗余、容错、纠错模式的思维系统来来恢复最坏情况的。例如,对于一个“死锁”来说,计算思维可以通过学习探索如何同步时间来避免“竞争条件”的情况[3]。计算机科学在我们的日常生活中扮演着重要的角色,不仅如此,人们还常用计算机科学来解决日常生活中遇到的各种问题,改善我们的生活习惯,以及与他人沟通的方式方法[4]。计算思维则是用来寻求答案的启发式推理(格罗,2007)。

3计算思维与教学手段相融合

目前,在大学计算机课程中“程序设计”是一门计算机基础课程,它主要面向非计算机专业的大学生。我们要将计算思维融入现有的教学手段中,对非计算机专业的学生来说,学习的目的不再是一味的编程做程序员,而是要学习计算机分析、解决和处理问题的方式方法。我们不但要教给学生如何编写程序、传输代码,更重要的是,还要教给学生学习如何设计算法。

4理论教学中计算思维能力的培养

在理论教学中,我们应该将重点放在学生编程思维的培养上,适当调整或简化枯燥繁琐的语义语法规则,增加学生专业相关的计算机前沿知识。此外,还应该多设计一些和学生生活相关有吸引力的例题,提高学生编程兴趣。例如,当我们讲解指针的概念时,我们可以引入福尔摩斯如何获得沃森爵士房间号码的故事,这可以使学生更好的理解指针是如何指向一个变量地址的。在这里,我们演示高年级学生的作品,如“贪吃蛇”、“小猫钓鱼”、“读心术”等,用这种“案例驱动”的教学模式激发学生的学习兴趣,从应用实例开始,逐层深入,循序渐进,让学生能够通过编写趣味程序来加强对计算的理解能力。通过构建教学模块相结合的贴近专业教学模式,结合教育心理学,可以提高学生学习的积极性,提升学生的计算思维能力。在理论教学过程中要锻炼学生用计算思维方法来分析解决问题,例如,在C语言循环结构程序设计中提到的“猴子吃桃”案例,我们可将计算思维的概念融入到解题方式中,引导学生使用一个递归的方法来解决。适当调整教学手段,培养学生从后向前推断的逆向思维,这样学生就可以充分理解递归算法和递归调用的整个过程。这不仅使学生掌握了递归调用的方法,而且还锻炼了学生的逆向思维的行为习惯。

5实验教学中计算思维能力的培养

在实验教学中,我们将重点实验和独立实验相结合。重点实验要求教师在实验课上对学生进行分组协作,在小组讨论和设计创新实验的问题上,为了培养提高学生的计算思维能力,我们鼓励学生自己动手解决问题,当遇到难点问题时,可以通过师生互发邮件或网络教学平台等方式来解决问题。在设计独立实验时,教师应该对自己班级的每个学生都有较为深入的了解。大学生都是来自五湖四海,每个人对计算机的认识是有差异的,对于不同专业不同层次的学生,我们应该鼓励学生从不同的角度来认识问题,通过不同的方式来描述问题法,用不同的方法来解决问题。教师的正确引导至关重要,对于不同层次的学生教师应给予适当的、科学的评价,只有这样才能培养学生的思维能力、思维的多样性和创新能力。正常的实验教学只能提供有限的学时,这对学生计算思维能力的培养还远远不够。我们可以在课下通过课后练习、认识实习和培训课程来提高学生的思维能力。在认识实习过程中,学生需要将所学知识串连起来,自主设计实验流程,这在一定程度上培养了学生逻辑抽象能力和自主创新能力。

6结语

我们试着用上面的方法来讲授程序设计语音课程。经过一个学期的学习,学生的编程实践、学习兴趣、学习效果等方面都有很好的改变,这大大提高了学生的计算思维能力。计算思维具有很强的创新能力,计算思维发展的最高目标是计算思维能力的创新。创新思维在创新中的应用,这仍然是非常困难的。探索新的教学理念和手段是每个教师的神圣使命,在今后的教学实践过程中要不断探索和实践,争取将教学质量提高到一个新的水平。

参考文献:

[1]张金玲.论高校计算机基础教育改革的机遇与挑战[J].教育理论与实践,2016(06).

[2]张敏.以计算思维为导向的程序设计课程教学案例设计探析[J].陕西教育(高教),2015(12).

[3]杨建磊.关于我国大学计算机基础课程教学中“计算思维能力培养”的研究[D].兰州:兰州大学,2014.

篇4

关键词: 程序设计语言; 建构主义教学模式; 支架式教学; 知识建构

中图分类号:G424 文献标志码:A 文章编号:1006-8228(2012)12-56-02

Computer programming language and scaffolding instruction

Pang Erli1, Wang Xin2

(1. College of life science, Beijing Normal University, Beijing 100875, China; 2. Beijing Capital international Airport., Ltd. IT Department)

Abstract: Programming language is an absolutely necessary sector, and a suitable teaching method is a key to grasp it fleetly and exactly. Scaffolding Instruction in the teaching mode of constructivism is a suitable teaching method, which decomposes a complex task and gradually guides students to understand deeply and completes construction of information actively. Constructing scaffolding, creating situations, independent exploring, evaluating effects, and so on are used in the teaching process. The results prove to be good and show good prospects for development.

Key words: programming language; the teaching mode of constructivism; scaffolding instruction; knowledge instruction

0 引言

在大学生计算机教学实践中,计算机程序设计语言经常被学生看作是一门难以掌握的课程,师生在教学实践中往往付出很大努力,却不能达到预期的效果。在从事这门课程的教学实践中,我们认识到寻求合适的教学方法是取得良好教学效果的关键。例如,建构主义模式下的支架式教学符合程序设计语言的特点与学生的认知规律,是讲授这门课程的恰当方法,我们在教学实践中应用支架式教学方法,取得了很好的效果。本文将相关的理论研究与实践教学相结合,探讨了计算机程序设计语言课程的教学方法。

1 支架式教学与计算机程序设计语言

建构主义教学模式是指教师利用情境、协作、会话等手段,以学生为中心,充分调动学生的主动性与探索性,最终达到学生对所学知识的建构。这种教学模式改变了传统教学模式中学生被动接受的状态,以学生为中心,教师也由传统的知识传授者变为学习的组织者、指导者、帮助者和促进者。

支架式教学是建构主义教学模式下比较成熟的一种教学方法,它要求教师改变向学生笼统灌输知识的方式,而以引导者的身份,为学生在理解所要掌握的知识之前,设计一种概念框架,这种概念框架就像建筑中的脚手架,它为学习者进入所学知识提供了一个基本的视角与工作平台,可以有效地帮助学生进入到对知识的理解,即把复杂的学习任务加以分解,将其类型化、结构化、规约化,从而把学习者的理解逐步引向深入。在这种教学方法下,教师的作用是引导、组织开展教学,使学生在所建构的支架模式上掌握和内化所学的知识技能,进而使学习者进行更高水平的认知活动。

计算机程序设计语言作为一种面向计算机用户的语言,同我们的自然语言有其一定的相似性,即具有一定的语法规则和语意规定。我们教学的目标主要是使学习者掌握这些基本的语法规则和语意规定,从而驾驭纷繁复杂的计算机语言工具,最终获得能够独立编写程序和解决实际问题的能力。对于这些复杂的语法结构,教师在教学中可以效仿自然语言的结构,对计算机程序设计语言加以分解从而建立框架,逐步引导学生完成对知识的自我建构。

2 支架式教学方法下的计算机程序设计语言教学过程

支架式教学强调,知识是在一定的情境下,借助教师等他者所提供的基本支架的帮助,学习者发挥自己的学习主动性,以基本支架为知识掌握的内在脉络,逐步完成学习任务,达到预期目标。这种教学方法体现在计算机程序设计语言的教学过程中由以下环节组成。

2.1 搭脚手架

搭脚手架是支架式教学展开的基础,合适的脚手架是学生建构知识的有效工具。脚手架的设计必须具有层次性、逻辑性,所谓层次性是指其具有不同等级的结构,所谓逻辑性是指不同等级的结构具有内在的必然联系。

在教学实践中,我们所搭建的脚手架是以学生的已有知识为依据,即与学生已有的母语——汉语的知识联系起来,按照汉语划分为字、词、句、章的语法结构,把计算机语言也归结为字、词、句、章的结构,这样,“字、词、句、章”的逻辑结构就成为计算机程序设计语言教学中的脚手架。这样一种“字、词、句、章”式的分解方法是本人多年从事计算机程序设计语言教学实践的心得,由于它来自于学生的母语——汉语自身的语法结构,因而很容易为学生所接受并运用到对计算机程序设计语言的学习中去,而良好的实际教学效果也充分地证明了这一点。

2.2 创造情境

情境是支架式教学展开的环境,是学生对知识建构的基础。但情境的创建是为学生的知识建构服务的,所以,教师创建情境时必须紧紧围绕主题,根据脚手架上的不同点,创建不同的情境。

在教学中情境的设计,我们是根据脚手架上的每个点展开的,对于“字”这个点可以展开基本数据类型的教学,“词”这个点可以展开复合数据类型的教学,对于“句”则可进行基本控制结构的教学,“章”是建立在以上基础上的综合应用。在每个点中都有意识地设计了一些相应的问题、任务,提供相应的资料、数据支持,形成有助于学习的特定情境。

2.3 独立探索

在支架式教学模式中,作为引导者、组织者的教师提供的概念框架是学习的前提,平台一旦确立,学生在其上展开的独立探索就成为中心内容,调动、发挥学生的学习主体性进而完成对知识的建构,这才是支架式教学模式的根本目的。

在教学中对于脚手架上的每个点,都要给学生一些程序资料,让学生独立去阅读、分析,指明程序的优点与不足以及对其优化的方法,同时还需布置一些编写程序的任务,要求学生自己编写程序,并对自己的程序进行评价。总之,我们通过任务驱动的方法促进学生进行独立探索。

2.4 协作学习

协作学习是支架式教学展开的重要方法,是学生知识建构的重要保证。由于不同人看到的是事物的不同侧面,进而对事物的理解也不同,学习者以自己的方式建构对于事物的认识时,不存在惟一标准的理解,通过学习者的协作学习可以使其对事物的理解更加全面。

在教学中注重通过布置协作学习任务,强迫学生进行协作学习。如其中一个协作任务是这样设计的:编写一个学生成绩管理管理系统,其中需要完成四项目标:①输入学生的基本信息与各科成绩并保存到一个文本文件中;②从文件中提取学生成绩,统计平均分;③对所有学生按平均分进行排序;④任务完成后要求以Word文档上交。这四项目标分别由不同学生或不同小组学生完成。这个学习任务中的四项目标是相互衔接的,后续项目必须以之前项目的结果为基础,所以,不同学生或不同小组之间的协作学习就是必须的。正是通过这样一些协作学习任务的布置,做到了以强迫的方式帮助学生建立协作学习的意识,进而使协作学习成为自觉的学习方式。

2.5 效果评价

效果评价是支架式教学展开的动力,是对学生知识建构程度的评价。对学习效果的评价,包括学生个人的自我评价和学习小组对个人的评价,评价内容包括:①自主学习能力;②对小组协作学习所做出的贡献;③是否完成对知识的建构。

在教学实践中采用的评分规则是:个体所得分值=小组得分*(个体在组内得分/小组内所有个体得分的平均值)。小组得分是任务评比所得的结果,是小组间竞争和小组内合作的结果。任务评比时,每个小组对自己的任务进行汇报时,其他小组和教师对其打分,其所有分值的算术平均数作为该小组最后的得分;成员的组内得分则是在组长的组织下,由所有的成员对其打分,取算术平均数。

通过上述环节在教学过程中的实施,基本实现了教材、学生、教师、媒体教学四要素之间的良性循环,如图1所示。

3 反思

在教学实践中使用了支架式教学方法,虽然取得了一定的效果,但也遇到很多问题,其中既涉及到如何完善这种教学方法本身,又涉及到其与教学内容、教学大环境等的关系,这里提出自己的几点体会:

3.1 强调以学生为中心

学生的主动探索性是知识建构的关键。在支架式教学方法中,学生是知识的主动建构者,而不是被动接受者,教师也不再是传统的知识传授者。在整个教学过程中教师起组织者、指导者、帮助者和促进者的作用,教师必须注意这种角色的转变与指导尺度的把握,要因势利导而不要越俎代庖。

3.2 注重情境设计的具体性

情境是影响知识建构的外在氛围,形成主题集中、形式活跃的总体情境对于教学任务的完成是非常重要的,但情境最终是为特定的教学任务服务,是在支架下教学的总体模式下展开的。因此,教师对情境的设计必须围绕学生所要建构知识的主题,要和支架式教学模式的具体要求结合起来。

3.3 注重人际互动

人际互动是影响知识建构的社会环境,通过教师的指导实现师生互动,通过学生的协作学习实现学生之间的互动。但人际互动的完善仅有具体课程、具体教学模式是难以完成的,它有待于总体社会环境、教育环境的完善,也有待于学生自身素质的总体提高。

3.4 广泛地利用学习资源

学习资源是影响知识建构的文化环境。多媒体计算机和Internet网络教育是建构主义发展的沃土,是理想的认知工具。在这个环境下,学习资料非常丰富,我们必须充分利用这些资源,即要充分利用e_learning。但资源丰富的同时,必然会存在良莠不齐,教师必须帮助学生对这些资料加以甄别。

4 结束语

我们在计算机程序设计语言教学中应用建构主义模式下的支架式教学,已经取得了很好的教学效果。我们通过实践检验了这一教学理论,希望我们的经验对同行有参考价值。在未来的教学实践中,我们将进一步细化这种教学模式,提高计算机程序设计语言这门课程的教学质量。

参考文献:

[1] 何克抗.建构主义的教学模式、教学方法与教学设计[J].北京师范大

学学报(社会科学版),1997.5:74-81

[2] 陈琦.教育心理学的基本问题(二)—关于建构主义理论[J].中国远程

教育,1999.2:40-43

[3] 袁维新.影响知识建构的环境因素探析[J].教育科学,2003.2:41-44

[4] 张屹,祝智庭.建构主义指导下的信息化教育[J].电化教育研究,

2002.1:19-23

篇5

关键词:教学决策 ICAI 知识库 系统设计

现阶段,计算机程序设计是我国相关专业培训、学习的基础课程之一,其主要是让学生能够根据计算机软件、系统的使用要求、功能需求,灵活运用各种程序设计语言,来实现计算机程序运行的具体操作与处理,以锻炼、培养学生的创造力、思维能力以及设计水平,具体内容包括计算机程序的编码实现、需求分析、程序测试、算法分析等多个方面、环节以及步骤。然而,在实际的计算机教学中,受教学方法、模式、课件等多方面影响,学生的动手能力较差、设计水平较低,在一定程度上限制了我国计算机技术的发展。对此,本文结合PAR程序设计方法,就ICAI教学决策实验系统的设计与实现作简要的分析、探讨。

一、ICAI教学决策实验系统的知识库设计

作为ICAI教学决策实验系统的核心构成,各类知识库与教学决策的设计,不仅需要综合考虑多种专业、指导理论,同时还应从实际的设计、应用角度出发,在保证能够有效利用各种计算机软件、人工智能技术的前提下进行具体设计。在实际的系统设计中,为有效融合、充分发挥启发式教学的理念及方法,可在实验系统的领域知识库中增设测试题库。值得注意的是,对于系统的领域知识库,应将其分为多个类别、结构、层次,并保证不同学科、内容之间的信息交互,使学生能够以更为直观、明确的方式来获取、学习计算机知识,同时保证各知识单元的独立性、完整性,以开放式的设计为系统运行期间的维护、扩充创造良好条件。由于这种ICAI教学决策试验系统的设计,是出于计算机程序设计的教学考虑,有效结合了PAR方法、理论,从而就需要在该结构模型、领域知识库中增设列题库,用以存储、备份、提供大量的教学例题,从而才能让使用中的求解过程充分发挥、体现启发式教学、PAR方法的作用。对于学生知识库的设计、教学决策规则的制定,应综合考虑我国计算机技术的发展现状与学生群体的实际情况,来确定其具体内容。

二、ICAI教学决策系统的具体内容与实现

(一)教学决策内容

由于计算机程序设计的教学,通常需要依据教学决策的结果来选择、确定具体的教材内容、教学方案、测试例题,为保证各项业务处理、内容范畴、领域划分的明确性,从而就需要设定一系列的规则加以限制。一般情况下,教学决策的规则组成主要包括:综合考虑学生群体的专业水平,合理选择进度、难度相当的领域知识,即启发式教学规则;有效结合学生群体当期的学习状况与成果,制定相应的激励、表扬、复习等策略方法,即处理、反馈策略规则;根据教学进度与学生群体的成绩、能力、资质,有针对性的选择相应难度、级别的授课内容,即选择学习内容规则;依据学生群体的学习进度与成效,科学选择、合理确定测试题目,即启发式测试规则;按照学生群体的个人要求、意愿,选择随机复习方法,或教学成果较差的知识单元,即复习规则;结合计算机程序设计的总体教学情况、学生状况,选择适合的教学方案,即组织教案规则。

(二)教学决策模型的建立

对于ICAI教学决策实验系统中的决策模型,可将其分为学习据测、复习决策两种。在具体的学习决策中,主要是根据学生群体在登录、使用系统时的具体操作与相应生成的历史信息数据,通过选择内容规则的设定与使用,选择、确定最终的教学内容。与此同时,利用系统中的组织教案规则,设计、确定计算机程序设计教学的组织安排,并自动生成相应的教案。在此基础上,布置、设定实际的教学进度、学习状态指针等。值得注意的是,对于需要加以呈现、测试的教学内容,可通过综合使用启发式教学规则、测试规则来实现,并确定测试内容。最终,在结束测试、呈现后,可综合使用反馈策略、处理规则作后续的加工处理,同时返回教学环境。

(三)系统的实现

对于ICAI教学决策实验系统的设计与实现,考虑到系统的使用频率、范围将逐步加大,而系统中的规则也将相应增加,为尽可能的降低规则删除、修改、增加对于主控程序的影响,可采用Java的类库来实现具体教学规则,同时在类库中录入、备份、存储系统主要的教学规则、策略,并保证各个独立接口的统一性。综合考虑教学决策内容所涉及到的方法、属性、事项,通过系统、全面的分析与归纳,可将关键类库分为以下几种:

1.学生类。其主要是在学生登录ICAI教学决策实验系统后,通过身份验证与统计分析的方式,确定使用者的学习进度、水平等信息,并保存其具体内容。

2.环境类。通过统计、分析相关的教学策略、方法以及具体内容,布置相应的教学环境,筛选、提炼有关的教学知识,并保存相应的教学进度。

3.教学决策类。涵盖了启发式测试规则、选择教学内容规则等多个方面、不同功能的教学决策规则,结合实际教学内容、情况的不同,可分别以PAR方法、事实性知识点,来进行具体的学习、测试。

4.总控、界面类。整体调整、综合控制涉及到学习、复习的类库,并提供相应的操作界面。

篇6

双语教学的背景和现状计算机程序设计语言课程是国内外高校各本科专业均需开设的系列课程,主要包含“C/C++程序设计”课程、“Java程序设计”课程、“Web程序设计”课程等,部分较为重视计算机编程能力教育的高校还纳入了Python、Matlab等程序设计语言课程。作为信息产业技术的基础与核心,计算机程序设计语言课程的教学历来受到国内外众多高校、科研机构和行业企业的普遍关注与重视。由于信息产业技术起源于美、英等西方英语系发达国家,国际通用的主流计算机程序设计语言完全基于英语进行构造和描述,相关的技术前沿与行业标准的制定也均采用英语作为第一自然语言。国外英语系国家的计算机程序设计语言课程均采用英语作为教学语言,而法国、德国、西班牙、日本等非英语系发达国家则早在20年前就已经全面采用“母语+英语”的双语教学模式进行计算机程序设计语言课程的讲授,且英语讲授的时间比例已逐渐超过母语。从整个计算机程序设计语言技术及其衍生产品的发展趋势看,英语在这一领域的统治地位仍将持续相当长时间。与国外主流趋势相比,由于缺乏同时具备计算机程序设计语言课程教学能力和英语授课能力的教师,国内的计算机程序设计语言课程双语教学工作进展较缓慢。目前,在大部分国内院校中,计算机程序设计语言课程仍然基本采用中文作为第一教学语言,双语教学或者全英文教学只作为一种辅助教学方式存在。与西方发达国家相比,我国的计算机程序设计语言课程双语教学工作在数量和质量上仍有一定差距。然而,出于行业发展和国际化人才培养的必然需求,该项工作正日益受到国内高校的重视,双语教学在计算机程序设计语言课程中的全面开展已逐渐成为主流趋势。2001年8月教育部印发的《关于加强高等学校本科教学工作提高教学质量的若干意见》(教高[2001]4号文)明确指出,按照“教育面向现代化、面向世界、面向未来”的要求,为适应经济全球化和科技革命的挑战,本科教育要创造条件使用英语等外语进行专业课教学,高新技术领域的信息技术等专业更要先行一步。暂不具备直接用外语讲授条件的学校、专业,可以对部分课程先实行外语教材、中文授课,分步到位。在教育主管部门和各高校的强力推动下,当前,双语教学开展的规模和水平已成为众多高水平大学教学工作评价标准中的重要组成部分。双语教学在计算机程序设计语言课程教学中的实践与应用,顺应了国家高等教育发展的潮流和趋势,符合学科与专业发展的要求,体现了“专业+外语”的复合型高层次国际化人才培养理念,对于推动本科教学质量更快更好地提升,具有重要的实践意义。

二、计算机程序设计语言课程

双语教学存在的问题当前,双语教学模式在计算机程序设计语言课程中的实践与应用,得到了大多数高校的认同与重视,但具体实施中,由于文化和意识上的差异,仍存在一些需要解决的问题。(1)双语教学在计算机程序设计语言课程的教学中应用较少,影响较小,受众面较为狭窄。目前,绝大多数高校面向非计算机专业的“C/C++程序设计”课程基本采用中文授课,所用教材、教辅资料和课件等教学资源也基本由中文进行描述。真正采用双语教学授课的一般仅限于部分面向计算机专业的非第一门程序设计语言课程,且这部分课程能否持续实施双语教学并不能得到保证。如果任课教师发生了变化,授课形式也可能随之发生变化。(2)双语教学在计算机程序设计语言课程中缺乏专业化的评价标准。几乎所有的高校对课程的教学效果均采用相同的评价标准体系。然而,除去这一制度本身的不合理性之外,作为始终处于高速发展阶段的计算机程序设计语言这一技术而言,对评价标准体系的专业化也是必然要求。此外,双语教学作为一种有别于传统中文教学的模式,在已习惯于接受中文知识传授的中国学生群体当中进行实践与应用,也应该采用一种更专业、更科学的评价标准体系。(3)国内双语教学在计算机程序设计语言课程的课内实验、课后辅导和考核过程中应用较少,与国际主流的“教、辅、考、实验统一化”双语教学模式相比有较大差距。目前,国内高校大多数计算机程序设计语言课程双语教学,其双语实施的过程仅局限于课堂讲授环节,而在课内实验、课后辅导和考核等环节,仍然采用中文进行相关工作。这种情况在一定程度上对双语教学工作的顺利开展起到了较为负面的作用和影响。(4)从事双语教学的专业教师缺乏主动性的自我提升和发展意识。应该说,能够从事双语教学的专业教师均具有较好的英语语言水平和较高的程序设计语言课程授课能力。然而,主动性的自我提升和发展意识在这部分教师群体中仍较为匮乏,“等、靠、要”的传统观念仍具有相当的市场。(5)学生的英语水平限制了双语教学工作的开展。由于我国的高中教育存在较大的地域差距,来自不同地区的学生英语水平相对而言也具有较大差距。尤其是在“听”和“说”两个重要环节,更限制了双语教学工作的正常开展。此外,部分学生对于英文授课存在一定的抵触与抗拒心态,在现实教学中也是客观存在的。

三、提升计算机程序设计语言

课程双语教学质量的策略根据前文所述的相关背景、现状和存在的问题,结合多年从事计算机程序设计语言课程双语教学工作的经历,本文就如何提升计算机程序设计语言课程双语教学质量提出如下建议:(1)强化教师与学生在宏观层面上对双语教学的认可与认知程度。计算机程序设计语言课程采用双语教学模式,远非简单地将英语授课纳入计算机程序设计语言课程的教学环节当中。其根本目的在于通过“外语为主+汉语为辅”教学方式,使学生在获得专业知识的同时,能够掌握与提高专业科技英语和日常交流英语的“听说读写译”能力,从而为具有国际化水准的专业科技人才培养工作奠定良好的基础,在全球化的市场与行业的竞争中处于优势领先地位。无论是教学工作的管理者、教师还是学生,对这个宏观层面都应该有充分的认识和认可,从而在主观上能够更加积极、更加高效地投入到双语教学工作中去。(2)尽可能地激发学生兴趣,提升学生主观能动性。传统上,中国学生常年处于知识灌输过程当中,对课堂教学过程缺乏兴趣与主动,习惯于被动接受。在这种情况下,任课教师应该通过自身的学识、能力与魅力,结合市场与行业的现状与趋势,引入部分成熟的成功案例,在课堂教学过程当中对学生予以正确的指导。从某种程度上而言,能否激发学生的学习兴趣,是教师教学能力最直接的体现。由于计算机程序设计语言属于较为困难的课程,且结合双语教学模式,在语言运用和理解上对教师和学生均提出了更高的要求。因此,这部分的工作可视为整个教学过程中最重要、同时也是最具有挑战性的环节。以作者的经历而言,一旦能够激发起学生参与计算机程序设计语言双语教学的兴趣与热情,所产生的效果要远远超出单纯采用中文进行授课的模式。(3)双语教学应贯穿于计算机程序设计语言课程整个教学环节。在课堂教学、课外辅导、课内实验和考核过程等各方面全方位实施双语教学,从而实现整个教学环节与国际化标准接轨。在具备一定条件的高校,可将相关课程的教材和教辅资料编写、试题库与资源库建设等同样纳入双语教学建设当中。如有可能,可将计算机程序设计语言课程的前后衔接课程均纳入双语教学模式。这种做法对于提高学生整体的英语应用水平、专业素质和市场竞争能力极为有效。(4)建立专业化的评价与保障机制。如前文所述,对计算机程序设计语言课程的双语教学工作建立专业化的评价标准,一方面是程序设计语言这门现代技术本身的要求,另一方面,也是双语教学有别于传统中文教学的要求。生搬硬套传统的针对中文授课模式的评价标准,不利于双语教学工作在计算机程序设计语言课程中的应用与实践,且会对开展此项工作的教师产生一定的负面影响。此外,教育主管部门和各高校的教学主管部门,应对双语教学工作的开展给予适当的政策扶持,在课题立项、师资培训、岗位晋升等方面予以充分的保障,从而提高教师采用双语教学进行计算机程序设计语言授课的积极性与主动性。(5)从事相关工作的教师的自我提升与发展。从事计算机程序设计语言课程双语教学对教师的业务水平和外语运用能力提出了相当高的要求。因此,从事相关工作的教师应主动加强自身水平与素质的提高,尤其是提高英语在计算机程序设计语言课程讲授中的应用水平。有条件的高校可有目的、有计划地派遣相关教师赴国外知名院校进行课程进修与培训,进一步提高双语教学从业教师的整体水平与素质。

四、结语

双语教学在我国还属于一种比较新兴的教学模式,在计算机程序设计语言课程教学当中,相关的双语教学理念和教学实践如何更好地符合我国的经济与社会发展需求,还有待进一步地研究与探索。然而,在教育国际化、竞争全球化的今天,计算机程序设计语言课程双语教学对培养具有国际化竞争能力的学生具有重要意义和价值,必将为高校相关专业的教学质量发展作出重要贡献。

作者:潘磊 王逊 张静 单位:江苏科技大学计算机科学与工程学院

参考文献

[1]陈红霞.普通本科院校双语教学存在的问题及对策[J].改革与开放,2015(4):88-89.

[2]许雪晶,佘玉萍,林元模.高级语言程序设计双语教学探讨[J].计算机教育,2014(22):57-58.

篇7

【关键词】中职学校;计算机程序设计;课程教学

程序设计课程作为计算机专业的一门基础课程,它有利于提高学生的思维能力,对学生深人学习计算机专业知识有很大的帮助。但是由于学生本身素质差、程序设计课程枯燥等原因,计算机程序设计教学效果始终不尽人意,学生学习积极性不高。如何根据社会经济发展变化,对程序设计课程的教学内容、教学方法、考核方式进行相应的改革,实现培养高等技术应用型和高技能型计算机人才目标,已经成为广大中职教师普遍关注和重点研究的课题。

一、中职学校计算机程序设计课程面临的困境

从中职学生生源方面看。由于程序设计课程本是一门难度不小的专业性较强的一门学科,再加上近几年大学生的普遍扩招,使中职学校的生源质量未能得到保障,中职学校的生源大部份都是初中生中学习成绩偏低,基础相对薄弱的学生,学习程序设计语言的难度就可想而知了。在实际教学过程中,经常会出现一个很简单的问题,往往会耗费很多的时间去讲解,这都是因为学生的理解能力不强,认识水平低的原因。在笔者对所教计算机专业学生的问卷调查中也显示:100%所有的学生都认为学习程序设计课程是很有必要的;但在学习过程中,85.7%是学生都表示学习上都靠课堂上教师所教授的内容,课外课余时间几乎是没有再学习;62.6%学生认为程序设计课程语法复杂,难度大、听不懂;29.8%的学生认为课堂上的知识能够掌握,但不会灵活变通;甚至有71.3%的学生不习惯也不愿意借助网络资源进行学习;约有50%的学生一遇到有难度的课程时,更轻易地选择放弃学习。由此可见,现在中职学生的学习动机普遍不足,学习观念还停留在基础文化课程的学习上,没有掌握技能型学科的学习方法,且没有坚持学习的毅力和精神。

从课程本身的特殊性和课程的组织看。程序设计类课程由于其自身的特殊性,语法规则繁多课程内容枯燥、不容易激发学生的学习热情,另外语法规则难记易忘也增加了学习难度,学习这类课程的一般方法是对需要掌握的语法规则熟悉熟记和熟练应用,要进行程序设计不仅需要强记语法规则还需要转化思维,使用程序设计的思想思考问题解决问题。如果不能转换思维方式实际动手编程时将不知如何下手,学习的语法规则都将会成为纸上谈兵。但在中职学校中,课时安排并没有考虑到学生的特殊性,课程没有足够的课时供学生在理解和掌握课本上知识的同时,通过在实践过程中发现问题,解决问题,从而学习更深层次的东西。中职类教材上存在严重滞后现象,案例相对中职生能力而且颇有难度,很多案例无法贴近生活,跟上信息技术的发展。在教学上,许多老师没有实际计算机项目研究和开发经验,且知识结构陈旧与实际的计算机技术的发展存在了较大的差异,在教学过程中,老师根据自己的理解讲解课本上的知识,然后学生做一些适当的消化和理解,上机操作也只是对课本上的案例进行编程调试,都只是照着课本打代码,一旦调试成功就完成了任务,没有自己动脑思考的过程,而缺乏了编程最重要的思想和创新。

二、加强中职学校计算机程序设计课程教学的措施

如何激发学生的学习兴趣和自主学习,如何培养学生程序设计和编写的思维,提高教学的实效,本人从以下几个方面进行分析探索。

1.要让学生有一种想学会、能学好的感觉。中职学生学习上的兴趣大多来自自我效能感,中职学生往往是在学习上大受打击的对象,对学习的信心很不足,在学习初期塑造成就感可以激发学习学习下去的兴趣,作为一名中职学校的程序设计语言类教师,为了培养学生浓厚的学习兴趣,在课程初期,可以编写一些实际生活中简单有趣的程序,让学生有了学习地方冲动和学习热情。然后在接下来的慢慢深入的课堂教学中,首先必须要做的事就是让学生觉得这节课我们将要学习的是一个非常实用的东西,并且让学生知道这个程序的实现并不是很难,同时在讲解的时候把知识点讲得通俗易懂点,做到联系实际,深入简出,打消学生对程序设计课程的恐惧心理,让知道,只要认真听,老师一定能让他们自己亲自设计出来。在程序设计课程教学中,教师对语法和基本程序的讲解时很有必要的,教师的思维和讲解方法也很大程度决定了学生的接受程度,因此,在教学中,要避免呆板的灌输,讲解时要通俗易懂,让学生容易接受。其次,还要求教师不断提升自己,从实践出发,把书本上的知识点运用到解决实际的生活问题上来,比如,现在学生都在使用智能手机,里面的很多简单又实用的一些软件,老师要引导学生把学到的知识点运用到分析软件的设计和制作上来,从内在激发学生学习的兴趣。

2.适当项目教学法提高教。所谓项目教学法,就是让学生在一个典型的“项目任务”的驱动下,展开教学活动,引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”,从而得到清晰的思路、方法和知识的脉络。教师的教和学生的学都是围绕如何完成一个具体的项目任务进行的,学生在需求下学习,学以致用,更好地学会知识,掌握技能。采用项目教学法,首先提出一个需要完成的具体任务,与学生共同分析解决该问题所需的知识,方法和步骤,围绕具体任务进行适量的概念教学和举例讲解,可以独立完成,也可以合作完成。目的是通过完成任务,掌握学习内容,学会学习,培养综合能力。在这个过程中,教师参与探索和指导,引导学生掌握教学内容,指引方法不当会导致学习不知如何下手而使项目教学无法进行。并且项目教学中,教师要重点设计选题,选题要接近实际需要,并且要难易适中,难度与学生能达到的能力不匹配不仅没有达到预期的效果,而且还会挫败学生的学习积极性。

3.采用小组合作完成难度大的项目。学生的学习能力是不同的,因而在同一课堂内,全班同学所掌握的知识会有所不同,容易造成学生成绩两极分化和教学知识点的疏漏。某些项目采用小组合作的形式进行,让不同能力的学生都能参与到项目中来,并且在合作完成任务的过程中,基础差的学生可以借助基础好学生的帮助来提升自己。在实施分组合作过程中,教师明确考核方式,比如通过平均任务量和小组每个成员都要项目演示达标该小组才能通过来督促小组中成员间互相帮助,特别是基础差的学生可以得到基础好的学生的帮助,同时也避免任务代替。

随着计算机技术的迅速发展,程序设计语言将会显得越发重要,但程序设计语言并非深不可测,反而趣味性很强,还可以提高思维能力,对其他课程的学习也有很好的促进作用。在中职学校中,程序设计语言课程教学更需要教师有极高的教学水平和综合的教学艺术,教师在教学过程中不能局限于书本知识,要把专业课程与实际运用联系起来,提高学生实际动手能力和探索、合作、创新能力,才能提高教学实质。

参考文献:

[1]秦勇《中职计算机程序设计课程教学现状的调查与思考》卫生职业教育2014-03-25期刊

[2]邱小玲《技工学校计算机程序设计课程教学思路》计算机光盘软件与应用2013-08-15期刊

[3]邢秀娥《案例教学在中职计算机程序设计课程中的应用》科技创新导报2012-05-01期刊

篇8

程序设计课程的教和学一直都是困扰广大教师和学生的一大难题,具体表现在程序设计课程中的概念抽象,语法严谨、内容多且难于理解,编程难、调试程序更难等方面。针对这些问题,笔者曾多次大胆尝试改变传统的教学方法,并把目标定位在培养学生的兴趣上来。试着用多媒体教学全盘取代传统的板书教学,去花大功夫制作精美的多媒体教学课件吸引学生,虽然取得了一定的效果,比如,至少上课趴桌子睡觉、玩手机的学生少了,但仍存在着一些不足:如学生对很多深入的知识掌握得不够扎实和深刻,编程的能力并没有得到实际的提高等。实践表明,将多媒体教学和传统的板书教学较好地结合起来,才能既调动学生的学习兴趣,又能切实提高学生的编程水平,从而达到更佳的教学效果。

1 程序设计课程的特点

计算机程序设计课程普遍被认为是计算机专业中比较难学的课程,原因在于课程内容偏于理论、概念抽象、语法较复杂等特点,而且编写程序对学生的逻辑和数学思维要求非常高[1]。另外学生在调试程序的过程中也缺乏耐心,从而导致学生在学习的过程中,不能够获得立竿见影的学习效果。正是基于此,很多学生对程序设计类课程都感到枯燥乏味。

2 程序设计课程的传统教学方法

传统的程学设计课程的教学方法即以教师为主的填鸭式[2],教师在授课过程中占主导地位,而且教学手段也枯燥单一:主要采用板书,这种教学方法会导致教师在课前准备大量的教学内容,课堂运用大量板书,课后辅导难度极强的特点。更令人难以接受的是教学效果很差。

3 多媒体教学的优缺点

利用多媒体课件教学能够方便、快捷、直观、形象地传授教学内容,同时也能够使得课堂更加生动、有趣,从而使课堂气氛更加活跃[3]。但也存在着一些负面影响。如:信息量过大,会使得学生缺乏一定的思考过程,也会使教学重点、难点不突出或突出不够;动画、视频运用不当,也会分散学生的注意力,使学生的注意力转移到形形的动画、视频上来,很难实现一节课的最佳效果。另外,如果一节课过多的依赖多媒体课件,会失去课堂的师生互动环节,很难发挥学生的主动性等。如何发挥多媒体教学在计算机程序设计课程教学中的优点,文中结合计算机程序设计课的特点,以Java语言程序设计为例设计其中一节课的教学内容及过程,供大家参考。

4 程序设计课程的教学过程设计

课程内容是“图形用户界面程序设计中菜单设计”,课时为1学时(50 min),具体教学过程设计如下。

第一步:通过多媒体课件为学生演示一个图形界面,如:学生选课系统登录界面。用时2 min。

第二步:提问学生回答该界面的组成,如:框架,标题,菜单栏、菜单、标签、按钮、文本框等。并识别哪些内容是已学过的组件,哪些是没有学过的组件,用特殊颜色对没有学过的组件进行标注,引入新课菜单设计的内容。用时3 min。

第三步:利用多媒体课件讲解菜单的组成、相关类以及他们的构造方法和常用方法,此时课件中的文字效果为黑色底纹,文字为白色。其中几种常用方法利用表格对照的形式进行讲解。用时15 min。

第四步:返回到第一页幻灯片,继续给学生演示界面,使学生进一步了解菜单的组成,用时3 min。

第五步:找学生回答设计图形用户界面的步骤,老师给予点评,并通过板书在黑板上写出设计图形用户界面的步骤,使全体学生再次加深并熟记这一部分内容。用时5 min。

第六步:课件演示菜单的制作步骤。用时2 min。

第七步:要求结合第三步中讲到的内容和第六步给出的步骤,学生和老师共同完成学生选课系统登录界面中的菜单设计,老师用板书完成。学生打开Eclipse软件进行设计与调试。用时20 min。

总结反馈:由于学生对多媒体承载的内容不容易记忆,所以将重要内容书写在黑板上便于学生参考记忆,另外多媒体呈现的效果是板书所无法比拟的,经调查,学生一致认为这种多媒体与板书合理有效地结合更能调动学生的兴趣,也能够使学生更好地掌握所学知识。

篇9

关键词:计算机程序设计教学 案例教学 实践能力 创新能力

计算机程序设计类课程是计算机类专业的专业基础课程,在课程体系中占有重要的地位和作用。无论学生毕业后从事软件、硬件、网络等方向的工作,都离不开程序设计的基础。因而这类课程的教学就显得尤为重要。而案例教学法是经过长期的教学实践,形成的独具特色的教学方法,它已经在其它学科领域教学中取得了良好的效果。如何在计算机程序设计教学中引入案例教学法,发挥其作用值得每位从事该领域教学的教师的关注。

1 计算机程序设计教学的现状

高等院校最重要的社会职能就是培养专门人才。高校培养的计算机专业人才能否满足社会的需求?市场最有发言权。据我国的权威机构得出我国目前的计算机人才大体是:社会需要大量的计算机人才,但是学校培养的计算机人才达不到社会需要的技术要求,最终造成这种供与需的不协调矛盾,尤其是在今天网络飞速发展的时期,企业需要及时上岗的计算机人才,而高校培养的大部分是缺乏实践性。

虽然企业对高校计算机毕业生的认识角度不一定公正,但由此我们也可以看出些端倪:即我们的学生已经掌握了大量的基础知识理论,并有了一定的理论基础,但在我们在实际的动手能力上缺失缺乏动手能力,尤其是在利用计算网络独立实现程序的设计以及解决计算机问题还缺乏一定的不足,我们在对我们的学生进行理论知识的时候我们也要增强他们的创造能力,增强他们的程序设计观念,增强他们的社会实践性。作为老师我们要从我们的授课环节找出原因,我们细看我们的计算机授课我们不难发现我们大多数采用老师讲授学生听得简单的课堂模式,对于这些常规的授课模式我们发现它还存在着许多的问题:

1.1 以教为主的教学方式不能有效激发学生学习的主动性 以教为主的教学方式可以说已经严重的不能适应现代教育的理念,我们不能过重于老师的知识灌输,而是应该以学生为主体,因为我们现在的授课模式不利于学生的实践能力的培养,更不利于创新型人材的成长。虽然近年来教学中普遍采用了多媒体课件,提供了图文声像等更丰富的感官刺激,也使学生可以通过多媒体演示系统接收更多的信息量。但这只是灌输的方式发生了改变,即由“人灌”升级到“电灌”,师生交互、生生交互的匮乏使学生成了“接收器”,教师成了躲在拐角的“放映员”。

1.2 上机操作结果不理想 随着现在的高校硬件条件的提高,学生的上机机会也变大,这样对于学生的实践能力有了很大的提高,在一定的程度上促进了学生的设计技术水平,但是我国的计算机程序设计的上机效果还是不理想,因为现在的高校学生进行实践的课程都是对课本上的实验进行葫芦画个瓢的操作模式,这样就会缺少对于他们的创造性能力的培养。

2 案例教学的优势

案例教学就是老师根据教学的目标以及我们的大纲指导,利用我们设计出的实际案例结合我们的学习目标制定的学习内容。可以说案例教学能够引起学生的极大的学习动力,促进他们的主动性,增强他们的创新能力,因此我们在进行案例教学的时候我们一定要把理论学习与实践操作结合起来,加大对于学生的实践能力的培养。案例教学的目标定位正是当前在计算机程序设计教学领域的薄弱环节。

2.1 案例教学可以强化学生的知识,促进他们的实践能力 案例教学就是利用我们生活中的实际情况的素材,结合我们的知识,进行的理论学习,这样的学习方式可以说对于学生对于知识的掌握有着积极地推动作用,尤其是对于学生的知识转换有着至关重要的作用,这样也可以帮助学生及时的了解社会中的事件,使他们及时的接触社会的知识,缩短他们与社会的差距,从而最终提高学生的实际操作能力。

2.2 为学生提供团队工作方式,促进创新 案例教学法的授课方式是教师和学生一起,共同参与对实际案例的讨论和分析。通常,教师在课前将案例交给学生阅读,然后在课堂上组织学生讨论。创新是人类进步的源泉。创新能力的培养,是教育者孜孜追求的梦想。创新能力源自学生活跃的思维,思维通常总是开始于疑问或者问题(苏联心理学家斯坦)。正是案例这个情境化的问题,可以激发学生主动的思考和探究,寻找恰当的解决方案,从而激发学生创造力的产生。

3 计算机程序设计教学中案例教学法应用

通过以上分析,案例教学法可以解决一些在计算机程序设计教学中存在的不足。但是如何有效的用好这种教学模式,发挥其积极作用,还需要从如下方面着手:

3.1 案例库的建立 案例教学最为重点的就是案例质量的好坏,因为直接影响到案例教学的效果。一般情况下,程序设计教学案例要做到:①案例要新。教学案例要不断更新,与时俱进。②案例要实。要符合客观实际,体现教学目的、要求尽量选择离学员生活最近的案例,从而激发学员的兴趣。③案例要深。案例本身要有深度,这样才能形成见解纷呈,观点不一的案例教学应有的氛围,以促使学员积极思维,深入探讨,从而在较高层次上分析和解决问题。

要注意案例与举例不是同一概念。两者虽然都是通过一定的事例来说明一定的道理,都是为一定的教学目的服务的。但是案例在案例教学中占中心地位,而举例在一般教学活动中则居次要地位,是辅助教师说明问题的一种手段;案例教学中的案例比举例教学中的例子的涵盖面更加广泛、精致。因而在程序设计教学中,案例不宜过多,一般在学习了一个阶段后进行,甚至是在课程基本内容结束后的课程设计中引入。

程序设计类的案例教学的根本目的是使学生学会软件开发和软件设计。因而需要引入在实际的软件开发案例最为合适。当前各类资源上有大量的开发实例可供选择,但很多案例过于简单,流于形式。不能反映真实开发的全貌。所以,最好组织部分教师,对这些案例进行筛选,甚至是做出一定的修改,使其更贴近于实际,更利于案例教学的开展。同时,这也是对教师提高案例教学能力的一个有益帮助。

3.2 案例教学对教师的要求 案例教学不同于普通的授课,教师要介绍分析框架或工具,引导学生分析过程和步骤,对学生的不同观点进行梳理,对重要的理念给予提示。这都要求教师要熟悉案例,有广博的知识、较强的逻辑分析、要点概括和驾驭课堂的能力。这些能力的获得不是一朝一夕所得,需要教师花费很多的辛勤和努力。尤其是,大多数计算机程序设计教学的老师没有真正从事软件开发的经历,参加项目开发的经验也不够丰富,大多是大学毕业后任教,实践能力也未必强。对他们而言,既要提高自己的专业素养,尤其是实际的软件开发能力;又要学习案例教学法的基本方法,任重道远。

3.3 案例教学的操作程序和教学策略 案例教学的实施程序分为“理论准备-案例研讨-创造迁移”三个基本阶段。

理论准备阶段:由教师讲授程序设计必须具备程序设计理论基础(如程序结构、类、对象等)和语言的基础。针对较为复杂的内容,可以通过一些经典的小例子强化学生的理解。这里的教学方式可以是传统的方法,它是下一阶段的基础。

篇10

关键词:程序设计;算法;分层教学;教学改革

现状

当前,国内各高校普遍开设了大学计算机基础课程,这类课程是面向大学一年级学生开设的公共类必修基础课,其目标是培养大学生掌握信息技术处理能力、从而提高他们的综合素质。以前,我们的教学方案是第一学期所有专业统一学习《计算机技能》,主要讲授最基本的计算机常用软件如Word、Excel、PowerPoint等的操作技能;第二学期按照专业不同分别学习各种程序设计语言如C程序设计、VB等。然而,在教学的实践过程中,我们发现之前的计算机基础课程培养方案存在下列问题。

由于大学新生来自不同的地区,教育资源的配给或利用率相差较大。有些经济发达地区中小学信息技术教育已经普及了,学生的计算机技能及知识也较丰富。而另外一些欠发达地区信息技术教育基础却还很薄弱。教育资源不均衡的现状致使大学新生的计算机应用水平曾差不齐。针对这种现状,我们认为有必要对大学计算机基础课程进行改革,实施计算机课程分层教学方案,对部分基础较好的学生,加强程序设计能力方面的训练。

另一方面,通过对大学生程序设计课程教学情况进行的调查分析,我们发现该课程无论教学内容还是教学手段和方法上都存在许多的不足。比如,教学内容过于注重语言语法细节,没有把分析问题、解决问题能力的培养放在主体地位上。许多学生在学习完程序设计课程之后,虽然考试成绩不错,但并不能动手解决现实问题。此外,教学手段和方法也较落后,缺乏直接激励因素,学生对程序设计课程的学习较为被动,因而学习效果不佳。

因此,如何改革程序设计课程教学内容、教学手段和方法,更好地培养学生的编程实践能力,全面提高学生分析问题和解决问题的能力是十分重要的研究课题。

教学改革方案

我们按照大学新生实际计算机操作技能水平和本人兴趣将学生分成普通班和提高班,分别实施难度不同的教学大纲。普通班学生还按照原教学计划进行,提高班学生加强程序设计能力的训练。鉴于程序设计是一门实践性很强的课程,光会读程序是远远不够的。只有通过强化的编程训练,学生才能真正掌握程序设计。我们对提高班学生确定改革的指导思想是:高起点、强实践、重能力;总体目标是:以强化实战训练为手段,培养学生程序设计实践能力,全面提高分析问题与解决问题的能力。围绕这一指导思想和总体目标,我们展开了如下方面的教学改革。

1.教学内容的改革

为了在更高的起点上培养学生程序设计能力、分析问题与解决问题的能力,我们决定对理工类学生程序设计课程体系进行重新规划和调整,提出了分层教学改革方案:理工类提高班学生第一学期不再学习《计算机技能》,而改为学习《C程序设计》[1-2],学习基本的程序设计知识。第二学期在第一学期基础上学习《算法基础》[3-4],加强分析问题与解决问题能力的训练。这两个学期的程序设计课程内容前后相互衔接,难度逐渐递增,形成一个完整的程序设计课程教学体系。

由于大多数新生没有程序设计基础,我们决定将第一学期课程《C程序设计》安排在机房进行,通过加强上机练习,增加对程序设计的感性认识。我们发现过去讲授C语言时对语法知识点讲解得过于详细,其中很多语法内容用得却并不多,学生学习完后可能很快就会忘记,因而教学效果并不尽如人意。因此,我们坚持“只求精、不求全”的原则,第一学期仅讲解C语言最常用部分:基本输入和输出语句、分支、循环和数组,其他如指针、递归等难度较大的内容留给第二学期讲解。通过精心设计上机例题,反复练习这部分重点内容,让学生切实掌握这部分基本内容。

在学生熟练掌握了第一学期程序设计基础知识后,第二学期《算法基础》加强了算法方面的学习,主要讲解穷举法、递推和递归、回溯法、动态规划、贪心法等。通过这门课程的学习,学生进一步加强了分析问题与解决问题能力的训练。此外,为了使学生全面掌握C语言知识,我们在第二学期《算法基础》课程中补充讲解C语言的其他重要知识点,如指针、递归和文件。两个学期程序设计课程内容前后相互衔接,安排合理。

2.教学手段和方法的改革

以往程序设计教学实践环节是这样的:教师布置题目学生上机调试提交作业教师批改作业结果反馈给学生。然而,由于缺乏直接激励因素,学生对这种做题方式没什么兴趣,相互复制成了作业完成的常态,学习效果并不理想。

为了激发学生学习的积极性,我们采用了ACM竞赛平台作为教学平台,该平台为ACM程序设计竞赛而开发,有如下好处。

(1)自动判卷

学生按照题目要求编写程序并调试通过后,提交源程序,系统能立即给出接受或者拒绝的判断。

(2)系统排名

系统自动对所有学生成绩进行排名,同时学生能即时了解自己在全班级的排名情况。

(3)交互性好

教师能即时看到学生提交的程序代码,如发现被拒绝的程序,能即时地指导学生修改程序。

教学实践表明,采用ACM教学平台明显改善了教学效果,大大激活了学生的上机主动性和积极性。许多学生课后也会自觉地研究题目的解决方法,这种情况在以往的程序设计课程教学中是不多见的。由于针对竞赛设计的题目难度较大,并不适用于初学者,我们花费了大量的时间来设计难度适中的例题,帮助学生掌握所学知识。

3.考核方式的改革

以往程序设计课程考试方式都是采用试卷方式,这种考试方式最大的问题是容易造成高分低能:试卷分数考得很高,动手能力却很差,程序读得懂,编程实践却无从下手。我们认为这种情形都是因为实践训练不够造成的。因此,我们认为不能用判断题、选择题、阅读题以及手写程序题来考查学生的程序设计能力,光看懂程序是远远不够的,实践动手能力是最重要的。

于是,我们放弃了传统试卷考试的方式,完全改成了利用ACM平台上机测试的方式,期末考试6~10道编程题限时3小时内解决。这些题目都是精心设计、难易适中,能很好地考查学生分析问题和解决问题的能力。考试结果表明,平时练习成绩和考试成绩呈正相关。此外,由于ACM系统详细记录了作业情况,因而平时成绩也更容易准确地确定。由于相对普通班而言,提高班学生的课程难度较大,为了更好地激励学生选课,我们对学生成绩进行调整,最终成绩按总评成绩乘以系数1.1确定。

教学改革效果

经过为期一年的教学改革实践,已初显成效。

首先,学生学习程序设计的热情明显提高,学习主动性和积极性大大增加;其次,学生编程过程中的低级错误不断减少,编程数量和质量也比以往有明显的增加;另外,由于起点较高,学生学会程序设计课程后参加计算机等级考试合格率也有了明显提高,部分优秀的学生还被选拔为校ACM竞赛集训队员,参加ACM程序设计竞赛并取得了比计算机系学生更加优异的成绩。因此,我们的教学改革无论对普通学生还是尖子学生都起到了较好的作用。

此外,在本次教学改革过程中,教师们花费了大量的时间设计了许多适合程序设计课程教学的例题,大大扩充了ACM网站题库。现该网站拥有注册用户8000余人,每年新增注册用户1000人左右。可以说,现在全校计算机程序设计课程教学已经完全离不开ACM网站。我们所做的这些工作为以后的教学工作提供了很大的方便,也奠定了良好的基础。