欢迎访问爱发表,线上期刊服务咨询

计算机程序设计语言8篇

时间:2022-09-24 19:29:16

绪论:在寻找写作灵感吗?爱发表网为您精选了8篇计算机程序设计语言,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!

计算机程序设计语言

篇1

双语教学的背景和现状计算机程序设计语言课程是国内外高校各本科专业均需开设的系列课程,主要包含“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.

篇2

关键词:程序设计语言;程序设计能力;分析要点

Teaching Main Point Analysis of Computer Programming Language Courses

Li Yongliang

(Shandong Transport Vocational College,Weifang261206,China)

Abstract:In computer science and computer non-computer major teaching,almost all schools set up high-level language programming course.Programming language teaching although it is difficult,but very meaningful,it is beneficial to develop creative thinking,help students develop problem-solving through computer awareness and ways.

Keywords:Programming language;Programming skills;Analysis

main points

在教学中与一些应用软件或工具软件相比,编程课程的教学具有较大的灵活性。很多学生的学习能力较差,课后不肯花时间,久而久之,导致听不懂,给计算机编程语言课的教学带来一定的难度。采用何种教学模式进行教学就成为编程

语言教学的一个关键。

一、引言

根据以往的教学经验和通过与学生、同事之间的交流,得知部分学生反映上课时都能听懂讲解,可在涉及到具体的编程及上机操作时,往往会出现没有思路、无从下手或错误百出,不会调试程序等各种情况,究其原因,在教学方面可能存在以下2个问题。

(一)过于注重对语句语法的讲解,缺乏以算法为核心的编程题教学。教师钟情于举一反三地对使用语句、语法的深入教学,而不是有机地结合算法思想进行教学,贴近生活并引起学生兴趣的编程题讲得很少。由于教学不是站在如何应用计算机工具编程解决实际问题或实际项目的角度,就没有把逻辑与编程解题思路放在主体地位,也就没有很好讲解如何分析问题和解决问题。结果导致学生程序设计能力、上机解题能力训练不够,更谈不上引导学生进行课题研究和科研探索。

(二)学生厌倦传统的课堂教学,缺乏师生之间的沟通交流学生对于先讲后编、先听后编这一传统的课堂教学方式有厌倦心理。课堂成了教师的“一言堂”,教与学不能衔接起来。有时教师为了赶进度,讲授法成了唯一的教学方法,师生之间缺乏足够的交流和沟通,学生没有有效、实用的学习辅助途径,也间接影响着学生的学习兴趣和学习效果。

二、程序设计能力认识

程序是软件的本体,程序设计(Programming)是指设计、编制、调试程序的方法和过程。它应排除软件开发中的工程与管理因素,主要指软件开发过程中的技术因素,尤其是计算机技术因素。

根据调查分析,合格程序员必须具有:1.扎实的专业基础知识;2.很强的综合分析和解决问题的能力;3.熟练的编程调试能力;4.创新能力;5.团队合作能力;6.持续的自学能力;7.强烈的好奇心;8.较高的英语水平和软件工程的实践能力等。

应看到,程序设计能力,并非完全等价于程序员所应具备的专业素质,它还包括其他一些内容,如:1.理解问题,根据已知条件,找出求解该问题的数学方法或建立相应的数学模型;2.归纳程序的基本功能;3.设计数据结构和算法;4.用程序设计语言实现算法描述;5.编译与调试;6.测试程序,保证程序正常运行。

综上所述,可以将程序设计能力定义为:依据程序设计思想与观念,应用程序设计语言,采用相应程序开发技术和环境,进行程序设计并达到预计结果的程度。

三、要点分析

基于对程序设计教学思想、程序设计能力的认识,为使学生充分掌握程序设计的思想和方法,有效实现程序设计课程教学目标,我认为程序设计教学还应注意并强调以下几个基本的教学任务和要求。

(一)应着重培养学生的结构化程序设计的基本观念。结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构,它是程序设计的基本原理之一。贯彻课程始终、通过具体实例潜移默化地培养这一思想,比在软件工程中空洞的说教,更容易被学生理解和接收。

(二)为了使初学者能尽快地掌握计算机知识,进入计算机的应用领域,在课程讲授过程中,要特别注意培养学生的学习兴趣。学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。学习兴趣直接关系到教学效果的好坏。为提高学生的学习兴趣,笔者归纳出6个办法:1.通过演示程序突出程序语言的实用性;2.通过简单的编程练习突出语言的易学性;3.运用恰当的类比使复杂问题形象化、简单化;4.做到一题多解;5.要善于举一反三;6.通过解决实际问题使学生乐学。

(三)教师在教学过程中引导学生思考和探索教学时发现,学生问不出问题的原因往往在于没有真正学好。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入。在教学过程中,引导学生在问题解决中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法充分调动了学生学习的积极性和主动性。

篇3

关键词:课程改革;项目教学;准职业人

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)15-3638-02

Computer Programming Language of the Curriculum Reform

ZHU Geng-shen

(Linhai Secondary Vocational and Technical Schools, Linhai 317000, China)

Abstract: Improve their computer knowledge and practical ability for students to become quasi-professional personnel, vocational schools is the fundamental task of computer teaching.I will Beida Jade Bird programming language "JavaScript" curriculum used in teaching the theory and practice of computer operations, the design of the materials lead me to think about curriculum reform in vocational computer.Beida Jade Bird programming language a "project-oriented" curriculum design, curriculum projects all around the complete step by step, the students in the learning process, but also completed a practical project development, the design is not only recognized the studentsknow the law can fully mobilize the students interest in learning, improve their self-learning ability and the ability to solve practical problems, training of students and better able to adapt to current market demand for skilled software professionals.

Key words: curriculum reform; project teaching; quasi-professional person

目前中职计算机课程体系及课程内容设计存在着许多问题。在我国中职计算机教育中, 专业课程开设不大合理,教材内容设计不与实际应用相结合,程序设计课程教学内容要么过于简单和笼统,要么过于复杂和高深,导致许多中职学生对编程学习产生严重的抵抗情绪,出现厌学、弃学现象,所学的部分程序设计知识和操作技能,对学生毕业后进入社会后所从事的职业没有任何用处,而真正许多实用性强、专业性强的课程和计算机应用软件却又没有学到。因此,我们必须从以下几方面对中职计算机课程体系及课程内容进程大力改革。

1 明确学生的培养目标

原来中职学生的培养目标,主要以掌握教材统一指定的理论知识与基本技能为主,学生是否毕业以统考、会考成绩决定。毕业后,因培养目标、课程内容、操作技能不能与实际所需对口,导致很多学生难以找到适合自己的工作岗位。

从现在中职的培养目标及定位来说,中职学生应该是社会所需要的拥有一般化专业知识与中级或以上实践操作技能的准职业人,而不是像大学本科生一样,拥有很深厚的理论知识与专业技能。这就意味着中职计算机专业的学生,他们毕业后能在专业对口的普通岗位上找到适合自己的工作,而不是去搞科研或编写大型的计算机软件。如:机关、企事业中计算机网络的管理、信息处理的多媒体设计制作、广告影像行业的图形图像处理、设计行业的计算机辅助设计、办公自动化中的设备应用和公文处理等,都缺少有一定技术水平的准职业人才。因此,在改革中职计算机专业的课程体系与课程内容之前,不能盲目开展,应做好充分的调查分析工作,从计算机专业细化的开设方向到实际应用,必须紧贴现实生活,最大可能的保持与信息技术发展趋势、社会的用人需求同步。

北大青鸟在开设《JavaScript》课程之前,做了大量的企业调研与社会用人需求分析。调研结果显示,中国近几年互联网行业的高速发展,使越来越多的企业认识到网站运营以及网站推广的重要性,很多企业目前需要掌握一定的系统维护知识、网页设计制作知识和网站维护相关知识的复合型技术人才。进一步分析了解这些岗位应具备的IT技能,从而设计出适应于中职学生的计算机课程体系,使学生所学知识具有很强的实用性,保证学生能够在就业市场中具备竞争力,能够满足社会对人才的需求。结合目前中职学生的学习特点,将北大青鸟计算机专业学生的目标定位在培养网站运营人员,并对网站运营岗位从计算机技术层面划分为三部分:除互联网公司外的所有企业的网站维护员(涉及到JavaScript知识);网站制作公司的网页设计师(涉及到JavaScript知识);中小企业网络维护人员。

2 注重激发学生的学习积极性、培养学生的学习兴趣

兴趣是学习的内在动力,是学生自学最好的老师。原来的中职教程在内容设置方面,以理论居多,许多内容均滞后于时代的发展,涉及生活实际的知识、技能较少,涉及到实际项目的内容更少;理论作业偏多,实际操作较少;内容排版呆板,例图、效果图很少。

篇4

中图分类号:G642

摘要:针对非计算机专业的VB语言程序设计课程的教学现状,分析教学过程中出现的问题和困难,阐述全方位的教学改革方法和措施。提出在教学过程中,打破“以教师为中心”的传统教学模式,突出“以学生为中心,教师为主导”的教学理念;教学手段采取多样化,将电子课件与多媒体教学手段相结合,板书与演示相结合,课堂教学与实践教学相结合。

关键词:程序设计语言;教学改革;以学生为中心;计算思维;实践教学

运用计算机解决实际问题的能力是当代大学生的基本素质要求。计算机程序设计课程是培养学生的逻辑思维能力和应用计算机解决问题能力的基础课程,是我国普通高等学校人才培养的基本要求。目前,我国大多数高校不仅在计算机专业中开设了程序设计课程,作为当代大学生的基本要求,在非计算机专业乃至文科专业中,也普遍开设了程序设计课程。

针对非计算机专业和文科专业,很多高校均将VB语言程序设计课程作为计算机能力培养的必修课程,面向各专业的大一学生开设。对于非计算机专业的学生而言,怎样为他们讲好语言程序设计课程,一直是笔者所关注的问题。

1 VB语言程序设计教学现状和问题

针对非计算机专业,华中科技大学开设了Ⅶ语言程序设计课程。VB语言程序设计其语法简洁,功能强大,相对于其他程序设计语言具有简单易学、容易上手,容易调试等优点。尽管如此,针对非计算机专业学生,要想讲好这门课,仍旧存在诸多困难。在多年的实践教学中,我们发现存在以下现状和问题。

1)学生对课程不够重视。

学生对课程的重视度会在很大程度上决定课下学生能主动为该课程花费的精力和时间。由于华中科技大学VB课程开设的对象主要是新闻学院、经济学院、医学院、建筑学等非计算机专业学科,同学们往往认为VB语言程序设计课程与本专业的紧密度不大,对专业能力的帮助不大,而产生不够重视的情况。

2)学生对知识点的理解和掌握具有较大难度。

在VB课程的讲授中,很多知识点学生都会觉得枯燥生涩,难以理解,例如变量的数据类型、函数、子过程等概念。开设VB课程的学院往往是文理兼收或仅招收文科生,部分学生在高中时没有学习相关知识,逻辑思维能力不强。结合学生的实际认知水平,如何让学生接受程序设计相关概念,并能灵活应用是课程教授的一大难点。

3)思维方式的转变具有较大的难度。

使用计算机程序设计语言来设计开发应用程序的最终目标是要解决实际研究及工作、生活中出现的问题。因此,培养学生具有“将问题转换成用程序设计语言来解决并实现”的思维过程是VB课程的重要目标之一。如何培养学生、强化学生的逻辑思维能力和抽象思维能力,使学生能够使用计算思维方法解决实际应用问题,是授课的难点。

4)自主学习兴趣的持续性难以保障。

程序设计语言课程内容的讲授是一个由浅入深的渐进过程。前期讲授基本的语法,这部分较容易掌握,同学们的自主学习兴趣相对较高。后面讲到数组、函数、子过程等内容时,这些知识需要前期的基础知识点做铺垫,前期基础知识掌握不够扎实的同学学习起来就会有一定的困难,自主学习的积极性往往会明显下降。如何进行教学讲授和安排实验,激发学生自主学习的积极性,是整个教学环节中的一个重要问题。

针对Ⅶ语言程序设计教学过程中出现的问题和困难,我们进行了全方位的教学改革,包括在教学过程中,打破“以教师为中心”的传统教学模式,突出“以学生为中心,教师为主导”的教学理念,积极采用互动式教学,同时,教学手段采取多样化,将传统与现代相结合,电子课件与多媒体教学手段相结合,板书与演示相结合,课堂教学与实践教学相结合。

2 “以学生为中心,教师为主导”的教学模式

传统的教学方式是“以教师为中心”,在新的教学模式中,我们突出“以学生为中心,教师为主导”的教学理念。随着教学中心的转变,教师的身份也发生了巨大的转变。教师不再仅仅只是简单的知识传授者,还兼具引导者的身份,能够有目的、有步骤地引导学生进行学习。在引导过程中,教师还会采取各种方法手段激发学生的学习兴趣,让学生能够更加积极、主动、自发地学习。具体来说,我们采用了以下方法来实现“以学生为中心,教师为主导”的教学理念。

2.1 注重第一节课,激发学生对课程的重视度

传统授课过程中,通常第一节课教师在做完自我介绍后,会进一步介绍课程的总体目标、学时和教学内容的分配等内容。在贯穿“以学生为中心”的教学理念中,考虑到第一节课的重要性和特殊性,我们认为第一节不仅需要给学生一个课程内容的概要介绍,更需要让同学们产生对课程的重视,并深入激发学习的兴趣和热情,使其能自觉自愿地进行学习。

在课程内容安排上,我们会精心准备相关专业对人才计算机能力需求的资料讲述。这些资料包括学生毕业后可能从事的工作方向和就业单位;在本科阶段后期和研究生阶段的学习以及未来的工作中,会有哪些方面要求大家具有使用计算机及编程语言解决问题的能力;计算机等级考试中程序设计语言的重要性等内容。由于这些内容和大学学习以及就业紧密关联,学生听起来非常专注。在了解本专业对计算机能力的需求以及社会对专业人才计算机能力的要求后,学生往往会产生强烈的学习热情。

在实践中我们发现,按照上述内容安排上完第一节课后,学生的学习重视度和以往的学生相比,有着显著的加强,很多学生课下会主动和老师讨论该如何进行课程的学习。

2.2 课程讲述中,注重“以问题为导向,激发学生自主探索”

“以学生为中心”的教育理念,使教师在课程内容教授过程中更注重学生的状态,注重引导学生自主探索学习。前苏联教育家苏霍姆林斯基指出:“如果不想办法使学生产生情绪高昂和智力振奋的内心状态,就急于传授知识,不懂得有情感地做脑力劳动,就会带来疲倦;没有欢欣鼓舞的心情,没有学习兴趣,学习就会成为学生的沉重负担。”

在课程内容设计中,应积极引入“案例讲授法”,给出案例场景需求,以提问的方式,要求学生先自主思考,同时根据课堂具体情况,引入团队讨论机制,让学生自己先探索解决问题的方法、设计界面并回答问题的关键点,再通过与学生的交互,共同讨论得出最后的解答方案。

2.3 注重培养学生“将问题转换成用程序设计语言来解决并实现”的思维能力

在2010年的《九校联盟(C9)计算机基础教学发展战略联合声明》中,确定了以计算思维为核心的计算机基础课程教学改革的实施。当前,计算机课程对于大学生科学思维能力培养的重要性被放在了前所未有的高度。在“以学生为中心,教师为主导”的教学工作中,教师不仅要激发学生自主学习的兴趣,还必须有意识地引导学生用计算思维的方法来解决问题。要解决实际问题,程序设计语言只是工具,思维过程才是解决问题的根本所在。计算思维能力的培养是课程的目标之一,也是我们教学工作的一个难点。

课程讲授时,在激发学院自主探索的过程中,我们更注意引导思考“将应用问题转换成用程序设计语言来解决”的方法,训练学生的逻辑思维能力、抽象思维能力以及用计算思维解决问题的能力。例如在讲授“九九乘法表”的解决方案时,引导学生先思考如何将平面显示的问题分解。经过讨论,大家得出解决该问题要分两步:先将一行中的内容按列输出,然后再逐行输出。老师进一步引导大家思考,解决每一个问题需要使用哪一种程序设计的方法,大家通过讨论得出行内的列输出和逐行输出均使用循环的方法。之后老师提问引导大家思考:两个循环的关系是什么,要使用那种方法实现。学生再次思考和讨论,最终得出将逐行输出作为外循环,行内列输出作为内循环,整个是一个双重嵌套循环的解决思路。整个过程中,老师通过提问的方式,引导大家使用计算思维方法进行思考,并进一步通过讨论来得出解决方案。

2.4 实践内容的教学安排上,注重“先易后难,讲解示范和自主探索相结合;重基础保兴趣,必做选做相结合”

教学要做到“以学生为中心”,则教学活动必须建立在学生的认知发展水平和已有的知识经验基础之上。VB语言程序设计课程的对象是大一的非计算机专业学生,他们中的大部分都没有计算机编程语言的基础,其中有一半以上的同学是文科生,相关的动手能力和解决实践中出现问题的能力较弱。针对这种现状,在实践内容安排上,我们按照章节和知识点内容,遵循“先易后难,必做选做相结合”的原则,先安排容易实现的,书上有案例可仿照的实验,再逐步提高实验的难度。

实践教学过程注意“讲解示范和自主探索相结合”。第一次的实验,实验手册上对整个实验过程逐步详细描述,同时老师在大屏幕上边讲解边演示,带着大家一步步地完成。之后的实验则根据实验具体情况来安排是否讲解演示。如果是章节和知识点的第一个基础实验,通常会统一讲解示范,帮助学生快速掌握实践方法,这之后的本章节实验内容通常不再通过大屏幕统一讲解,而是要求学生自主实践、自主探索,有问题个别辅导。对于具有共性的问题,再通过大屏幕统一讲解示范。

在安排实践内容时,教师以“重基础保兴趣”为指导,做到“必做选做相结合”。考虑到很多专业文理生兼有,有部分学生的动手能力比较强,每章节的实践安排都分为必做和选做两部分,必做实验以保证基础知识点的掌握为原则,选做实验通常会和实践问题挂钩,以锻炼学生使用VB语言程序设计解决实际问题,帮助同学进一步深入理解VB语言程序设计为原则,这部分实验通常需要学生自己努力探索后才能解决。

3 教学手段采取多样化

程序设计课程的很多知识点学生都会觉得枯燥生涩,难以理解。相对于其他基础理论课程而言,该课程具有实践性强的特点;作为一门计算机编程的语言,该课程内容的前后相关度高,前面的基础知识如果掌握得不好,后续内容的学习往往会存在较大的困难。在本课程的讲授过程中,我们注重电子课件与多媒体教学手段相结合,板书与演示相结合,同时强调动手实践,将课堂教学与实践教学相结合。

3.1 电子课件与多媒体教学手段相结合,板书与演示相结合

VB语言程序设计的很多知识点仅通过课件讲述,学生通常觉得枯燥且难以理解,例如变量的声明、数组、函数、子过程等。在授课中,相关知识点不仅通过电子课件进行概念的讲述,同时教师在多媒体系统中安装了Visual Studio 2010的环境,直接在电脑上编程,演示相关的知识点。对于课程的重点难点,例如选择法排序、冒泡法排序、参数的地址传递、数组作为参数的使用等,这些既是课程的重点,也是学生学习的难点。针对这些重点难点内容,在授课时充分利用板书,逐步推导,逐行板书,将板书和讲解相结合,在板书的慢节奏书写中,让学生逐步理解相关知识点,同时适时辅以演示。例如,在讲解冒泡算法时,在Visual Studio开发环境中,进行逐语句单步调试,启动快速监视,将循环变量和被排序的数组元素的值显示在监视窗口,并通过单步调试等演示,帮助学生进一步理解课程难点。

3.2 强调动手实践,将课堂教学与实践教学相结合

程序设计语言课程具有实践性强的特点。在课程教学安排中,教师充分利用先进的实验室条件,将部分内容放在实验室讲授,由学生先动手实践,然后老师再有针对性地进行演示和讲授。例如在用户界面设计内容的讲授中,考虑到此章节的内容主要是与界面相关的控件的使用,学生学习此章以前,已经了解了界面控件属性的设置方法,并具有基本的程序编码能力,因此,我们要求学生在实验室按照书上的例题实现控件的功能并运行。在自己动手实践过程中,很多学生对控件的属性和相关的编码提出了问题,老师并不直接给学生解答,而是让他们自己思考,相互讨论,并在系统上进行多种尝试。在学生有了自身的实践经验和感性认识,并带有一些疑惑之后,老师在实验室大屏幕上,针对普遍有疑问的地方,进行有针对性的重点讲解和演示,并在紧接实验课堂之后的教学课堂上,快速对相关的知识点进行回顾。这种由学生先动手实践,后讲解的方式,一方面极大程度上提高了学生听课时的积极性和专注度,另一方面有效地讲解了相关知识点,在一定程度上少占用了上课课时。

4 结语

给非计算机专业进行VB语言程序设计的授课,一直以来存在着不少问题和困难。华中科技大学在“以学生为中心,教师为主导”的教学理念指导下,采取了一系列的方法和措施实现该教学理念,同时在教学手段方面进行了现代与传统相结合的改革。实践证明,改革的方法措施在提高学生自主学习的积极性,锻炼学生计算思维能力,提高教学质量方面有着一定的效果。随着“以计算思维为计算机基础教学的核心任务”的提出,我们下一步的改革工作重点是如何在程序设计课程中贯穿计算思维的理念和方法。参考文献:

[1]马致明.感悟Ⅶ程序设计教学[J].中国大学教学,2008(7):39-41.

[2]吴文虎.我怎么讲好“程序设计基础”这门课[J].中国大学教学,2011(12):10-12.

篇5

关键词:计算思维;程序设计方法;c语言程序设计;教学方法

《c语言程序设计》是计算机相关专业及其他理工科专业的基础课,它是一门实践性很强的计算机基础课程。教学目标是通过课程的学习,学生不仅要掌握C语言程序设计的语言知识、编程技术和基本算法,更重要的是在实践中逐步掌握程序设计的思想和方法,培养学生问题求解和程序语言的应用能力,为后续专业课程的学习打好基础。

由上述的教学目标我们知道C语言程序设计这门课程中教师不仅讲授C语言语法知识,还要帮助学生掌握程序设计的能力。但目前c语言程序设计课程教学中只注重知识讲解,而忽略了程序设计思维的培养,导致学生只会看不会写。鉴于此,本文提出基于“计算思维”培养程序设计能力的教学方法,并将其运用于《c语言程序设计》课程教学实践。

1C语言教学存在的问题

对于程序设计的初学者,编写程序包含至少两个方面的要素:1)程序设计语言的语法知识;2)计算思维,即算法,也就是用计算机的思维把客观世界的问题分解成计算机所能处理的步骤,并描述出来。

目前大学《c语言程序设计》教学普遍存在的关键问题是:重语法,轻算法,注重传授知识,忽略程序设计思维培养。大多数教师强调C语言语法知识的讲授,造成学生死记硬背C语言的语法知识,却不会运用,导致理论与实践相分离,使学生误以为C语言是枯燥的理论课程,从而产生厌烦情绪,失去C语言课程学习的兴趣和动力;部分教师并没有在课堂上带领学生一起完成程序从无到有的编写过程,学生不能形成程序设计思维,导致学生产生这样的疑问:“程序为什么要这样写?”,大部分学生处于“看得懂别人写的程序,但自己不会写程序”的状态。

著名国内计算机教育专家谭浩强教授指出算法是程序的灵魂,在他所编写的《c程序设计》一书中,“算法”这一章里用了几种方法阐述如何描述算法,这其实包含了把客观世界中问题的解决方法转换成为用计算机思维解决问题这一重要思想!笔者与同行交流讨论时发现,竟然有部分老师跳过“算法”这一章节,这是典型的重语法,轻算法,只注重传授知识,而忽略程序设计思维培养。

2以计算思维培养程序设计能力教学法的运用

据笔者多年从事计算机程序设计语言教学工作经验及教学过程中所做的调查了解到这样一种情况:许多学生面对某个编程题,不知道如何下手,并非学生不会用所学的数理化知识解决该问题,只是不知道如何用计算机编程来解决问题。这种情况的根本原因就是学生不知道如何把解决该问题的方法转换成计算机思维表示出来。进一步说就是没有形成计算思维。

计算思维的含义是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。其本质内容体现了抽象、约简、规划、关注点分离、递归、优化、分解等思维特征-引。显然如果学生不明白计算思维,不理解计算机是如何解决问题的,那么他一定不会编写程序。因此想要培养学生程序设计能力那么必须使学生养成计算思维,使用计算思维去把客观问题的解决方法转换成计算机所能处理的步骤(即算法)描述出来,最后再将算法转换成程序语言代码,即编写出程序。

2.1通过案例驱动逐步建立计算思维

对于程序设计初学者,在开始时先通过案例让学生逐步了解计算思维,让学生知道计算机是怎样来解决问题的,更具体的来说是让学生知道计算机是通过什么样基本步骤的组合或者重复来解决问题的,从而学生知道要让计算机来解决问题,就要把问题分解成计算机所能处理的基本步骤,计算机通过重复执行这些基本步骤即可解决问题。通过反复的练习与加强让学生逐步建立计算思维,掌握分析问题和用计算机的思维方式来解决问题的能力。

下面通过案例w现计算思维。

题目:计算1+2+3+…+100。

篇6

关键词:计算机程序设计;教学方法;实践

大学阶段一门很重要的计算机基础课程――《计算机程序设计》,它是培养学生计算机应用能力最基本的课程,因此计算机程序设计实验教学是计算机程序设计这门课程中非常重要的实践环节。计算机程序设计实验教学的主要目的不仅是对课堂及教科书中知识进行深入理解与验证,更重要的是要培养学生的思维及实践能力。但是目前计算机程序实验教学存在重验证、轻设计的错误思想,这就导致计算机程序设计的实验效果不佳,学生的学习兴趣没有得到充分的激发,忽略了学生的主体性。随着教学改革的不断深入,教师将如何更好的提高计算机程序设计课程的实验教学效果,充分培养、发挥学生的创造性思维与主观能动性成为了实验教学所研究的重点。本文从学生自主学习的角度出发,围绕着培养学生思维能力这个核心内容来探讨计算机程序设计课程实验教学的方法。

1 重视学生的实验预习与实验准备环节

在计算机程序设计实验时,一些学生在实验过程中不知所措、毫无头绪,这就造成学生盲目实验或无法进行实验,最终导致实验无法顺利完成,造成这种现象的主要原因就是学生在实验前没有深入的预习实验知识以及实验准备不充分。为了避免这样现象的发生,教师应重视学生的实验预习与实验准备环节,逐步引导学生进行充分的预习与准备。在计算机程序设计理论教学中,教师应该同时引导学生对实验知识及实验准备进行充分的预习,预习的主要内容包括:实验目的、实验方法、实验要求及实验步骤等,此外,教师还应该要求学生根据自己的实验内容及要求来收集与了解与本次实验相关的实验资料,以此来加深对实验的了解程度。

另外,学生所选定的实验内容也十分重要。教师应根据本次试验的目的与要求来制定实验内容的范围,这样不仅可以避免学生选择实验内容的盲目性,而且学生可以依据自身的兴趣来选择可以充分发挥自己创造性思维的实验内容。因此,教师应依据实验课的目的及要求来制定自选式及开放式的实验内容,学生也可以自主的选择适合于自身的实验内容。这种开放性的实验课不仅可以鼓励学生充分发挥自己的创造性思维从实际问题的角度来自主的设计实验内容,而且还能够满足不同层次、不同兴趣的同学都能选到自己感兴趣的实验内容。

2 在实验环节中着重培养学生的实验能力

2.1 实验中常见问题的解决

学生在实验过程中经常会出现一些自己难于解决的错误代码以及操作错误等常见问题,这些问题如果在没有老师帮助解决的前提下可能会导致学生实验无法进行下去。由于在计算机实验教学中教师所带学生均在60人以上,实验中出现的问题也各不相同,如果由老师单独进行指导是根本无法解决全部学生的问题,这也就不可能提高计算机程序设计的实验效果。针对以上问题,笔者提出了一种有效的解决办法――教师指导为主,学生互助为辅。

教师在计算机程序设计实验课中针对学生提出的问题要耐心引导,尊重学生的想法。在指导时应让周围的同学一起参加问题的讨论,例如:对于试验中代码的问题,教师要引导学生注意问题的出处,然后分析这种错误是逻辑错误还是语法错误,耐心教会学生如何从数据结构与算法的角度去分析问题,如何根据系统提示来查找问题的原因,并积极鼓励讨论组的学生主动发表自己的看法,积极讨论问题。这样不仅解决了试验中的问题,而且可以通过讨论组进行互助学习,提高了实验的效果。此外,教师要总结试验中出现的共性问题并提出典型的解决方法以供全班同学讨论学习,在提高教师自身素质的同时还能激发学生求知欲望及创造性思维能力。

2.2 课堂知识向课外知识的延伸

在课内实验课程的基础上,教师应将计算机程序设计实验向课外实验进行延伸。学生通过课内实验中所学到的知识及应用能力可以独立自主的完成课外实验,学生在课外实验过程中出现的问题可以通过网络与老师进行交流与讨论,这不仅可以大大提高计算机程序设计实验教学的效果,而且可以极为有效的激励学生的学习兴趣及创造性思维。

3 学生自主总结与评价实验结果

教师应依据学生的实验能力来制定评价标准,并对学生的报告做出评价,对于学生自主设计的实验内容、解决方法及实验总结体会等内容进行额外加分。另外要求学生对自己的实验进行评价,总结试验中出现的问题及解决办法,提出自己的见解及想法,让同学与教师的评价进行对比,这样不仅让学生在老师的评价中找出自己存在的问题,并且能够使得学生对本次实验进行及时有效的总结与归纳。

4 总结

教师在计算机程序设计试验中着重培养学生自主学习的能力,不仅能够加深学生对理论基础知识的理解与认识,而且还能有效的提高学生实验能力、激发学生创新型思维。因此,教师应在计算机程序设计试验中围绕培养学生的实验能力进行深入的研究与改革教学,通过不断的探索与实践才能取得较好的计算机程序设计实验教学效果。

[参考文献]

[1]龚沛曾,杨志强,顾春华,徐安东.大学生计算机实践能力培养的改革和实践[J].中国大学教学,2008,6:16-18.

篇7

摘要:本文针对高校非计算机专业C语言程序设计在课堂教学方法方面的一些问题,提出在教学活动中,通过让学生建立一个最简单的计算模型等方法,培养学生用计算机程序解决实际问题的能力,强调在课堂教学中要特别重视分析程序运行和内存变量的关系,并阐述了面向技能形成的习题训练的观点。

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

中图分类号:G642

文献标识码:B

1引言

高校计算机基础教学“主要讲授程序设计语言的基本知识和程序设计的方法与技术,其内容以程序设计语言的语法知识和程序设计技术的基本方法为主,同时包括程序设计方法学、数据结构与算法基础等方面的初步内容,应使学生掌握计算机程序设计的思想和方法,初步具有在各领域应用计算机的能力,并为后续课程的学习创造条件。”[1]

在许多高校,C语言程序设计是理工类必修的计算机基础教学课程,但是在实际教学过程中,学生对这门课的掌握程度不能令人满意。这一方面是由于高等教育大众化,学生的学习能力和学习愿望不如从前;另一方面,C语言教学实践中,在诸如课堂教学方法、平时训练等方面也存在着不能适应大众化教育形势的一些问题。

C语言的教学一直以来比较偏重语法,但学生普遍反映听的时候好像都听懂了,但是当一个问题放在自己的面前,就不知道如何用所学的知识去解决。教师在教学活动中如果没有主动意识到这一点,就可能会把C语言的教学活动看做是语法的讲解,不注重在教学活动中引导学生用程序的思维方式分析问题解决问题。而后者才是程序设计这门课程的真正目的。

2培养学生用计算机程序解决问题的能力

培养学生用计算机程序解决问题的能力,需要通过课堂教学注重几个方面的问题:

(1) 理解计算机处理问题的“过程”方式

人们对现实问题的分析,有些并不需要像计算机一样用“过程”的方式来给出解决方案,例如数组元素的排序,人类解决这个问题的思考过程没有明显的循环过程,或者我们并不会很在意循环过程,但是计算机则不同,它要求程序员必须明确地设定循环的“过程”。程序设计课程正是要培养学生用和我们平常的思考方法不同的“过程”方式来描述算法,但这是思维方法上的一个跳跃,这种跳跃过去一直是通过大量的练习,由学生自己自然而然感悟到的,当然,有些感悟能力强的同学对这一问题的理解很快,但是在教学实践中发现,对很多非计算机专业的学生而言,由于练习的机会比较少,感悟到这一点常常比较费时间。例如求一个圆的表面积,常见到初学者写出如下的代码,以为只要告诉计算机“s=3.14*r*r”这样一个计算公式,再给出r的数值,计算机就可以给出结果,而不知道还需要告诉计算机执行的“过程”。

01 #include

02 int main(){

03 int r,s;

04 s=3.14*r*r;/*顺序出错*/

05 scanf("%d",&r);

06 printf("The area is %d",r);

07 return 0;

08 }

如果教学过程中能够有意识地引导学生,无疑可以降低学生学习的难度。

(2) 在头脑中建立一个最简单的计算模型

用和我们平常的思考方法不同“过程”的方式来描述算法,需要明白计算机和人类的思维方法不同的“过程”特点,这就需要在学生的头脑中建立一个最简单的计算模型。事实上冯・诺依曼计算机体系结构是以存储器为中心的,对编程的初学者就需要解决如何在这一体系结构的基础上来设计解决问题的步骤。

程序的执行过程是围绕着存储单元进行,存储单元既可能存放输入数据,也可能存放程序执行的结果,很多学生就是因为不能建立这样一个计算模型,按照平常地思维习惯,在设计算法时把一些中间计算结果记在心里,导致无法用程序语言描述解决问题的思路。

当学生在头脑中建立一个最简单的面向存储器的计算模型后,就能较好地理解计算机解决问题的方法,可以把求解问题的算法转为利用存储单元进行的“取”“计算”“存”的过程,然后将这种自然语言描述的算法翻译成为C语言。例如交换两个变量的值,可以用自然语言描述成下面的步骤,对初学者而言这样就很容易理解。

1. 先指定两个盒子,命名为a,b;

2. 命名一个存放临时数据的盒子c;

3. 在两个盒子a,b中分别存入两个数值;

4. 取a的数值存入c;

5. 取b的数值存入a;

6. 取c的数值存入b;

同时基于存储器的计算模型,对一些让初学的同学比较容易出错的东西也可以解释得比较清楚,比如“变量使用前须定义,引用前须赋值”,学生就会想到:变量的定义只是给某存储单元取了一个名字,在没有向里面放入有效值之前去引用它,自然得不到想要的东西。

在循环程序设计中,利用上面的简单的基于存储器的计算模型也能帮助初学者找到形式上一致而内容变化的循环体语句,从而比较顺利地设计出循环结构。

例如:求1+2+3+4+…+100的值,如果明白计算机求解问题的都需要基于存储器,累加实际上是在现在存储单元中已有数据的基础上再加入新的数,就会自然想到如图1的方法:

给存储单元命名为sum,逐次加入的数先放在x中,就比较容易想到“形式上一样的循环语句”应该是sum=sum+x,并且x的变化范围是1~100。

当学生建立起基于存储器的计算模型后,对其他的C语言程序设计的难点问题,例如函数参数传递,数组、指针、结构、链表的理解也会变得比较容易。

(3) 在课堂教学中要特别重视分析程序运行和内存变量的关系

在学生头脑中建立了基于存储器的计算模型后,还需要不断练习才能加深这种印象,除了学生自己练习以外,在课堂讲解例题时可以有意识分析每一步程序运行所导致的内存变量的变化,通过不断练习提高学生阅读程序的能力。

(4) 在C语言的教学活动中,以面向问题分析、算法设计、程序编码的方式组织知识

现有的C语言教材一般是按语法的难易程度次序编写的,这当然是符合人的认知规律的,但是同时也需要教师在讲授的过程中,突出以面向问题分析、设计、编码的方式组织知识的讲解,只有这样才能使学生在形成用程序的思维方式分析问题、解决问题的能力的过程中少走弯路。

教材的知识组织方法是语法例题程序解释,这种沿用已久的方法,在培养学生用计算机的方式思考问题方面,作用不够充分。

事实上,算法在人们的头脑中首先是一种用自然语言描述的“过程”,再通过逐步细化,然后再把它从自然语言转换成为C语言。在教学的实践过程中,可以以这样的方法组织知识:问题自然语言的过程描述程序。教师在课堂上,可以在集成开发环境中,以注释的方式用自然语言进行过程描述,然后逐步求精,最后转换成程序代码的方法。

例如:取得一个整数的个位、十位、百位,从问题的描述到问题的解决。可以先用自然语言来解决问题,然后逐步过渡到C语言。

/*例如有个数5693放到存储单元x */

/*目标:取得个位数,方法:x模10的结果是个位数 */

/*目标:取得十位数,方法:1. x除以10的结果放入存储单元x, 2. x模10的结果是十位数*/

/*目标:取得百位数,方法:1. x除以10的结果放入存储单元x, 2. x模10的结果是百位数*/

/*目标:取得千位数,方法:1. x除以10的结果放入存储单元x, 2. x模10的结果是千位数*/

/* 当x除以10的结果是0时,程序不必继续下去*/

通过自然语言分析,既找到了循环体语句“1. x除以10的结果放入存储单元x, 2. x模10”,又找到了循环控制条件,再翻译成C语言应该也不再是一件难事。

3面向学生技能形成的训练

程序设计这门课程需要大量的训练才能真正形成技能,但是现在一些教材习题所存在的一些问题可能传递不正确的信息,妨碍技能形成。这些问题包括:

1) 很多习题结果的正确性是和特定的编译器相关的,例如:函数中的多个参数的计算顺序,printf(”%d,%d,%d”,a+b,a++,++a);在一个表达式中多次出现++、--运算符。这类习题只是训练了某一个编译器的使用技巧,而这种技巧在实际的编程实践中要尽可能地避免使用。

2) 习题包含较多的数学知识可能妨碍初学者,例如用碾转相除法求最大公约数,以及对不同三角形的判断等习题,对培养严密的逻辑思维很有好处,但是在教学实践中的情况看,这些习题反而使得初学者无从下手,所以需要在实践中平衡利弊。

3) 过分注重技巧,不利于技能的形成。现代软件工程的实践比较排斥在编程时过于注重技巧,这会导致程序难以维护,所以应该避免过于注重技巧习题。

面向技能形成的训练另一个问题是需要保证习题的量,这一点对作为非计算机专业的学生要求起来比较难。

4总结

在现有的教学大纲和教材基本定型的情况下,针对现在学生的认知特点,围绕高等学校计算机基础教学的基本要求,本文试图从课堂教学的角度,找到如何让学生在头脑中建立一个最简单的基于存储器的计算模型,并在此基础上结合具体的例子,阐述了培养学生形成用计算机分析、解决问题能力的具体做法。本文的方法已在课堂教学实践中采用,收到了一定的效果,当然在课堂教学过程中还需不断改进。

篇8

论文摘要:现存的非计算机专业编程语言的教学弊端种种,本文提出了一种新的思路。即:使用VBScript语言在记事本中编写程序,在IE浏览器环境下来运行之,且通过实例论证该方法的实用性,使其真正为每个用户服务。

0引言

说起我国非计算机专业编程语言教学的走向,就不得不提到我国高等学校计算机基础教育发展的历史。我国的计算机基础教育始于20世纪80年代初期,从80年代初以来,高校的计算机基础教育大致上经历了三个发展阶段:80年代是起步阶段,90年代是规范阶段,进入21世纪,开始了第三阶段,即深化提高阶段。

计算机基础教育是指面向大学中非计算机专业学生的计算机教育,这部分学生约占全体大学生的95%以上。非计算机专业中进行计算机教育的目的是培养大批能使用计算机的人才,而不同于计算机专业的培养计划,可以说他们是计算机应用人才,学习计算机的目的完全为了应用,计算机只是作为一种现代工具来掌握,而不能当做纯理论的课程来学习。明确了这个培养目标,那就可以有的放矢。

目前各高校非计算机专业编程语言教学的现状是:学时是有限的,学习内容是繁杂的,由此对学生产生的学习压力不仅苦不堪言,而现实更是多数非计算机专业的学生在毕业后,对于大学期间学习的编程语言大部分是忘记,若想拾起来重新使用,也不是一件易事。如何解决非计算机专业编程语言教学和实际使用二者之间存在的矛盾这个问题,是我们每个从事高等计算机基础教育的老师不得不思考的问题。

1非计算机专业编程语言教学的现状

对于现存的高等院校非计算机专业编程语言教学的弊端,我们做以下几点分析说明:

(1) 非计算机专业编程语言教学培养目标定位有误

对于非计算机专业学生进行的编程语言教学,应与计算机专业的学生有所不同。计算机专业培养的是计算机专门人才,将来从事信息技术理论研究、科研教学、系统开发等专业性的工作,而在非计算机专业中进行编程语言教学的目的是培养大批能使用计算机的新型人才,他们需要达到的程度仅仅是使用计算机这个工具。作为高等院校非计算机专业编程语言教学计划的制定者,对于专业和非专业要达到的目标一定要明确,否则有可能南辕北辙。

(2) 非计算机专业的编程语言教学设置好大喜功

经过作者在国内各大高校做的调查,几乎各大高校对于非计算机专业编程语言教学一般从大学一年级就开始,陆续开有VB、C、FoxPro、SQL、C++、PB、Delphi、Java等,有的院校在高年级非计算机专业还开有计算机编程语言课程,美名其曰:多学点东西,增加就业砝码。

诚然多学点东西是不会有什么害处,但是不知道说这个话的人有没有想过:对于非计算机专业的学生来说,能有多少比例的学生在真正学这些开设的计算机编程语言课程,更多的恐怕是在各种考试之间疲于应付。当大家手捧毕业证书的时候,手拿四年所修的学分成绩单的时候,当大家面试应聘的时候,留在大家脑海中的计算机编程语言可能屈指可数,可以炫耀的可能仅仅是修过的计算机课程的数量。

作为从事高等教育的老师,我们不能为了这些表面的假象自欺欺人。如何在有限的学时内进行优化选择,使学生学到最需要的知识。当然不仅是指当前最需要,而且也包括今后踏上工作岗位,对于需要用到的计算机编程语言知识的时候也可以信手拈来,不用再重新学过。因此,对于非计算机专业的学生,我们应该敢于摒弃学习那些当前为了考试,今后根本用不多,仅仅是为了增加学分的计算机编程课程。

(3) 系统本身庞大,掌握的知识有限,学不能使其精

对于现存的计算机程序设计的任何一门语言,如VB、Visual Fox、SQL等,系统都是很庞大的。以一个简单的例子,VB为例来说明,VB采用的事件驱动的编程机制,提供了动态数据交换(DDE)和对象链接与嵌入(OLE)等技术。在数据库方面,VB具有很强的数据库管理功能,不仅可以管理MS Access格式的数据库,还能访问其他外部数据库,如FoxPro、Paradox等格式的数据库。另外,VB还提供了开放式数据连接(ODBC)功能。

对于VB强大功能,我相信学过VB的用户,都是普遍承认的,这个不需要多说,但是对于这么大的一个系统,如何能通过简简单单的几个学时就能够完全掌握呢?即使说你上课的时候多么专心地听讲,多么用功地做笔记,都是无济于事的,非要通过系统地做上几个项目才能掌握一二,更不要说是对于仅仅是通过教材上的几个简单例子学习的学生了,这几乎是不太可能的事情。那么有没有学习起来比较容易上手的工具了,答案是肯定的。

(4) 快速记忆,快速忘记

在高等院校里不排除有些用功的学生,学习每门功课都是用功之极,当然也不排除用功是为了在考试中拿个高分,争取奖学金的可能性存在。一个学期,说的更多一点一年对一门语言的学习,在短时间之内掌握某一项技能之后,一旦长时间不使用,肯定会生疏,这是人类不能抗拒的生理现象。而且目前高校里的学生学习的现状是:平时基本不看,考前拼命熬夜苦读,这种短时间内强迫大脑记忆的东西,肯定是经不起时间的考验的,尤其是在一个人不愿意学习这门功课的时候,这是自然规律。

假设你当时学会了VB,而且在大学毕业参加工作的时候也没有忘记,是不是说你就能很好地做自己的事情了呢?答案也是否定的,因为你掌握的是VB,而在工作单位的PC机上或许并没有安装VB的运行环境,这样是不是就为你的使用又出了一道难题。

有没有一劳永逸的工具,只需要简单的学习,而且不论在安装或者未安装VB运行环境的PC机上都能很好的完成自己想做的工作。通过作者亲身实践,本文中提倡的这个方法就可以达到这样的功效。

(5) 支持知识产权保护

如何做才能既使用正版,又不卷入知识产权的纠纷中呢,这里我们提倡在高校中推广,使用VBScript脚本语言在记事本环境下编程,在IE浏览器中运行,就可以达到这样双重效果。

(6) 程序交流困难

一个用户编写的程序如果仅仅是自己使用,这个时候程序的使用有一定的局限性,如果能够拿出去跟别的用户交流,就具有了更大的价值。假设有两个用户A和B,A在VB环境下编写了一段程序,在自己的机器上可以正常运行,当A把这段程序拷贝到B的机器上和B交流的时候,B机器上恰好没有安装VB环境,此时对于二者的交流可能存在障碍。

针对上述,我国高校计算机基础教育体制中存在的诸多问题,作者提出了一种新的思路。

对于一台安装了操作系统(Windows XP、Windows 2000 Professional、Windows ME、Win 98等)的PC机来说,拥有IE浏览器和记事本是再简单不过的事情,作者推荐给大家的就是使用VBScript语言来完成自己想要做的工作。下面我们通过例子来做进一步的说明,以此来演示如何更好的结合二者,使之发挥作用。

在数学或工程应用中,常常存在着大量的数值计算和数值分析问题,如:复合梯形公式、复合Simpson公式、Romberg求积公式等。通过编写简单的程序,就可以让计算机代替人类来做一些复杂的计算任务,在这里以数值计算中一个常见的问题来说明一下如何使用提倡的方法完成计算任务,这里以复合Simpson公式的计算为例。程序是通过输入给定的三个初始值:a、b和n,如图1所示。

图1 数据输入界面

计算设计大致上分为三个步骤:

(1) 在记事本中编写程序代码如下示:

图2 程序源代码

从上述源代码中可以看出:第一,VBScript使用的仅仅是VB中简单的程序设计思想的三种结构:顺序、选择和循环,不涉及复杂的结构,对于非计算机专业的用户来说是非常容易的事情。第二,在程序开始写了一个自定义的函数,在后面对该函数进行了调用,可以达到程序复用的作用。

(2) 将该文件保存为一个html格式的文件,如:a.html。

(3) 运行该程序只需要双击该文件图标就可以在IE浏览器环境下运行,在指定的文本框中输入符合计算要求的数据点击确定就可以得到计算的结果,如图3和图4所示。

图3 程序初始界面

图4 运行结果

3小结

通过上述例子我们可以得出以下结论:

(1) 在记事本环境下,仅仅使用了一些简单的VBScript脚本语句就可以完成复杂的数值计算任务。VBScript是介于HTML语言和Visual Basic、Java等高级语言之间的一种脚本语言,它接近于高级语言的大部分功能,但却比高级语言简单易学。

(2) 在运行该程序时,不像其他的程序设计语言需要经过编译或解释等步骤,以此来生成目标文件、连接文件以及可执行文件等,使用VBScript在记事本中编写的程序需要做的工作仅仅是双击该文件名,而不会生成其他的中间文件,这样就大大节省了系统的存储空间。

(3) 在运行该程序时,对运行环境没有提出特别的要求,仅仅是需要一个IE浏览器。这对于拥有一台PC机的用户是轻而易举的事情。

(4) 当你还在费尽心思考虑程序的在多台机器之间传递的时候,使用在此提倡的方法无需有这方面的顾虑。对于在任何一台PC机上编写的 .html文件,你可以轻松在多台机器上拷贝和运行,而无需进行额外的路径配置等工作。

当然,我们提倡的这种方法并不是十全十美,如:对于需要大量使用界面图形来处理的问题,或者需要使用数据库的问题,该方法就有所欠缺,但是该方法对于仅仅是为了自己方便,进行一些数据处理来说,是再合适不过的了。

全社会的计算机普及,为大学的非计算机编程教育创造了良好的氛围和外部环境,使广大非专业人员学习和使用计算机编程语言变得更加容易,如何使学有所用,使高等教育成为社会发展的推动力量,是高校非计算机专业编程教学面临的严重的挑战,这也是本文的初衷。

参考文献

[1] 施吉林, 刘淑珍, 陈桂芝.计算机数值方法[M].高等教育出版社.

推荐期刊