首页 > 文章中心 > 计算机程序设计基础

计算机程序设计基础

开篇:润墨网以专业的文秘视角,为您筛选了八篇计算机程序设计基础范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

计算机程序设计基础范文第1篇

随着社会不断的发展与进步,计算机作为现代先进产物的代表,已经很快的进入到社会中的各行各业。而程序设计作为计算机的核心内容,也同样引起了大家的重视,同时计算机程序设计也是高校开设的一门重要学科,为了能更好的为社会提供计算机方面的技术型和和设计型人才,就必须重视程序设计的教学。本文针对高校程序设计课程中存在的不足,展开了全面的讨论,对高校的程序设计的教学方法和教学内容进行改进。

【关键词】

计算机程序;程序设计语言;教学方法

我国几乎所有的高校都开设了计算机程序设计这一学科,而程序设计语言教学时计算机程序设计教学中最重要的教学内容之一,对其掌握的程度会直接影响着之后对计算机的学习,也为将来从事本行业奠定了坚实的基础。从程序设计语言入手,展开对计算机硬件和软件的学习,掌握计算机程序设计的基本理念,从而不断的打造新型计算机技术人才,推动我国计算机行业的前进。

1 计算机程序设计语言教学现状

1.1 教学课时短

虽然现在计算机已经很普及,但是多数学生对于其中真正的内涵了解甚微。现如今的大学主张的是学生自主发展,因此给学生自由发展的时间很多,在此同时又主张学生多方面发展,这就导致学生接触计算机程序设计的时间较少。教学课时短就成了一个突出的问题,老师只能教给学生一些基础的理论知识,对于新鲜事物出现在脑海中的时候,学生往往有疑问也不会发问,再加上在这方面的基础比较薄弱,就导致了学生们接受比较缓慢。

1.2 学习动力不足

在很多学生眼里,计算机程序设计是一个即枯燥又无味的学科,程序设计语言中涉及了一些数学、英语等其他方面的基础知识。有很多学生就觉得有些力不从心,觉得程序设计语言就想天书一样,不能形成用计算机语言去解题的思维方式,对程序设计产生了畏惧心理,就会出现很多知难而退的学生。

1.3 实践达不到真正的要求

计算机专业本身就是应用型专业,而恰恰在大学中程序语言教材书中缺少了实践这一部分,没能体现出教材的实用性与实践性,不能起到对学生的实践能力培养的作用。不能达到对技术型人才的培养。

1.4 教学方法单一,考核方式欠缺

计算机程序设计语言的的教学方式现在还是比较传统的,往往是老师讲同学听的形式,课后再增加一些实验,同学只是单纯的接受老师传授的东西,却缺少了自己的思考,更不能发表的自己的见解。在上实验课的时候,大部分同学也只是单单的将书本上程序打入电脑,进行调试成功后就认为完成了任务。学生不知道如何从实际问题出发,老师的检测方式也就是笔试,而忽略了对实践的检验。

2 解决计算机程序设计语言存在问题的对策

2.1 采用不同的教学方式,提高学生的学习兴趣

要让学生仍是到计算机程序语言的重要性,老师在讲解的过程中可以插放一些小动画或软件的保护,从而引起学生的兴趣。在讲课之前老师要带领着同学看目录,划重点,让学生对程序语言的学习有一定的规划,尽量消除学生心里的畏惧感。老师要多和学生沟通,了解学生对所学的东西的了解程度,从而确定教学的进度。总之,老师在教授程序语言的同时,要以学生为主,多鼓励学生进步。

学校应该本着培养技能应用型人才,针对少数人或特别的学生,要采用不同的教学方式。适当的增加课时,给老师足够的时间去引导学生利用程序语言去解决实际问题。

2.2 解决学生实践不足的现象

学校在选择教材时,要尽量选择带有大量实践课题的教材,意在提高学生的实践和创新能力。老师也可以根据不同的学生的学习程度,设定一些课题实践,增加实践在整个教学中的比重。单单的课内实验室不够的,老师还要多增加一些课程设计,快速的增加学生的综合实践能力。

3 改进计算机程序设计语言教学的方法

3.1 程序设计语言教学的重点

教师应该在教学中突出三个重点。一是程序设计中的语法知识,语法是程序设计语言中的基础,在编程的过程中一定不能出现语法上的错误,因为这会给后面的调试带来很大的麻烦。二是程序中的控制结构,因为在编程的过程中,编程者无论是面向什么进行设计,都会涉及到流程控制结构,所以教师应该突出讲解这部分。三是控件的使用,所有的编程几乎都离不开控件的使用,因此要详细的讲解空间的作用与使用方法,并在实践中让学生加深对控件的理解,

3.2 任务驱动教学

计算机程序设计语言是有很多活动范围的学科,老师可以采取一种探究教学方式,任务驱动教学就是一种从学生角度出发的的一种教学方式。老师设定一个课程设计,大家首先经过谈论分析出课程设计的目的,然后老师和学生围绕这个课题开始实践。这种教学方式主要在于培养学生的自主探究的能力和独自分析问题的能力。学生最初独自进行编写程序的时候,老师要引导学生进行思考,将一个大的程序一点一点的分成很多个小的任务,这样会减少对学生积极性的打击,之后在协助学生对自己的程序语言进行修改,让学生感受自己设计出程序的喜悦,从而提高学生的信心。

3.3 增加教学实例

枯燥无味的课堂,学生往往会对新元素的引入产生兴趣,这时老师可以在课堂上引入一些程序案例,实例可以加深学生对课堂内知识的认识,让学生从整体上了解自己所学的程序语言,让学生从实例中找到所学知识的应用,同时也会激发学生的创新意识,培养学生提出问题,解决问题的能力。

4 总结语

在学习程序语言的过程中,教师要用不同的教学方式进行教学,发现不足并及时的改进,放弃原有的教学方式,以学生为主开展课题设计。不能认为哪种教学方式好就一直使用一种教学方式,这样会造成学生对课堂的厌烦,无论哪种教学方式,都要以激发学生学习程序设计语言的兴趣。

【参考文献】

[1],肖海容.《C 语言程序设计》课程教学问题分析及对策研究[J].东莞理工学院学报 ,2013,(5):111-115.

[2]庞尔丽,王欣.大学计算机程序设计语言教学的几点思考[J].软件导刊,2013,12(1):183-184.

[3]郝桂英.关于计算机程序设计语言课程教学的探索[J].教育与职业,2007,(17):156-157.

[4]贺忠.游戏思想在程序设计语言课程教学中的应用[J].计算机教育,2009,(13):157-159.

计算机程序设计基础范文第2篇

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

计算机程序设计基础范文第3篇

Abstract: The cultivation of students' computational thinking ability is one of the core tasks of the teaching of basic computer courses, and computer programming courses in computer skills training play an extremely important role. In this paper for how to cultivate the students' computational thinking ability in the teaching of computer program design course, put forward the concrete strategies from the transformation of teaching idea, class teaching, task driven teaching mode and practice etc.

关键词: 计算思维;创新思维;任务驱动

Key words: computational thinking;creative thinking;task driven

中图分类号:TP311.1;G642.3 文献标识码:A 文章编号:1006-4311(2017)02-0249-02

0 引言

计算思维实质上就是一种人们对于一个问题的描述、建立模型以及问题的最后求解这一过程的科学思维能力[1],它已经成为人们本质的、必须具备的一种最基础、最普遍、最适用和不可缺少的基础思维方式和能力,就如同人们阅读、写字、做算术一样,它将是现代社会中每个公民必需的生存技能和工具。计算机思维是一种现代科学思维能力,该思维强调的是计算过程的具体实现以及如何利用程序语言控制机器来解决实际问题[2]。周以真教授提出的观点是:“计算思维是人类实现问题求解的一种途径,但决非要使人类像计算机那样思考。与计算机相比,人类富于创造力和想象力,使用计算设备,人们可以运用自己的智慧去解决那些在计算时代之前不敢尝试的问题”[3]。

因此,可以认为计算思维具有抽象和自动化的本质,是人们必须具备的一种最基础、最基本的思维方式和能力,在现代信息化社会中起到重大作用。所以在计算机程序设计课程体系中,如何引入计算思维理念,如何培养计算思维,有助于提高教育教学水平,同时促进计算思维在国内的进一步研究与传播,为计算机基础课程教学改革提供新的思路与视角。

1 计算思维

计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[4]。早在2006年3月,在美国计算机权威杂志ACM上,卡内基・梅隆大学计算机科学系周以真(Jeannette M.Wing)教授就率先提出了这一概念,随后在国内外掀起了有关计算思维的广泛研究与探讨。比如,在2007年3月,“微软-卡内基梅隆计算思维中心”成立,是由微软公司和卡内基・梅隆大学联合组建。同时,美国计算机协会(ACM)也随后提出在“计算机导论”课程中融入“计算思维”的理念[5]。

计算思维常用抽象与分解的方法来处理复杂的问题或系统,通过对问题进行合适的表达以及对问题建模来使问题变得容易解决,其本质是抽象和自动化,如同每个人都应该具备“读、写、算”能力一样,它是人类改造世界的最基本的思维模式[6]。然而计算思维的抽象是用符号来代替现实问题中的各种变量,它的自动化体现在程序的机械式执行方面。

2 程序设计课程中培养计算思维能力的策略

2.1 转变教师的教学观念

当今科学技术和社会的加速发展,给教育不断提出了很多新的需求,迫使教育工作者们教育观念必须与时俱进。遵照计算机学科的“构造性”和“能行性”特征,就需要强化基于计算思维能力的计算机基础课理论教育。在计算机程序设计课程的教学中,在学时压缩和社会高需求下,培养学生抽象的归纳力和理解力等计算思维能力,比如,如何唤醒学生潜在的力量,提起他们的兴趣、鼓励其积极性,训练其自我性和主动性,成为我们教学研究的重点。所以我们必须在教学观念上研究如何做到以人为本,针对在较大程度上又是以思维方式的数学化为支撑的计算思维能力,如何在教学的每一个环节去思考计算思维能力的培养。比如,在计算机程序设计课程的教学过程中强化计算思维训练的时候,计算思维就其严谨[7]性的特点,要求在描述问题时,必须采用确定的、形式化的、不能有二义性的语言,当学生在编写程序时使用了错误的符号或者语法,这个时候就要耐心引导学生一起帮助他们去分析发现问题存在的错误,找出原因并加以修正,这样可以培养学生良好的编程习惯和严谨的科学态度,强化计算思维的严谨性。计算思维有一个非常明确的目标即解决问题。所以在计算机程序设计课程的教学过程中,引导学生在现有的知识体系上,大胆地提出问题,用抽象化和程序化的形式将问题描述出来,然后用计算机程序语言来解决,通过这种方式可以培养学生自己提出问题和解决问题的能力。同时计算思维又是机械化的[8],在训练学生所用计算思维的算法来描述问题、解决问题时,要充分利用现代计算机,从而培养学生掌握使用机械化思维进行信息处理的能力。

2.2 因类施教

大类教学现在是我国各个高校课程体系改革的发展方向,根据各个大类(例如,理学类、艺体类、工程类和文史类)中学生的特点和各个专业的需要,在计算机程序设计教学中,首先在教学内容的选取上加以区别对待,在各个学科大类中,都利用计算机语言编写程序,用计算机这个先进的智力工具来解决各种问题,突出各个专业特色和各个学科与计算机通用理论体系的交叉性。

其次,对计算机程序设计的实验教学内容,结合各个学科特点,设计一些跨学科的综合性实验。在师资队伍方面,组成一个跨专业背景的教学团队。为了使学生熟悉理解计算机学科的普适思维方式[9],课堂上采用本学科的案例教学来培养学生计算思维的方式,包括对问题进行逻辑和科学的分析,基本概念、基本方法、问题解决的方法(抽象到数学层次上去解决)以及编程的思路等。这样让学生感知计算机在本学科领域的强大应用,加深对本专业领域中计算机应用的感性认识和理解,同时掌握问题解决是所用到的计算方法与思想。

2.3 任务驱动教学模式

在计算机程序设计教学中,采用任务驱动教学模式培养学生计算思维,就是在提出任务、实施任务、完成任务等各个环节中,注重培养学生如何用计算思维的方法去分析问题、解决问题。其中精心设计提出任务是实施任务驱动教学模式的关键。设计任务时注意选择贴近生活和能让学生感兴趣的内容,给学生提供计算思维的创新空间。注意任务的典型性,同时兼顾知识的覆盖面,学生利用现有的能力能够实现,同时要具有一定的代表性,对解决其它相似问题具有指导意义。在任务的实施过程中,为提高学生的计算思维能力,教师要起好引导作用,引导学生利用所学知识,一步步分析任务,提出问题,充分调动学生的好奇心和求知欲,发挥个人潜能去分析并寻找解决问题的方法,提高自主思维的能力,引导学生用计算机编程在计算机上加以调试实现。学生完成一项任务后,要分组交流、讨论一下任务的情况,作好总结,指导教师及时对完成情况做出正确评价。通过这种任务驱动教学一方面使学生进一步巩固和提高了所掌握的知识与技能,同时又给学生创造了一个集思广益、开拓思路的宽松的学习氛围。通过这种基于计算思维的任务驱动教学模式,可培养学生发现问题并解决问题的计算思维能力。

2.4 强化实践环节

计算思维突出的特点是借用计算机这一强大优势的计算工具来解决问题。因此,面对要求解的问题,人们常常将分析后的问题最后抽象成一个数学模型,即抽象到数学层次上,想出该问题的计算步骤,用计算机语言编程,最后在机器上验证其可行与否,正确与否。计算机程序设计课程中的编程能力又综合体现出学生所具有的计算思维和技能化知识,其计算思维的正确性还要通过反复的上机实践加以证明,所以在计算机程序设计课程中必须大力强化实践环节。

在实践环节中,为了培养学生个体思维和操作能力,实验内容分为三种,即验证性实验,设计性实验和调试性实验,另外在配有课后强化计算思维训练的实验思考。在每次实验中,教师引导学生养成良好的计算思维和编程的好习惯,有意识地训练学生仔细阅读题目,找出问题的关键并抽象为数学模型,思考数学模型求解的步骤,用所学的计算机编程语言将算法编写一个源程序在计算机上调试运行,并能对每个程序的结果加以分析,引导学生对已有算法的优缺点进行思考和分析,并如何进行简化和优化,最好能给出一些能优化改进的算法。鼓励学生要有发散性思维,提倡算法的多样化。通过以上方法强化实践教学环节,从而培养学生在问题求解和机器实现方面的计算思维能力。

3 结束语

在计算机程序设计课程教学中融入计算思维的理念,在教学过程中将教学重心从计算机语言、语法和规则等的讲解转移到培养计算思维的各个学科案例和实践任务中;以培养计算思维能力为核心,从思维方法的高度培养学生,培养学生在考虑问题时,能主动地、自主地、习惯地采用计算思维来解决各个领域的实际问题,以满足国家对培养创新型人才的需要。

参考文献:

[1]牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011(3):10-15.

[2]Wing J M,谭良.Computational Thinking[J].Communication of the ACM,2006,49(3):33-35.

[3]王移芝,鲁凌云,周围.以计算思维为航标,拓展计算机基础课程改革的新思路[J].中国大学教学,2012(6):39-41.

[4]Jeannette M W. Computational Thinking[J]. Communications of ACM. 2006,49(3):33-35.

[5]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):9.

[6]牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011(3):10-15.

[7]董荣胜.计算机科学导论:思想与方法[M].北京:高等教育出版社,2007:101-102.

计算机程序设计基础范文第4篇

[关键词]体育院校 VB课程教学

[作者简介]宁光芳(1970- ),女,郑州大学体育学院,讲师,在读博士,主要从事体育教育基础理论研究。(河南 郑州 450044)

[中图分类号]G642.3 [文献标识码]A [文章编号]1004-3985(2013)36-0134-02

一、引言

“计算机程序设计基础”是大学计算机公共基础课的重要组成部分,是一门计算机程序设计的基础课,主要介绍计算机程序设计的基本理论、方法和技术,还包括程序设计的方法学、数据结构和算法基础等相关知识。同时,“计算机程序设计基础”非常注重实际动手操作能力的培养,是一门实践操作性较强的课程。无论使用何种编程语言进行教学,通过“计算机程序设计基础”公共基础课的学习,都应让学生掌握计算机程序设计的思想和方法,初步具有在各个领域应用计算机的能力,并为后续课程的学习创造条件。VB作为诞生最早的面向对象的可视化程序设计语言,很好地体现了结构化程序设计的思想。其语法简洁、功能强大,相对于其他程序设计语言具有简单易学、容易上手、容易调试等优点而被初学者广泛接受和使用。所以在开设“计算机程序设计基础”课程时,很多高校都选择了开设VB程序设计。但是,相对于高校非计算机专业的计算机基础课程其他选修模块,对于体育院校的学生来说,学习VB程序设计却存在着一些问题,导致较多学生感到课程学习比较困难,甚至产生了厌学情绪或放弃学习的想法。

二、教学中存在的问题

体育院校担负着为国家培养体育师资、教练员、运动员和体育科研、体育新闻、体育经济与管理以及社会急需的各类高级专门人才的重要任务。体育院校“计算机程序设计基础”课既具有其他普通院校非计算机类教学的共性,又具有体育院校鲜明的特色。

1.学生的原有认知结构参差不齐。体育院校的学生与普通院校的学生相比,有着自身的特点。主要是体育院校的招生对象分为两部分:一部分是体育新闻、体育经济等专业的招生,入学文化成绩要求比较高,但无须参加体育专项考试;一部分是具有一定体育运动水平的考生,参加全国普招文化、体育考试,但是文化课成绩要求相对较低。从整体而言,相对于普通高校,体育学院的学生文化基础相对较弱,对计算机学习的认知能力也相对较弱。并且由于学生生源的不同,如有的来自于大城市较好的中学,有的来自于城乡结合部的中学,有的来自于县城条件较差的中学;还有家庭条件的影响,如有的家庭条件好一些,家中有计算机,而有的家庭条件差一些,家中没有计算机。所有这些都导致了体育院校的学生原有认知结构参差不齐,直接影响了VB程序设计的课程教学效果。

2.教学内容与实际应用脱节。VB程序设计本身具有一定的抽象性,对于没有计算机编程基础的学生来说学习有一些心理上的障碍。很多教师在实际教学中,为了突出课程的系统性和知识的全面性,在教学过程中,对知识的层次要求过高,讲授的内容过深,理论性过强,不能够很好地把课程与实际生活相结合,不能与学生的专业特点相结合,不能表现课程的实用性特点,并且没有很好地引导学生的学习需要。结果造成学生的学习兴趣和积极性难以激发,学生往往感觉VB程序设计课程晦涩难懂、枯燥乏味、学习吃力,从而失去学习兴趣,甚至在学习过程中丧失了学习的信心。

3.教学模式不适合大班教学。计算机程序教学大多采用讲练结合的教学方法。教师先讲解教学内容,然后让学生上机练习典型习题。这种教学方法特别适合小班上课,教师可以在学生上机时给予辅导和帮助。但是由于体育院校“计算机程序设计基础”课时安排得比较少,并且在实际教学中,通常采取的是大班上课,那么讲练结合教学方法的优势就发挥不出来了。这种大容量的教学内容和僵化的教学形式往往使学生听课时毫无兴趣,练习时无所适从,学生缺乏基本的学习动力,学生的信息素养、学习能力培养也无从谈起。

4.教学评价方法单一。评价方法是培养学生综合能力的有效激励手段。VB程序设计课程在体育院校和其他高校一样,一般采用平时成绩加卷面考试的方式来给学生一个最终的评价。卷面考试采取学校统一命题、统一组织考试,便于学校对考试的管理,也能测试学生对知识的掌握情况。但是,卷面考试对于计算机程序设计教学却存在着弊端,不能测试学生实际动手操作能力和实际编程能力。这样的卷面考试也就失去了培养学生综合能力的有效激励手段的作用。

三、VB课程教学探究

在体育院校VB程序设计课程教学中存在着上述问题,最终导致了学生学习兴趣不高,甚至出现了厌学和放弃学习的现象,严重影响了VB程序设计课程的教学效果。笔者结合在体育院校教学的实践经验,就提高体育院校VB程序设计课程教学效果进行了探究。

1.调整教学内容,改善教学进程。教材的编写一般都有较强的系统性和逻辑性。通常,VB教材首先介绍程序设计的一些基本语法,接着介绍程序设计的三种基本控制结构、算法、数组、过程、函数和数据文件。在VB教学中,如果照本宣科,按照教材内容的顺序授课,那么首先讲授的基本语法部分就会因为枯燥抽象,使学生一开始就失去了学习兴趣,不利于后续内容的学习。因此,教师在实际教学中可以尝试少讲理论,多讲应用。由于学生的原有认知结构参差不齐,对计算机操作熟练程度也不一样,那么教师在教授VB知识的过程中,也要考虑到这些知识技能很差的学生。例如在讲授基本语法时,教师可以少讲一些语法知识,多讲一些简单的、学生容易掌握的小案例,然后让学生练习。这样,学生就会在学习这些小案例的过程中,一步一步地掌握基本语法知识。

知识学习的深入也可以根据具体实例的功能的丰富与完善来层层挖掘。如控制语句不一定必须在基础语法知识讲完后才能使用,而在具体解决问题的时候,合理地引导,注重语句的作用,忽视语法的使用,对学生的编程思维有很大的启发。

2.采用混合学习模式,发挥网络优势。信息技术的飞速发展和广泛应用为教育教学提供了新的研究方向。把传统的课堂教学置于信息技术环境下进行研究更是促进了教学模式的变革。作为体育院校VB程序教学在利用网络学习方面更有独特的优势,可以很好地解决学生原有认知结构参差不齐和教学内容与实际需求脱节的问题。

体育院校VB程序设计课程教学中,采用混合学习的模式,构建网络学习平台,发挥网络学习的优势,为学生提供丰富的学习资源和更加便利的学习方式,让学生在信息技术环境中进行VB程序设计课程学习。知识程度参差不齐的学生可以在网络学习平台丰富的资源中找到适合自己认知水平的学习内容,也可以在网络学习平台中找到丰富的满足自己学习需求的实践案例进行学习。学生可以自主探究,也可以和同学结伴协作学习,还可以实时进行自我学习评价等。

网络学习平台能够克服时空限制,学生可以随时登录,自主选择学习内容,巩固知识。网络平台也提供了学习交流的有效途径,学生的疑难问题通过交流协作来解决,这个互相交流的过程同时也记录了学生的学习成长过程。网络平台的自主学习克服了传统课堂教学不能兼顾的学生差异问题,学生的学习步调可以自主设定,照顾了基础差的学生能够通过自学跟上进程,同时丰富的学习资源又给基础较好的学生提供了更深入的学习空间。

3.展示优秀作品,激励学生学习。一段编写简洁的代码、一个设计巧妙的程序体现出编程者的设计思想、设计的风格。优秀的作品就像一个学习的榜样,引导学生向着这个方向学习。网络学习平台恰好能够提供一个展示优秀作品的空间,把优秀作品放到网络学习平台上,为学生的学习树立了榜样。值得一提的是,这些优秀的作品可以是教师的,也可以是学生的。课堂上,教师敏锐的思维、娴熟的语法、良好的编程习惯、优秀的程序作品,无形中感染和影响着学生。教师的作品放到网络学习平台上,可以让课堂延伸到课外。同时,学生的优秀作品放置到网络学习平台上更是激励了学生的学习兴趣,最终使得学生可以在优秀作品的激励下,勤奋学习,勇于创新,充分发挥学习的主动性和积极性。

4.结合多种教学评价方法,达到教学目标。VB课程的教学评价一般采用总结性评价的方法,像诸多学科一样采用笔试的方式来对学生的学习进行考核。学生为了应付这样的考试,需要记忆一些语法规则、定义、概念等基础知识,还要掌握编程的基本技巧和语法。这种典型的应试型的考评思路,僵化了学生的学习探究热情。VB课程的教学目的是让学生利用程序设计来了解计算机软件的工作实质,培养一种思维方式,提高信息素养,提高学习能力、创新能力。对体育院校的学生利用多种评价方式有利于课程兴趣的提高和课程目标的实现,而网络平台的档案袋评价就是一个不错的评价方式。利用专业的网络学习平台收集学生成长中的各项信息,包括各种学习交流信息、作业信息、作品展示、学习笔记、学习反思等,所有的这些参与活动形成了一个反映学生成长足迹的档案袋。通过这个档案袋,教师不仅可以对其进行评价,更重要的是档案袋的主人可以从自己的档案袋中发现自己、发展自己,这种评价方式是信息化环境下促进学生发展的有效途径。

如果把电子档案袋评价和考试的量化成绩相结合,摈弃学期末一卷定成绩的考评方式,那么学生的学习重点就会转移到教师的培养方案上来,而不是以应试的思路来学习。这种活跃的思维传递给学生的不仅仅是一门课程的学习方式,更重要的的是改变体院学生信息的敏感性,提高的是信息知识、信息能力和信息道德的综合素养,培养的是学生的自主学习能力、合作能力和创新意识。这也就符合了高校非计算机专业关于开展计算机课程的教学目标:为学生提供计算机知识、能力与素质方面的教育,旨在使学生掌握计算机、网络及其他相关信息技术的基本知识,培养学生利用计算机分析问题、解决问题的意识与能力,提高学生的计算机素质,为将来利用计算机知识与技术解决自己专业实际问题打下基础。

四、小结

作为国内外最流行的、面向对象的可视化程序设计语言之一,VB程序设计课程在体育院校作为大学计算机公共基础课开设,比较适合体育院校学生的学习特点。在VB程序设计课程教学实施的过程中,不仅让大学生掌握了程序设计的基本思想、基本方法,并且能够提高他们的信息素养,培养他们的逻辑思维能力。在针对体育院校的VB程序设计课程的教学设计过程中,需要认真分析教学内容并加以适当地调整,做好认知结构、学习风格、学习动力等方面的学生特征分析,充分考虑到学生的诸多方面的差异,选择适当的教学模式和教学策略,发挥网络学习的优势,把网络学习和传统教学相结合,运用电子档案袋等多种教学评价方法,最终才能在体育院校的VB程序设计课程教学中取得理想的教学效果。

[参考文献]

[1]龚沛曾.Visual Basic程序设计教程[M].北京:高等教育出版社,2007.

计算机程序设计基础范文第5篇

关键词:独立学院;课程改革;人才培养;程序设计

随着计算机软件行业的发展与普及,十几年来计算机软件技术发生了翻天覆地的变化,而高等学校的教学内容、教学模式与教学方法却没有多大的改变,课程教学理念严重滞后于实际需要,教学效果存在相当大的问题。现在的计算机软件专业学生拥有的优势越来越少,就业压力也越来越大。对独立学院的计算机软件专业学生而言,更是如此。比专业理论知识,他们没有一本、二本的学生全面扎实,比实践操作能力,他们又远不及高职学生。那么独立学院应该培养怎样的计算机软件人才呢?学生将来毕业以后,凭借什么在社会上立足呢?这是我们老师一直在思考和探索的问题。

为适应新的形势,我院明确了计算机软件人才的定位:培养应用型软件人才。这个培养目标既是从独立学院学生的自身条件出发,又符合当前社会对计算机软件人才的需求。在这个培养目标的指导下,我们在计算机程序设计课程教学上进行了大胆尝试,修订了教学大纲,增加、删除了部分教学内容,并将新的教学模式与教学方法引入计算机基础教学中,取得了较好的效果。

1存在的问题

已往的教学经验表明,学生在学习程序设计类课程时最难的地方不是掌握某种程序设计语言的语法规范,而是掌握程序设计的基本方法。

程序设计语言的语法规范是死的,并且与任何一种自然语言相比,程序设计语言的语法规范更简单规则。因此,只要学生掌握好了程序设计的基本方法,再花费一定的时间掌握某一种程序设计语言的语法规范,就能用该程序设计语言设计程序,甚至达到精通水平。

具体而言,目前教学中存在的主要问题有:教学内容与教材组织过于陈旧;教学目标没有反映新形势的需要。其典型表现在:程序设计方法强调不够,抽象思维能力培养不足;某些程序设计中重要的概念讲授力度不足,如库与接口、UML建模以及目前流行的软件开发方法等,学生在实际的软件开发中无法满足企业的需要。

2构建程序设计基础培养四阶段课程体系

大多数独立学院的本科计算机软件专业现行的课程设计,与普通的一本、二本院校相比相差无几,没有突出独立学院的特点,也没有明确独立学院的培养目标。因此,对独立学院计算机软件专业课程体系进行改革迫在眉睫。我院以“计算机导论与C语言程序设计”为公共基础的程序逻辑训练、以“高级程序设计技术”为核心的程序设计方法培养、以“数据结构”为支持的数据与程序抽象能力培养、以“C++程序设计”贯穿面向对象程序设计新理念,并在大三大四高年级开设了Java、Linux、UML建模等程序设计类选修课程,形成了“基础训练+方法培养+提高能力+拓展层面+实践应用”的程序设计教学新模式[1],在强化程序设计能力培养过程中发挥了重要的作用。

3提出并实施四层次软件人才培养新模式

我院以课程体系为基础,提出并实施了“基础训练+提高能力+拓展层面+实践运用”的四层次软件人才培养模式。

3.1基础训练

程序设计基础训练课程开设在大学一年级,是大学阶段系统认识计算机、应用计算机的入门课程,通过程序设计的词法、语法及使用方法的学习,要求学生掌握、体会计算机解决问题的基本技能。在基础训练中,通过对计算机导论课程的学习,让学生认识并能熟练运用计算机编写程序;通过对C语言程序设计课程的学习,让学生初步掌握程序设计的方法,训练程序设计中的逻辑思维。

3.2能力提高

程序设计能力提高课程开设在二年级,主要从两个方面提高学生的程序设计能力:一是高级程序设计技术课程,重点学习典型的程序设计方法技术,便于学生系统地学习并掌握程序设计方法技术。二是数据结构课程,通过构造性思维的训练,重点突出数据抽象与程序抽象能力的培养,让学生在基础训练阶段之后能更深入地理解程序设计的概念。

3.3层面拓展

主要以市场需求为基础,包括工具类别与应用环境的拓展,以选修课形式开设在三、四年级。在具有良好C程序设计能力基础上,展开其他程序设计工具层面,如开设Java、VC++、VB等程序设计类选修课程,增强学生掌握新工具,举一反三的能力。随着我国经济发展,国外市场份额不断增加,熟悉和使用Unix环境已成为计算机软件专业应当掌握的重要技术,开设Unix环境编程和Linux程序设计等课程,将拓展应用环境,提高学生适应新环境的程序设计能力。

3.4实践应用

自2006年以来,我院就加大了程序设计课程中的实践课时比例,实践课时占到总学时的1/2或1/3,每门实践课都单独安排了实践课老师,指导学生更好地进行实践。在实践课设计中,我们既重视学生理论知识的巩固,又注重其解决实际问题能力的培养,因此,我们把实验自下而上分为知识层、应用层和综合层3个层次。

知识层注重对知识的理解和掌握,数据结构、数据库原理和Java程序设计等理论课增设了相应的课程设计,课程设计的主要内容是:按软件企业先进的项目管理和开发模式,以“项目驱动”进行软件系统开发的实训。应用层重点在于巩固与应用,学生在校期间参加课外兴趣小组或在毕业论文设计中,大部分学生都能使用VC++做系统级深层次应用。综合层则关注综合与创新,学校鼓励学生参加大型的综合性IT比赛,如ITAT、大学生挑战者杯创业大赛等。

3.5创造性思维能力的强化

计算机程序设计能力,对计算机专业学生的知识结构、技能的提高和智力的开发变得越来越重要,技能培养的重要程度决不亚于知识传授。对程序设计能力的提高来讲,编程序不难,编好程序不易。质的飞跃来自量的积累、艰苦的磨炼,所以良好的专业技能和创造性思维培养的关键在于实践。程序设计是高强度的脑力劳动,是创造性的艺术,只有提高了科学思维,学会了程序设计的真本领,才会将知识与技术变成能力,应用自如。

3.5.1案例驱动教学:兴趣引导

针对独立学院学生思维灵活但学习自觉性较差的特点,我们采用案例教学法,避免了传统填鸭式教学方法的呆板,通过实例演示,让学生对所学知识产生兴趣,有了一定的感性认识之后,再提升到理论高度,循序渐进地掌握知识。经过多次教学的探索,总结出重点讲授解题思路、算法设计及编程构思,突出上机训练,在编写程序过程中让学生自己进行探索性的学习,程序设计中的成果能极大地增加学生的成就感、培养学生程序设计的兴趣,并达到更加牢靠地巩固理论知识的目的。好的程序设计案例所采用的程序设计方法教会学生用适当的语言清晰地表达其思考过程。

3.5.2指导―大运动量实践―反馈训练:加强创造性思维培养

数据结构[2]的学习过程,是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解,习惯算法构造思维方法。针对数据结构技术性与综合性较突出的特点,我们提出并实施了“指导―大运动量实践―反馈训练”教学法。通过作业练习、课程实习、课程设计3个环节实现实践过程,前者偏重于对课程内容的理解,后者侧重于软件设计综合训练,促进了专业学生逻辑抽象能力和创新能力的培养。

3.5.3项目训练:提高应用能力

通过“项目训练”[3]方法,我们提出课程设计规范要求,突出关键技术要点,贯穿基本技能训练主线,精心设计综合性实验,体现加强实践能力培养的重要思路。数据结构课程设计时进行软件开发综合训练的第一门课,通过选用具有一定实用性的综合题目,采用学生个人进行和小组合作的方式,通过问题分析、总体结构设计、用户界面设计、程序设计基本技能和技术的一系列过程,培养学生动手实践、合作研究、协作开发大型软件项目的能力,培养学生采用软件工程正规方法进行设计与实现,为专业技能训练奠定了基础。“项目训练”方式将学生引入具体的项目研发,使学生有更多的主动学习机会,培养了科研能力。

3.5.4提高学生的兴趣与创新能力

竞赛等多种活动为学生提供了展现程序设计能力的舞台,激发了学生学习的主动性。我们已连续3年开展全校“电脑文化节”、“网页设计大赛”、“Flash竞赛”、“计算机知识竞赛”;学生参加省级、国家级数学建模比赛,6人次获国家级奖励,20人次获得省级奖励;学生在程序设计大赛中取得优异成绩,获得多项奖励,3人次获ITAT国家级奖,多人次获省大学生挑战杯一等奖。

4结语

计算机课程改革势在必行,特别是对于独立学院来说,更是迫在眉睫。改革的成功与否将直接关系到学生以后的就业。在进行计算机课程改革的基础上,我们针对软件人才的培养,提出程序设计教学的新模式和以设计为中心的能力培养新方法。作为一种有益的尝试,新的课程体系通过一种有趣的、面目可亲的方式向学生说明了创造性思维能力在程序设计中起到的重要作用。

参考文献:

[1] 翟玉庆,邓建明. 计算机科学研究型人才培养模式的探讨与实践[J]. 计算机教育,2005(1):31-33.

[2] 耿国华. 数据结构[M]. 北京:高等教育出版社,2007.

[3] 王志英,宁洪,戴葵. 强化计算机专业实践教学[C]//第七届全国计算机系系主任论坛论文集. 北京:高等教育出版社, 2004:37.

Reform of Computer Courses and Training of Software Personnel in Independent Colleges

LIU Ya, TAN Qian-mao, ZHOU Li

(Computer Science and Engineering Department, Jinjiang College, Sichuan University, Pengshan 620860, China)

计算机程序设计基础范文第6篇

>> 技工学校计算机程序设计课程教学的研究 技工学校计算机程序设计课程教学的思考 技工学校VB程序设计课程教学方法浅析 技工学校计算机基础教学探讨 谈技工学校计算机教学 技工学校工程制图与计算机辅助设计课程教学构想与设计 技工学校《计算机应用》课程教学的探索 技工学校计算机应用基础课程教学浅议 浅析技工学校计算机应用课程教学改革 略谈技工学校计算机应用基础课程教学 技工学校《计算机应用基础》课程教学特点及讲授策略 民办技工学校《计算机应用基础》课程教学的研究与探索 浅议技工学校计算机基础课程教学质量的提高 浅谈机械类技工学校的《计算机基础》课程教学 浅议技工学校计算机应用基础课程的教学 技工学校计算机课程的创新教学浅析 浅谈高级技工学校计算机教学课程的设置 新时期技工学校计算机高效课堂的构建思路分析 浅谈技工学校计算机应用课程考试试卷设计的基本原则 技工学校计算机专业一体化课程的开发与设计 常见问题解答 当前所在位置:内容如下:

1

2

3

4

5 function information(name,sex,height,weight,score)

6 {

7 this.name=name;

8 this.sex=sex;

9 this.height=height;

10 this.weight=weight;

11 this.score=score;

12 this.way1=function outprint1()

13 {

14 alert("姓名:"+this.name+",性别:"+this.sex+",身高:"+this.height+",体重:"+this.weight+",成绩:"+this.score);

15 }

16 this.way2=function outprint2()

17 {

18 document.write("

"+this.name+"

"+this.sex+"

"+this.height+"

"+this.weight+"

"+this.score);

19 }

20 }

21 var Information=new information("陈普光","男","170cm","60kg","90分");

22 Information.way1();

23 Information.way2();

24 //-->

25

26

27

程序第5行至第20行是一个对象的构造部分,其中第7行至第11行是对象属性部分,绝大多数学生对“对象属性是对象所具有的性质”经过老师的对上例的讲解能很快掌握,但对从第12行至19行的对象方法部分即“对象方法是对象可执行的操作”绝大多数学生无法理解。面对这种局面,结合大多数学生对“函数”的理解比较好,接着深入下一层:

3.2 拿学生已经掌握的知识和新知识进行比照教学

根据大多数学生对“函数”的理解比较好,我将上述程序变形为程序ch_y.htm内容如下:

1

2

3

4

5 function information(name,sex,height,weight,score)

6 {

7 this.name=name;

8 this.sex=sex;

9 this.height=height;

10 this.weight=weight;

11 this.score=score;

12 }

13 function outprint1()

14 {

15 alert("姓名:"+Information.name+",性别:"+Information.sex+",身高:"+Information.height+",体重:"+Information.weight+",成绩:"+Information.score);

16 }

17 function outprint2()

18 {

19 document.write("

"+Information.name+"

"+Information.sex+"

"+Information.height+"

"+Information.weight+"

"+Information.score);

20 }

21 var Information=new information("陈普光","男","170cm","60kg","90分");

22 outprint1();

23 outprint2();

24 //-->

25

26

27

我将程序ch_x.htm中封装在对象第12行至第19行的方法,在程序ch_y.htm变形为第13行至第20行的函数,由于大多数学生对“函数”理解比较好,通过对这两个程序的对照讲解,特别对两者不同用“加粗”重点讲解,使绝大部分学生最终理解了“对象方法”。

为了巩固教学效果,进入最后一个环节:

3.3 布置课堂实操作业,让学生自己动手举一反三

著名的美国新行为主义心理学家斯金纳提出“强化理论”,指出人类学习必须经历强化,特别要遵循“及时强化原则”,因此布置课堂实操作业如下:①根据自己的个人信息用“函数”设计一个类似ch_y.htm的程序②根据自己的个人信息用“对象”设计一个类似ch_x.htm的程序

通过以上分三层次剖析教学,全班25名学生有20名顺利完成了课堂作业,达到了较理想的教学效果。

4 结束语

从事技工教育多年,总结技工学校计算机程序设计课程教学思路如下:一是素材要贴近学生的日常生活,二是讲解要拿学生已经掌握的知识和新知识进行比照教学,三是让学生自己动手举一反三,达到巩固教学成果的目标。

参考文献:

[1]吴以欣,陈小宁.动态网页设计与制作:CSS+JavaScript[M].人民邮电出版社,2009,8.

[2]段智毅.Visual C++程序设计教程[M].人民邮电出版社,2009,5.

计算机程序设计基础范文第7篇

――四川大学数学学院曹广福

数学:必然考查的能力

下面是一道世界第一大软件公司(微软)招聘程序员的测试题:

中间只隔一个数字的两个素数被称为素数对,比如5和7,17和19,证明素数对之间的数字总能被6整除(假设这两个素数都大于6)。

这样的试题还有很多很多,这些题目看上去都是一些数学问题。但是世界上一些著名的公司都把它们用于招聘测试,可见这些公司对新员工的数学基础非常重视。数学试题与应用程序试题是许多大型软件公司面试中指向性最明显的一类试题,这些试题就是考查应聘者的数学能力与计算机能力。

某咨询公司的一名高级顾问曾说过,微软是一家电脑软件公司,当然要求其员工有一定的计算机和数学能力,面试中自然就会考查这类能力。微软的面试题目就考查了应聘人员对基础知识的掌握程度、对基础知识的应用能力,甚至暗含了对计算机基本原理的考查。所以,这样的面试题目的确很“毒辣”,足以筛选到合适的人。

四川大学数学学院的曹广福教授曾说过:“一个大学生将来的作为与他的数学修养有很大的关系。”大学计算机专业毕业生都有感触,计算机专业课程中最难的几门课程莫过于离散数学、编译原理、数据结构。当然,像组合数学、密码学、计算机图形学等课程也令许多人学起来相当吃力,很多自认为数据库学得很好的学生在范式、函数依赖、传递依赖等数学性比较强的概念面前感到力不从心,这些都是数学基础不扎实或者说缺乏数学知识所造成的。

数学是计算机的基础,这也是攻读计算机专业研究生的数学试卷都采用最难试卷的原因。当然这也能促使一些新的交叉学科如数学与应用软件、信息与计算科学专业等飞速发展。

基础:敏锐严谨的数学思维

程序设计当中解决的相当一部分问题都会涉及各种各样的科学计算,这需要程序员具有什么样的基础呢?面对实际问题,程序员往往需要建立完美的数学模型,只有这样,才能设计出良好的程序。算法与计算理论是计算机程序设计领域的灵魂所在,是发挥程序设计者严谨、敏锐思维的有效工具,任何程序设计语言都试图将之发挥得淋漓尽致。

程序员需要一定的数学修养,不单是编程本身的需要,也是培养逻辑思维以及严谨的编程作风的需要。数学可以锻炼我们的思维能力,可以帮助我们解决现实中的问题,可以帮助我们更好地学习知识与分析问题。

一名有过十多年开发经验的老程序员曾说过,所有程序的本质就是逻辑,尽管你已经较好地掌握了编程技术,但是只有提高了逻辑能力,你才能成为一名职业程序员。打一个比方吧,你会十八般武艺,刀枪棍棒都很精通,偏偏就是内力不够,所以永远都上不了战场。这个内力对程序员而言就是逻辑能力,其本质是一个人的数学修养,而不是简单的数学知识。

磨炼:成就数学素养

程序员的数学修养不是一朝一夕就可以培养出来的。数学修养与数学知识不一样,修养需要一个长期的过程,而知识的学习可能只是一段短暂的时间。

下面是一些对于程序员如何提高与培养自己的数学修养的基本看法。

首先,应该意识到数学修养的重要性。若想成为优秀的程序员,一定的数学修养是十分重要也是必要的。数学是自然科学的基础,计算机科学实际上是数学的一个分支。

计算机理论其实是很多数学知识的融合,软件工程需要图论,密码学需要数论,软件测试需要组合数学,计算机程序的编制需要更多的数学知识,如集合论、排队论、离散数学、统计学,当然还有微积分。

计算机科学一个最大的特征是信息与知识更新速度很快,随着数学知识与计算机理论的进一步结合,数据挖掘、模式识别、神经网络等分支科学得到了迅速发展,控制论、模糊数学、耗散理论、分形科学都促进了计算机软件理论、信息管理技术等的发展。

严格的说,一个数学基础不扎实的程序员不能算一个合格的程序员,很多介绍计算机程序设计的书籍本身也就是数学知识的应用与计算机实践的手册。

其次,自身数学知识的积累,培养自己的空间思维能力和逻辑判断能力。像泛函理论、混沌理论以及一些非线性数学问题不是三五几天就可以掌握的。数学修养的培养要求程序员有良好的数学学习能力,能够很快地把一些数学知识和自己正在解决的问题联系起来。

很多理学大师虽然不是数学专业出身,但是他们对数学有敏锐的观察力和很强的理解力,于是一系列新的学科诞生了,如计算化学、计算生物学、生物信息学、化学信息学、计算物理学、计算材料学等等。

从计算机的诞生来看,它就是在数学的基础上产生的,最简单的0、1进制就是一个古老的数学问题。学无止境,不断的学习是提高修养的必经之路。

最后,多在实践中运用数学。有些高等学校开设了数学建模课程,这门课程把很多相关的学科与数学都联系在一起,通过很多数学模型来解决实际的生产生活问题,很多问题最终的解决需要计算机程序来实现。

计算机程序设计基础范文第8篇

论文摘 要:计算机程序设计算法在高中信息科技教学过程中是重点,也是难点。程序设计算法的相关概念比较枯燥,理论过于抽象,对学生的逻辑思维能力要求较高,所以在教学过程中往往难以把握,也不易调动学生的兴趣。在传统的教学过程中,学生对这部分知识的掌握比较困难。本文结合课堂教学实践,从三个方面探究运用建构主义教学理论构建计算机程序设计算法教学过程,促进学生对知识的理解和掌握,与传统的教学方法比较,运用构建主义理论教学方法取得更好的教学效果。

计算机程序设计算法作为高中信息科技选学模块的内容,是课程改革的一种新的尝试,旨在培养和提高学生的逻辑思维能力,以及分析问题和使用计算机解决问题的能力。在传统的教学模式下,教师的实践活动在很大程度上受到行为主义的影响。教师的教学任务主要是为学生提供一系列刺激和强化,并引导学生作出适当的反应。教学的目标就是为了让学生模仿适当的行为,教师对学生模仿的结果进行判断和修正。在程序设计算法的教学过程中,这种教学模式难以取得理想的教学效果。[1][2][3]作者介绍了建构主义教学理论及其要义,并对利用建构主义教学理论对教学过程进行改革和优化进行了分析与评价。具体应用建构主义教学理论应用在高中程序设计算法的尝试,还没有查到,因此尝试用建构主义方法应用于计算机程序设计教学效果,具有重要的意义。

一、利用建构主义教学法创设学习情境,激发学生学习兴趣

在计算机程序设计算法教学过程中,教师利用建构主义为学生创设一个学习的情境,以激发学生对所学内容的兴趣,将学生的思维引入到学习情境中。创设情境,即在真实世界中建构知识意义、学会解决问题的经验,尽管在传统课堂教学中,我们无法将学生带到知识应用的现场(而计算机程序设计算法中一些抽象性、逻辑性、数理性的知识也难以找到这样的现场),也没有虚拟现实技术的产品去模拟真实世界,但在教学中,教师要学会运用有效的教学策略和各种可行的技术手段,设法让知识“从情景中走出,又最终走入情景”,即从现实情景中提炼问题,又能设计一些将新知应用于现实情景的实例,从而给予学生解决实践问题的机会。也只有跟现实生活紧密联系在一起的教学活动才激发学生的兴趣,引发学生的共鸣,教学中可以向学生提出生活中的实际问题,激发起学生的兴趣,引导学生针对趣味性问题和生活实际问题进行思考、讨论,从而将学生引入教学情境中来。

二、设置学习任务,让学生主动探索知识

计算机程序设计算法的相关概念比较枯燥,理论过于抽象,对学生的能力,尤其是创造性思维能力的要求较高,所以在教学过程中难以把握,也不容易引发学生的兴趣。在算法的教学过程中,利用建构主义教学理论对教学过程进行改革和优化将取得更好的教学效果。

比如,在介绍排序计算机程序设计算法时,如果纯粹地以数字为例进行介绍,给予学生的印象不会太深刻,而且会显得过于抽象,不通俗易懂。所以针对这一现象,可以充分利用学生对排队这一活动的熟悉程度来引出排序算法,加深学生对排序算法的直观印象,促进学生对排序算法的理解。具体可以这样操作,在提出排序算法之前,教师可在班级内随机抽取五名高矮不一的学生随机站立,然后请这五位学生演示以不同的方法从矮到高的排队过程,教师可在一旁指导学生先按照冒泡排序的方法进行排队演示,并记录他们演示过程中的每一次移动。

这样,在计算机程序设计算法教学中通过任务的设计,改变了知识的传输方式,培养了学生的科学探索精神和实践能力,把静态的教学变成学生主动参与的开放式教学。 转贴于

三、利用建构主义教学评价,强化教学目标

高中计算机程序设计算法包含了数学模型建构、逻辑推理等多方面的知识,学生理解和掌握的难度比较大,不同学生理解和掌握的程度也不尽相同,教师在教学过程中应当及时有效地评价学生的学习过程,从而获取有价值的反馈信息,并根据反馈及时调整教学进度和教学策略。同时,学生也可以反思自己的学习过程,调整认知策略,改变思考角度,加深对学习目标的理解和认识。

评价的过程是学生发现自我、提高自我的过程,也是学生与学生、学生与老师情感交流的过程。有效地教学评价,不仅能够真正确立学生在课堂教学中的主体地位,还能够促进学生在课堂上的积极参与,使得学生充分活动,形成良好教学氛围和师生互动关系,也只有在这样的课堂氛围中,学生才能更好地学习,得到更好的发展。有效地教学评价,也可以让老师更多地了解学生优势和不足,监控学生的学习过程,正确评估自己的教学效果。

四、小结

新课程改革要求以学生发展为本,让学生参与,提高学生的学习兴趣;优化教学环境,加强交流与合作;给每位学生以期望和激励,让学生有成功感;利用建构主义教学理论引导学生对知识的意义建构,从根本上改变了老师和学生在知识学习过程中的地位和角色。在计算机程序设计算法教学过程中,通过情境引入、课堂任务设计,学生能够主动参与程序设计算法数学模型的建构、自主探索、合作交流,乐于参与系统知识的学习过程,充分调动学生学习的主动性,同时更利于学生身心的发展。

参考文献:

[1]陈琦,张建伟.建构主义学习观要义评析[J].华东师范大学学报:教育科学版,1998(1):61-68