电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

程序员培养范文

来源:文库作者:开心麻花2025-09-181

程序员培养范文(精选12篇)

程序员培养 第1篇

程序设计不但是一种逻辑性很强的创造性思维, 而且与其他课程相比, 这种思维的抽象性、多变性也较强, 加之很多问题的解决方法也不唯一, 还有, 同样的问题, 如果对数据的组织方式不同, 那么实现的具体过程也必然不同, 这些因素使得对初学者来说, 程序设计课程很难学。我们学习程序设计的目的是为了利用计算机快速高效地解决问题, 因此我们的教学目的就是培养和提高学生的编程能力。

2.程序设计的教学体系及教学现状

(1) 传统的的程序设计课程体系增加了精通掌握程序设计的难度

当前主流的程序设计方法是面向对象的程序设计方法, 各个高校都对此非常重视, 程序设计基本采用“面向过程语言+面向对象语言+各类应用开发”的课程体系, 使用的语言基本上是C、C++、Java、C#等。其中C语言是必修课程, 面向对象语言要么是C++, 要么是Java或C#, 有的全部学习。事实上全部学将导致学生在有限的时间内什么都无法深入, 因为各种语言的基本语法、数据类型、编译环境、开发平台、面向对象特性和实际应用领域都不尽相同, 加之从面向过程编程到面向对象编程的转变困难更大, 这容易使初学者混淆编程代码、无法掌握程序体系结构的变化。

(2) 传统的教学方法不能达到培养学生程序设计能力的目的

传统的以编程语言的基本概念、基本语句和语法的详细讲解为线索的教学方法, 没有把分析问题、解决问题的编程思路作为教学主线, 使得学生常常把学习基本概念、基本语句和语法作为学习重点, 不能达到培养学生分析问题和解决问题的实际能力的目的。

(3) 传统的教学方法难于激发学生缺乏学习兴趣

传统的教学方法难于激发学生的学习兴趣。要完全掌握课堂内容, 每个学生必须在课后付出不同的努力, 有些学生自制力差、学习目标不明确, 加之缺乏学习兴趣, 导致问题越积越多。

(4) 实验内容选取不当, 影响实验效果

如果实验内容选择不当, 太容易的学生没兴趣, 难度太大又会挫伤学生的兴趣, 久而久之, 必然影响实验教学的效果。

3.改进措施

针对以上教学中存在的问题, 借鉴浙江工业大学所采用的ACM竞赛式教学模式, 我觉得以后教学可从以下几个方面进行改进:

(1) 采用任务驱动的教学模式

任务驱动教学法是以建构主义学习理论为基础, 把教学内容巧妙地隐含在每个任务之中, 通过布置任务、引导学生学习, 以任务驱动的形式调动学生学习的主动性的教学方法。简单地说, 就是学生按照教师、教材提出的问题或自己的某些需要去完成某项工作。在任务驱动式的教学中, 学生学习的动力来自于满足某种需求, 学习目的非常明确, 因此学习活动是有目的、有计划、有步骤进行的, 学生全程参与学习的过程。在程序设计课中进行“任务驱动”教学法, 教师首先根据教学进度、实践环节、学生的具体情况精心设立典型的“任务”, 在“任务”的驱动下进行教学, 引导学生由简到繁、由易到难、循序渐进地完成一系列“任务”, 从而得到清晰的思路、方法和知识的脉络, 在完成“任务”的过程中, 培养分析问题、解决问题以及用计算机处理信息的能力, 使学生在程序设计的过程中主动建构自己的知识经验, 充实和丰富自身的知识、能力。

(2) 激发学生的学习兴趣, 调动学生学习的主动性

郭沫若说得好:“兴趣出勤奋, 勤奋出天才。”培养兴趣是提高教学质量的前提, 课堂教学中, 激发学生的学习兴趣是上好一堂课的关键。如何才能使学生学习的兴趣长久, 也是教师们不断探讨的问题。通过营造轻松活跃的课堂气氛、选取科学性与趣味性相统一的实例、鼓励和组织学生参加相关程序设计大赛、以赛促学、建立激励机制等多种途径培养学生的学习兴趣。

(3) 改进实验教学

程序设计课程的上机实验内容一般分为验证性实验、简单编程和综合应用三个层次, 传统的验证性实验, 无法激发学生的学习兴趣, 进而导致学生的学生实际应用能力无法得到提高。因此, 在开设原有实验的基础上, 紧扣实验大纲, 联系理论教学, 增加课程内容相互渗透的设计型、综合型实验, 使学生在实验中将不同课程的相关内容融会贯通, 从而提高他们的综合应用能力和创新能力。教师应充分调动学生学生的实验热情、提高实验教学的效果, 具体可从以下几方面来做:第一, 在不同培养阶段, 循序渐进地选取难易适中的实验内容。第二, 鼓励程序设计用多种思路、多种方法来完成, 提高灵活解决问题的能力。第三, 增大设计型、综合型实验的比例, 结合专业方向的最新知识技术, 开设有利于培养学生创新能力的实用性实验, 把实验内容与相关专业的实际应用紧密联系起来, 以实际应用开展实验教学。

(4) 完善成绩测评体系和制度

考试不但是对教学情况和教学效果的检查, 而且对学生的学习有着鞭策作用, 为此, 我们可以充分发挥考试的杠杆作用, 完善成绩测评体系和制度, 促使学生更好的学习。多数情况下, 考试以闭卷笔试的形式进行, 这种形式的弊端就是学生只要看看书, 做做题, 再加背诵记忆, 就可通过考试, 但对于实践性较强的程序设计课程来说, 这远远不够。为了能够公平、公正、全面的考查教学效果, 我们必须以认真、严格和规范的原则对学生成绩进行评定, 要, 制定相关的评测方法和制度, 并严格执行。为此, 可将考勤、作业、实验与课程设计、笔试等多种方式结合起来综合评定。实验课程的考核可借鉴ACM竞赛模式给出10个不同难度的编程题, 考核已完成题目的多少、所用时间及算法性能等进行综合展示、评估、打分, 这样更能全面检测每个学生的编程水平。

4.结束语

程序设计是一种逻辑性很强的创造性思维, 而且这种思维的抽象性、多变性、灵活性也较强, 而作为初学者的学生, 要掌握程序设计方法, 并将所学用于解决实际问题还是有相当难度的, 因此, 培养并提高学生的程序设计能力一直是程序设计课程老师们不断努力的方向。

参考文献

[1]沈学东, 王淮亭, 吉顺如.由面向对象程序教学问题引发的思考, 计算机工程与科学, 2011, 33 (A1) .

[2]祝昌宇, 陈广贵.从ACM竞赛谈计算机实验教学改革, 实验科学与技术, 2011.10.

程序员要培养企业家式的能力 第2篇

昨天去参加了RIAMeeting组织的一次小型聚会,见了不少技术牛人,他们都有丰富的开发经验和技术体会,并且对于技术有精益求精的态度,让我这个去蹭吃蹭喝的人觉得比较惭愧,也学习到了不少东西,在聚会结束的时候大家开始自我介绍,可以料想到:一个比一个谦虚、腼腆、不善表达和我在其它场合接触到的大部分技术人员一样。这给了我一些触动,加上最近我也看了一些东西,就决定写这么一篇日志。

上大学的时候我了解到有程序员这个职业,就是写代码的,不过在我毕业进入公司之后,我更喜欢工程师这个称谓(web developer 也可以叫做前端工程师或者UI工程师),因为这个名字总是能让我想起游戏《红色警戒》里面那个带着黄帽子拿着工具箱到处跑的角色,如果半路上不被敌军的狗咬死就可以修好断桥和建筑,或者把敌军的建筑占领。我对工程师这个群体一直都抱有普遍的好感,他们低调、技术高超、真诚、单纯、有责任感,值得信任。和他们在一起工作你会感觉特别舒服。记得刚入职的时候,我对Linux一点也不了解,有次碰到一个问题,正好旁边几个工程师在那里聊天,于是我就像他们求助,他们过来之后一个人负责操作,其他几个在旁边七嘴八舌建议,不一会就把问题解决了,我当时就觉得特别有安全感,所以在以后的工作中遇到问题也没有特别着急过,因为我知道我身边有很多牛逼的工程师,有他们在就没有什么问题是解决不了的。

在工程师这个圈子呆久了,我发现大部分的人都有一个共同点,那就是不善表达,或者说懒得表达。在公众面前讲话会脸红,不能很好地表现自己,而且善于表现自己其实会被认为是一个缺点因为大家都觉得有真才实学就好了,而且普遍信奉低调的做人哲学,那些善于表现的人会被说成很能忽悠。举个例子来说吧,李开复应该算是一个很成功的.人了,而且是技术出身,但是你会发现这几年很多人都对他有负面评价,说他不好好管理公司,整天跑去演讲、就是一个说书的、做秀云云,都是针对他频繁出现在公众面前这件事情来说的,而且你会发现大部分的负面评价都是出自技术圈的。但是这种在公众面前演讲、推销自己其实是一种很重要的能力,尤其是在现代社会,它是一种企业家式的能力,

在现实生活中,无论是哪个圈子和团体,都会经常发现这样的例子:有一些很有才华的人在社会上始终不成功,相反,有一些资质平平的人却为自己挣得了不错的地位和财产。为什么会出现这样的情形呢?一个重要原因是前者不善于经营自我,而后者善于。善于经营自我经常会被广大有真才实学的人鄙视,觉得那是钻营和不务正业。事实上,正如《自由秩序原理》一书中所说的那样,这是一种企业家式的能力,而且 一个人的成功不是取决于自己既有的才能、知识、技术等等,而是取决于能否成功地将它们转换成对其他有能力做出回报的人有用的具体的服务,这正是自由社会的本质之所在。

如果真的是这样的话,那么由于每个人的企业家式的能力的不同,势必会出现能力相同的人获得的报酬却相差很大,引起很大的不满,而且每个人必须为自己的才能去寻找市场,这就必然面临压力和风险。但是这种代价是必须的,为什么呢?因为如果不是根据使用才能的有用结果而是根据才能来决定报酬的话,那么就必须有一个权威来判定每个人的才能大小和级别,这就必然导致专制。如果想替代那种对自己的命运负责而导致的压力,那么可供选择的就只有那种人们必须服从的个人命令所产生的令人更为厌恶的压力。

虽然我们这一代没有经历过计划经济、分配工作这些事情,不过应该也有所耳闻吧,那个时候每个人不必去营销自己,因为上级已经给你安排好了工作和报酬,虽然说是根据你的能力进行的安排,但是里面必然掺杂了诸如个人恩怨等其它因素,那种不公平比现在的这种不公平要严重得多。尽管现在的市场经济也有不公平的地方,因为它只承认在市场上得到实现的价值,但是我想相比之下大家应该都更讨厌专制吧。两害相权,只能取其轻。

鉴于此,我很希望工程师可以抛弃一些偏见,虚心地去学习那种企业家式的能力:在公众面前讲话的能力、写文章的技巧等等,培养自己的一些市场意识,当然,这都是建立在真才实学的基础上的。如果没有真才实学而专门去推销自己的话,那真的是投机钻营了。

程序设计中学生思维能力的培养 第3篇

【关键词】程序设计 思维 培养

计算机教学的程序设计不仅生动、有趣、操作性强,关键的是在设计中能培养学生的思维品质,训练学生,使其思维的广度和深度逐渐加强。计算机的许多概念、知识都很抽象,对这些知识和概念的理解、思考和内化,就是对抽象事物的“反刍”过程,对学生的思维方式、思维的过程、思维的张力将产生潜移默化的影响。

一、程序设计有利于学生抽象思维的发展

在现实中,人们总是从认识个别事物开始,到事物的一般性质。在这个过程中,归纳推理的思维方式起着非常积极的作用。要解决程序设计问题,首先要考虑适当的算法,算法需借助符号和概念进行推导和论证,要靠编程来实现。

在編程过程中,通过对问题的分析、推理、归纳出一般性的规律,然后再用计算机语言描述出来,这是一个高度抽象复杂的过程。在程序设计中,学生头脑的大量假设、猜测、推理、归纳等思维方法综合采用。比如:在循环结构的程序设计中,我们往往从问题的最简单的情况人手,直至归纳出解题的途径,选出最佳的方法,总结出抽象的规律,最后编程解决问题。

一般来说,这是一个反复的过程,经过不断的训练,学生的抽象思维能力得到了很大的锻炼。实践证明,通过程序设计教学,学生的抽象能力、分析、解决问题的能力有了很大的提高。

二、程序设计有利于学生创造性思维的培养

人们在创造活动中或在需要创造性解决问题的情境中表现出来的有创见性的思维,称作创造性思维。它能够提供新颖独创而又有价值的思维成果。

在程序设计中,大量摒弃了以往数学教学中的思维定式,比如:A=A+1,这一算式在数学教学中是无法成立的,但在大量的累加程序和赋值语句中得以采用。经常使用穷举策略、分层分治策略及优化组合策略,都打破了以往的教学常规,以一种崭新的思维方式和极富创造性的手段,大大激发了学生的创造欲和成就感。

创造性思维的具体过程,一般包括准备、酝酿、顿悟和验证四个阶段。程序设计教学正是这四个阶段的最有力的展现。要设计成一个正确的程序,一般要经过以下几个过程:设想——框图——程序——调试——修改——成功。程序写下来,要经过上机调试,发现运行错误或运行结果不够满意,再修改,再调试,如此反复,直至达到预期效果。这是一个艰难的思维过程。有时一个程序看似简单,但调试起来往往要费不少功夫,解题中那种茅塞顿开的感悟,常会使学生鼓掌、欢腾、跳跃,一种成就感油然而生,大大激发了学生的求知欲望。学生的创造性会得到淋漓尽致的发挥,他们的思维能力往往会得到跳跃式的拓展和提高。

三、程序设计有利于学生思维品质的优化

计算机是一门操作性很强的学科,学生上机通过手、眼、心、脑并用而形成的强烈专注,会使大脑皮层产生高度的兴奋,将所学知识高效内化。学生通过上机体会各种指令的功夫、分析程序运行过程及验证运行的功能,都能使学生产生一种成就感,在激昂的情绪氛围中,容易塑造敢于进取的心理素质,增强独立探索的自学能力,激发好学精神。

程序设计所采用的模块化的思维方式,善于把一个复杂的问题分解成若干个简单的问题来逐个解决,然后对各部分进行编程,得出几个相对独立的程序段,再由这些程序段组成一个完整的程序。

通过训练,学生不仅形成了良好的结构思维品质,增强了学生处理实际问题的能力。而且,由于计算机运行高度自动化和程序化,因此,在编程操作中,学生一丝不苟、思维高度集中,稍有差错,程序运行就会出错或停止,这个反复调试的过程,实际上就是锻炼思维、锻炼意志、技能的形成过程。因此,程序教学能培养意识、开发心智、深化思维、增强毅力、增进技能,对促进学生思维的优化起到积极的促进作用。

四、程序设计有利于学生思维空间的拓展

编程是无止境的。无论那种计算语言,都以其丰富的内涵给学生提供了广博的思维空间。学生都能够各现其能,在程序设计教学中,我们注重学以致用,培养学生分析和解决实际问题的能力。而由此产生迁移的衍生作用,对辅助其他学科的学习能起到良好的推动作用。如让学生用FOXBASE、QBASIC等统计考试成绩,排名次,编程解决一些有趣的数学、推理和图形问题,并积极引导学生的发散思维:我们的程序是不是最优、是不是简洁、是不是规范、算法是不是得当?由此训练他们精益求精、严谨治学的态度。

五、程序设计应关注问题解决的过程及方法

在教学中,教师应把握好每一次引导学生读程序或程序设计练习的机会,引导学生始终围绕计算机处理信息的基本过程“输入信息——处理信息——输出信息”,其中关键是“处理信息”,“处理信息”往往涉及把实际问题转换成如何用数学式子或模型解决的问题。

读程序时要从中区分哪些是“输入信息”部分,哪些是“处理信息”部分,哪些是“输出信息”部分,分析程序的运行结果关键是分析程序的“处理信息”部分。经过多次这样的提示训练学生读程序就有了方向,并知道应精读哪些部分,同时程序读多了,编程能力也相应提高。

例如:程序设计练习题为:“输入100个同学的身高,输出最高的学生的身高和最矮的学生的身高”,可这样引导学生分析问题:100个同学的身高若是随机录入的,输入到100个后应不再输入;题目转化的数学问题应是比较数的大小。“输入信息”部分应是随机录入100个同学的身高,“处理信息”部分应是重复比较两个数的大小,始终记录好最大、最小的两个数,可用循环结构;“输出信息”部分是输出最大值与最小值。这样,经常进行这样的引导分析,学生应用程序解决问题的能力自然就会得到提高。

当然,在程序设计教学中要培养学生的计算思维能力,关键在课堂教师有意识的引导。

【参考文献】

[1]李陶深.计算机程序设计类课程整合研究[J].广西大学学报;2008,(02).

培养学生程序设计能力的有效策略 第4篇

1 程序设计在计算机学科中的地位

程序设计是利用某种计算机语言,编制完成某一特定功能的程序的过程,是涉及描述、开发及有效实现求解的一系列活动,是利用计算机实现自动化的重要手段。

计算机学科主要是系统地研究信息描述和变换的算法过程,包括它们的理论、分析、设计、效率、实现和应用。可以这样说,一切算法的基本问题是“什么能被自动化”以及“如何有效地自动化”。这个自动化的过程就是程序设计的过程。

程序设计语言是人们学习计算机的最基本的工具,也是人们学习计算机基础与应用知识的基本课程。通过学习,使学生掌握程序设计的基本概念、基本知识和基本方法,养成良好的程序设计风格,得到一定的程序设计训练,具备初步编写程序解决实际问题的能力。程序设计也正是有形表达抽象思维的方法,在程序设计过程中贯穿阅读判断、分析思考、工具利用、抽象表达、综合创造等多项技能,是理论、抽象、设计和应用的综合能力培养过程。因此程序设计是计算机学科教学的重要内容之一,对计算机专业人才素质的培养至关重要。

2 程序设计的知识和能力构成

根据循序渐进的原则,与程序设计有关的教学内容主要有:计算机基础知识和操作、程序设计语言和基本的程序设计方法、最基本的数据结构及其基本算法、常用的算法设计方法等。在学习这些知识的同时,必须与能力的训练有机地结合起来。程序设计能力表现在以下几个方面:

1)自然语言能力。要有较强的运用自然语言描述现实事物的能力,只有运用背景知识正确且清晰地陈述问题及其求解目标,才能确定程序的功能。

2)数学描述能力。程序设计是为了告诉计算机做什么和如何做。这就需要利用定义、定理、公式、函数等数学工具把问题形式化,建立数学模型。

3)数据结构设计能力。选择合理的存储结构,在计算机中表示数学模型,是程序设计的一个重要方面。

4)算法构造能力。好的程序由精心构造的、好的算法构成。给出问题求解的离散化计算过程,是程序设计中最具有创造性的工作。

5)程序编码能力。用某种程序设计语言表达算法,尽管这种能力往往被认为技术含量不高,但也需要对程序设计语言的熟练掌握和对算法设计的深刻理解。

6)程序调试能力。程序调试能力是一种专业综合技能,需要对程序设计语言和程序结构有深刻的理解,需要熟练的操作技能,需要会设置测试数据和设置程序断点,这些都有待于学生在实践中逐步积累经验。

可以说,程序设计能力的高低很大程度上反映在驾驭自然语言、数学语言和计算机语言的能力上。这3种语言是人们毕生有用的3种通用智能工具。前两者是后者的基础,良好的英语和数学训练是学好程序设计语言和培养程序设计能力的重要基础。

3 培养程序设计能力的有效策略

知识的价值在于运用,知识的运用需要技能,而技能的形成则依赖训练。程序设计知识的学习和能力的培养需要各方面的知识基础,它是一个系统的教育训练过程,需要多个教学环节的紧密配合才能完成。

1)明确教学要求

程序设计语言课程一般是为应用性教学而设置的,因此,课程的教学不仅仅是传授知识,而且应该强调应用性,应该以培养学生的能力为主。程序设计语言的内容比较丰富,在教学中如果面面俱到,必会耗费较多课时,而且教学效果不一定好。因为过分强调程序设计语言的系统性和完整性就可能会转移学生对课程重点的注意力,关键在于教会学生如何正确运用程序设计语言编写程序,训练实用编程能力。所以必须突出重点,突出应用性,侧重教思想,即把程序设计语言的基本思想、基本环境、基本概念、基本知识和基本方法教给学生,使他们在学习中对硬件、软件环境、程序设计的基本思想和基本技巧,所学程序设计语言的基本概念和使用方法以及编程技术有一个比较全面的感性认识,从而提高解决实际问题的能力。

2)打好数学基础。严格的数学训练是程序设计能力的基础,学习和加强排列与组合、数列、数学归纳法等离散系统的数学方法对提高程序设计能力尤为重要。问题描述和建立数学模型是程序设计的前奏,数学归纳法、穷举法、构造证明法等证明技巧是算法设计方法的基础。

3)强化英语水平。程序设计语言的符号系统以英语为基础,程序设计文档语言首选英语。英文资料是计算机最新和最大的技术资料来源,英语水平是我国软件产业发展和参与国际竞争的制约因素。

4)重视阅读训练。从某种意义上来说,程序设计是用程序设计语言和方法进行的一种写作。可以想象,如果学生没有阅读过一份完整、规范、有实用价值的标准程序,即使记住了有关语言的语法规则,也不可能写出像样的程序。所以,大量阅读、分析、修改和扩充典型的算法和程序,是提高程序写作能力的有效途径。而这个重要学习环节往往未得到应有的重视,缺乏配套的程序设计阅读分析教材。教师应经常指导学生阅读程序,理解程序,提高学生分析程序的能力。

5)注重算法设计,突出数据结构内容。瑞士科学家、PASCAL语言和MODULA-2语言的发明者沃思(Wirth)教授提出了著名的公式:程序=算法+数据结构。这个公式表达了程序的实质,说明对于一个程序设计问题来讲,算法与程序设计是紧密联系的,绝不能脱离数据结构去讲解算法设计。程序设计语言的教学应该结合数据结构的基本内容。对于同一个计算问题,选用不同的数据结构,其算法大不一样,算法的优劣程度也不同。因此,要教会学生对不同的问题选择合适的数据结构。在整个程序设计课程中,必须强调算法设计方法,通过不断的算法设计训练,使学生切实掌握迭代、枚举、递归、分类等常用算法设计方法。

6)更新教学内容。计算机学科是一门综合性学科,而且程序设计语言的应用领域在不断扩大和发展。因此,在教学中应结合专业的特点和教学的要求,将软件工程的思想方法贯穿于整个教学过程,介绍程序设计语言的最新发展和应用,重视面向对象程序设计方法的引入,搞好教材内容的更新。如图形程序设计、下拉式或弹出式菜单、计算机病毒防治等等。这样不仅能把最新的知识和最新发展动态充实到教学上来,大大丰富了教学内容,而且使学生加深对程序设计语言的理解和掌握,保持对信息技术和专业的兴趣,及时跟上信息技术日新月异的发展趋势,在今后工作中保持领先地位。

7)采用先进教学手段。用传统的课堂教学方法讲授动态的算法和数据结构是十分低效的,像排序、递归等抽象动态的内容讲解就常常是费力不讨好。应该根据课程特点,采用先进的现代教学方法,如直观教学方法:利用挂图、教具等讲解,以及计算机辅助教学(CAI)和计算机辅助学习(Computer Aided Learning,简称CAL)进行教学,通常开发利用与课程内容与教学特点相适应的多媒体课件进行教学。它们是讲解算法和进行程序设计训练的最佳教学平台,既能增加学习的趣味性,又可利用图形的直观性帮助抽象和动态过程的理解。

8)加强实践环节,强化创造性思维能力培养。在教学中,常常听到学生提出这样的问题:“程序设计语言有什么用?”,有的学生还反映:“程序设计语言并不难学,就是不知道如何应用?”一些学生学到了一定的科学知识,但上机动手水平低。这种现象与普遍忽视实践环节有关。为了扭转这一局面,在整个教学过程中,必须强调实践环节的重要性,充分安排上机实践时间,加强系统训练和实践能力的培养,强化创造性思维能力培养。根据课程特点,在教学中,采用案例驱动教学,进行兴趣引导;在实践中,可以精心组织一系列由易到难、由浅入深、配套衔接、结合学科学习、有一定设计技巧的程序设计作业,最后再安排一次综合性强、有一定难度的课程设计实践,对学生进行项目训练,提高学生应用能力。通过上机作业和课程设计的完成,使学生独立思考,各显才干,总结经验,培养他们的动手能力和编程能力,以及分析问题和解决问题的能力。

4 结论

总之,培养学生计算机程序设计能力的方法和途径很多,但是编程序不难,编好程序不易。作为教师,必须从培养学生编程思维的角度出发,按照以上策略认真进行编程知识的教学和技能的培养,加强实践,提高学生科学思维的能力,真正学会程序设计的真本领。

参考文献

[1]孙善武,王楠.浅谈程序设计语言课程教学方法[J].吉林大学学报(信息科学版),2005(S2).

[2]徐进华.提高学生程序设计能力的几个措施[J].计算机时代,2005(11).

[3]李凌.浅谈高级语言程序设计课堂教学方法[J].淮北职业技术学院学报,2005(04).

[4]刘达明.如何提高计算机专业的C语言教学质量[J].计算机教育,2005(8).

入党积极分子培养考察程序 第5篇

(一)入党积极分子的确定、培养和考察

1、入党积极分子的确定

(1)申请人提出书面申请,各党支部要建立《申请入党人员名册》,及时安排支部党员与申请人谈话,进行教育培养。

(2)党支部根据申请人的条件和表现,经过认真衡量和审议,召开支委会或支部大会确定入党积极分子,报党总支审核。

(3)党总支对各支部上报的入党积极分子名单审核通过后,及时下发《入党积极分子培养考察登记表》,并由党支部按表内规定的项目负责填写和保管。(具体要求见附件3)

确定入党积极分子工作一般情况下每半年进行两次,并根据入党积极分子队伍状况和变化情况进行动态管理,做到有进有出,有增有减,滚动发展。

2、入党积极分子的培养和考察

(1)确定培养联系人。入党积极分子确定后,党支部要指定一至两名正式党员作为入党积极分子的培养联系人,定期进行谈话,了解其思想、学习和工作情况。

(2)建立入党积极分子档案。内容包括:入党申请书、自传、《入党积极分子培养考察登记表》、思想汇报及本人向党组织需要说明的材料等。入党积极分子的档案材料由所在单位党支部妥为保管,入党积极分子在培养考察期间毕业离校或调动工作时,所在单位党支部要将档案材料转往其所去单位的党组织保管。

(3)入党积极分子要定期(每季度至少一次)向党支部汇报思想、学习、工作和其他有关情况。书面思想汇报,一般要求每半年至少一次。

(4)党支部要定期对入党积极分子进行党的理论知识和基本知识的教育。要吸收他们参加党内的有关活动,给他们交任务,压担子,使他们在实践中锻炼提高。

(5)党支部要定期考察分析入党积极分子的情况。考察内容主要包括:政治立场、思想觉悟、学习情况、工作表现、群众反映、本人历史、家庭成员和关系密切的主要社会关系等。根据考察情况,采取写实的方法,在《入党积极分子培养考察登记表》中填写对入党积极分子的培养考察情况。

(二)发展对象的确定和继续培养考察

1、确定发展对象。经过一年以上培养、教育、考察的入党积极分子,在充分听取培养联系人及党内外群众意见的基础上,经支委会(不设支委会的支部大会)讨论,认为比较成熟、基本具备入党条件的,可以确定为发展对象。确定为发展对象的学生要求在思想、学习、工作各方面能够体现先进性,学习态度端正,学习成绩优良(智育和综合考评排名在班级中等以上)。

2、理论培训(时间不少于40学时)。各学院党总支(直属支部)要通过党校分校对入党积极分子进行党的理论知识和基本知识的培训,在此基础上,推荐近期可列为发展对象的学生,参加学校党校举办的发展对象培训班。入党积极分子入党前,必须有学校党

校和党校分校的结业证书。中学阶段已参加过所在中学党校培训的学生,可以直接参加学校党校发展对象培训班学习。

3、政治审查。党支部对发展对象要进行政治审查。政审方式:同本人谈话,查阅有关档案材料,找有关单位和人员了解,以及必要的函调或外调。政审内容:对党的路线、方针、政策的态度;本人的政治历史和在重大政治斗争中的表现;直系亲属和与本人关系密切的主要社会关系的政治情况。

政审结束后,各党支部要根据政审情况形成综合性的政审材料,填入《政治审查报告表》,由政审人员签字生效。(具体要求见附件3)

4、征求党内外群众意见。党支部要通过个别交谈、召开座谈会等形式,广泛听取党内外有关人员对发展对象的意见,并以座谈会纪要的形式作为入党预审材料之一。(具体要求见附件3)

5、公示。对发展对象的有关材料上报党总支预审前,党支部要把建党对象的有关情况分别在学习区和公寓(社区)进行公示。公示内容包括:发展对象的姓名、性别、籍贯、出生年月、申请入党日期、学习(工作)单位、职务、智育和综合考评在班级中的名次等,公示期为7天。

6、整理材料上报上级党组织审议。在完成上述工作后,党支部要对所有材料(入党申请、个人自传、入党积极分子培养考察登记表、思想汇报、《推荐优秀团员作党的发展对象审批表》、党校结

业证书、政审材料(《政治审查报告表》)、征求党内外群众意见座谈会纪要、公示情况表等进行汇总整理,并报上级党组织审议。

(三)预备党员的审批和接收

1、预审。党委授权的党总支收到发展对象的入党材料后,要派专人对入党材料进行预审,主要审查程序是否规范,材料是否齐备,条件是否成熟。教职工和直属党支部的发展对象的入党材料送交校党委组织部预审。预审合格后,党总支(直属支部)按要求填写《发展对象基本情况一览表》,加盖党组织公章报校党委组织部备案,符合要求的,由校党委组织部发给《入党志愿书》。

2、确定介绍人。通过预审后,党支部要确定两名正式党员作介绍人。入党介绍人一般由培养联系人担任,也可以由发展对象自己约请,或由党组织指定。由党组织指定的,也要经本人同意,不能硬性指派。受留党察看处分,尚未恢复党员权利或尚在缓期登记期间的党员,不能做入党介绍人。

3、党支部要对申请人填写的《入党志愿书》和有关情况进行严格审查,合格后,再提交支部大会讨论。

4、召开支部大会,集体讨论表决作出决议。会议的主要程序是:

(1)申请人宣读《入党志愿书》,汇报有关情况以及需要向党组织说明的问题。(2)入党介绍人介绍申请人的主要情况,并对其能否入党表明自己的意见。(3)支部报告对申请人的审查情况及征求党内外群众意见的情况。(4)与会党员发表意见,对申请人能否入党进行讨论。(5)申请人对支部大会讨论的情况表明自己的态度。(6)

采取举手或无记名投票的方式进行表决。赞成人数超过应到会的有表决权的党员的半数(因故不能到会的正式党员向支部提出书面意见的,应统计在内),即可作出同意接收申请人为预备党员的决议。支部大会讨论两个以上的申请人入党时,必须逐个讨论和表决。(7)支部书记宣读大会决议,并填入《入党志愿书》。

5、入党前谈话。党委(授权党总支)审批前,应指派专人同申请人谈话,作进一步的考察和教育。谈话人应将谈话的情况和自己对申请人能否入党的意见,如实填写在《入党志愿书》中,并向党组织汇报。

6、上级党组织审批。党委(授权党总支)对支部报批的预备党员材料要进行审议,经集体讨论,表决决定是否吸收为预备党员,签署审批意见,并做好会议记录。授权党总支的审批意见应签署在《入党志愿书》中“党总支审查(审批)意见”栏,并注明预备期的起止时间,然后报送校党委组织部加盖“授权章”,并办理相关事宜。

党委(授权党总支)对支部上报的接收预备党员的决议,必须在三个月内审批,如有特殊情况可适当延长,但不得超过六个月。

程序员培养 第6篇

关键词:算法与程序设计;高中;信息技术

新课标推出的重点是要培养学生的综合能力,学生通过学习算法与程序设计可以体验算法思想,拓展思维空间,并能设计出简单的算法解决生活中的实际问题,同时学生也可以学会初步设计一些简单的语言编制程序,从而实现算法解决问题。本课程教学重点是使学生掌握如何利用电脑解决实际问题和应采用哪些思想方法,从而真正理解算法的意义,充分挖掘软件工程思想。

一、“算法与程序设计”在信息技术发展中的地位

随着信息科学技术的快速发展,“算法与程序设计”在人们日常生活中的地位越来越高,同时信息产业在很大程度上可以衡量一个国家的综合国力。而“算法与程序设计”是信息技术最重要的核心。著名的电信大师Knuth曾经说过:“计算机是一整套算法的科学。”我们生活中的大部分领域都离不开算法科学与程序设计,其正在不断创新发展。如百度、谷歌等,它们不断改进搜索引擎算法,使其与网络编程技术充分结合,最终使得互联网具有越来越强大的搜索功能。

自新课程改革实施后,学校已经逐步开始重视高中信息技术课程教学,如算法与程序设计这门课程,其主要特点是内容综合性强,涵盖多学科的知识要点。开展这门课程的主要目的是拓展学生思维空间,培养学生解决实际问题的能力。当然算法与程序设计不仅仅重视学生对其本身内容的学习,它更重视学生通过学习这门课,能够提高思维能力、拓宽思维空间,所以其对高中生具有非常重要的意义。

二、学习过程中的成就感及其意义

当实现目标,得到他人对自己努力的认可后,学生往往会有一种成就感,具体来说,就是取得成功,实现人生目标而产生的一种满足感。当我们的成功受到他人表扬和鼓励时,这种成就感就愈加强烈,追求满足感的需要也会愈强烈。因此,在教学过程中要注重培养学生的学习成就感,这样不仅可以激发学生学习的兴趣,还可以促使学生继续努力获得更大的成功。此外这种成就感更有利于学生培养良好的道德素质,利于学生全面、健康发展。学校在教学中应根据中学生的性格特点、心理特征制定和设计更加合理的教学计划,提出不同的教学要求,从而使教学具有更高的可操作性,充分保障不同水平的学生都能有所进步,获得成功,产生成就感。

三、“算法与程序设计”中学生成就感培养的策略

1.创设情境,营造良好的学习氛围,循序渐进,深入浅出

高中“算法与程序设计”的教学目标是让学生对程序设计有一定的了解,能够切身体验算法思想,对于编制复杂的程序没有过多要求。所以在教学中,应该把握学生实际思维水平与能力,使用结构较为清晰、语句通俗易懂、带有一定趣味性的案例来进行教学,鼓励学生独立自主去思考、分析、解决生活与学习中的问题。此外,教师应精心设计教学计划和内容,在语言平台上为学生精心选择一些经典的学习案例,利用风趣的程序案例和流程图的特点,循序渐进,深入浅出地进行教学,充分体现课程教学理念,开拓学生视野,实现算法,从而培养学生解决问题的能力,全面提高教学的实效性和学生学习的成就感。如创设问题情境,引入算法,在讲“从菲波那契的兔子问题看递归算法”时,就是从问题出发,引导学生以月为单位考虑每个月兔子的对数,并画出兔子的繁殖情况图,进而引出菲波那契(Fibonacci)数列和递推算法。如在教“对半查找算法”时,先让学生做游戏,教师展示一件物品,让一个学生来猜这个物品的价格,其他学生(已知道价格)根据这个学生猜出的价格提示“高了”或是“低了”,如果能在五次内猜对价格,就把物品赠送给他。教师提问学生思考,怎样猜会快一点呢?有什么技巧吗?你从游戏当中得到了什么启示?教师通过创设游戏情境,引导学生发现,其实在这个游戏的背后,含有一个非常经典的算法,就是对半查找算法。

2.精心设计练习,由浅入深,层层递进

在算法与程序设计教学中,学生对于过多的练习会感到厌烦,这不但不利于学生巩固所学知识,反而会使学生产生厌学心理,而练习少了又不利于学生巩固知识。教师应精心设计一些练习,在现实生活蕴藏丰富的程序设计例子中选取一些简单的例子作为练习,让学生通过编程解决问题,这样学生在活动过程中不仅可以掌握信息技术,还可以培养信息技术的应用能力。此外学生通过学中做,做中学,亲身探究、体验,创新自己的想法,不断完善知识结构体系,使自己成为一名真正的研究者、实践者。同时学生通过练习,可以提高自身的综合能力,如应用开发能力、解决问题能力、个性化方向发展的学习能力和创新能力等等。如在教“分支结构”的时候,教学设计层层递进,从单分支到双分支再到多分支,由浅入深,层层深入,从而使学生能够灵活掌握多分支结构语句的运用。

如在教“分支结构”的时候,将练习设计为:某超市为了促销,规定购物不足50元的,按原价付款,超出50元不足100元的,超出部分打九折,超过100元的,超出部分打八折,请你为超市收银员设计一个促销专用软件。通过生活化的实际场景,将知识点和实际问题有机联系,使学生在做练习时兴趣大增,而将简单程序上升为专用软件,又使得学生在程序编制成功后的成就感大大提高,软件和程序一词之差,对学生的激励程度相距甚远。这种联系实际的问题,不仅将所学的知识运用于实际生活中,使之加深对知识点的理解,同时更能激发学生学习的积极性。当代码编写正确时,学生的成就感就得到了满足,促使他们去解决更多的实际问题;相反当代码出错时,一种渴望成功的欲望会促使他们去进一步探索和思考,从而培养了学生自主学习和探索研究的能力。

3.巧用激励评价方式,激活学生思维

教师采用激励式的评价方式,可以充分调动学生学习的主动性和积极性,教师对学生在学习中所表现出来的学习态度、情感、学习成绩应给予公平、公正的评价,有时教师激励式的评价与热忱的微笑,能够激活学生思维,所以,教师在课堂教学中要充分挖掘学生的思维潜力,注重及时给予学生激励式的评价,同时也要加强学生自评、学生之间互评和师评,让学生在活跃的课堂氛围中自由发表观点,畅所欲言,积极开展语言表达和思维活动,这样学生通过激励式的评价获得更多发表见解的机会,从而看到自己的进步,感受成功的喜悦,增加成就感,提高课堂教学的有效性。

总之,教师在算法与程序设计教学中,应遵循由浅入深、层层递进的课堂教学原则,精心准备练习,充分发挥学生的积极主观能动性,积极引导学习,培养学生敢于探索的精神,让学生会学、愿学、乐学,营造一个良好的学习氛围,使学生在积极、愉悦、欢快的氛围中不断学习、探索,学有所获,学有所思,学得有趣,学得轻松,增加学习的成就感。

参考文献:

[1]王爱艳.算法与程序设计教学之我见[J].信息技术教育,2008(2).

[2]卢洪银.新课程数学课堂教学应实现的几个转变[J].中国科教创新导刊,2009(18).

[3]汪明.物理课堂中“抛锚式”教学模式的实践[J].物理教学探讨,2008(21).

程序员培养 第7篇

关键词:信息专业,程序设计,实践教学,能力培养

1 引言

自2002 年以来, 作为地方普通高校创办的信息与计算科学专业, 本着社会对人才培养的需要为根本出发点, 努力培养了一批素质较高、能力较强的应用型人才。而随着国家高校改革形势, 特别是我校建设广东省一流高水平理工科大学所提出的新要求, 我们再次面临新的挑战, 如何制订既适合高水平理工科大学应用型本科教育特点, 又满足社会需求的人才培养模式, 必然是信息专业今后发展和建设的主题。在与学生交流沟通、进行本科人才内涵与能力特征需求社会调查, 走访多所开办该专业的兄弟院校之后, 深感本专业的教学大纲与教学计划还需要修订和完善, 教学内容和教学方法还需要重新组织和改革, 教师队伍有待建设, 学生能力培养有待加强等等。结合“程序设计精品资源共享课”和“佛山科学技术学院---广州达内软件有限公司信息与计算科学人才培养实践教学基地”的建设, 提出新的适合信息专业发展的“程序设计能力培养模式”。

2 程序设计能力培养的分析

程序设计能力培养一直以来受到高校老师们的关注, 像一种“基础训练+提高能力+拓展层面+实践应用”的四层次程序设计人才培养模式[1]、“分段教学法”、“案例教学法”几种切实有效的教学方法[2]、“问题分析—算法描述—代码实现”三步走的“设计求解问题的方案”等[3], 这些都是值得我们学习和借鉴的经验, 但从学生的实际情况出发, 也可摸索出自己的的培养方法:比如以学生为中心, 在强化基础知识、基础理论教学的同时, 突出课程建设的重要性;采用“问题求解+任务驱动”的方法[4], 持续改进实践教学;通过“竞赛”和“项目”, 培养学生程序设计综合应用能力;依托教改项目, 建立培养学生能力的第二课堂;加强教学团队的建设, 提高教学质量等等。

2.1 以学生为中心, 搞好程序设计课程建设

《程序设计》课程是地方性高校信息专业的首门学习计算机编程的课程, 也是理论与实践紧密结合的专业基础课, 在信息专业的整个课程体系中, 占有重要地位。在教学过程中以学生为中心, 重新组织教学内容, 改革教学方法, 并同步建设好“程序设计精品资源共享课”, 主要有:

(1) 首先要考虑学生为什么需要这门课、学习这门课有什么用作为指导思想, 修订理论课教学大纲、实验课教学大纲、教学计划等教学指导文件, 建立信息专业培养目标。

(2) 根据学生的课后反应, 结合学生的实际情况, 不断更新教学教案、教学课件、课程作业、教学案例、实验内容等教学的媒体, 真正做到因材施教。

(3) 将教学指导文件和教学的媒体、课外练习等资料放到BB教学平台及“程序设计精品资源共享课”网站, 提供学生课外学习的资源平台。

(4) 重新组织教学内容, 建立与程序设计能力人才培养目标相适应的4 大系列模块。

(1) 基础系列。含C++语言基本语法和编程方法、面向对象程序设计的基本概念和方法、集成开发环境的使用及程序调试方法等, 强调基础知识的学习, 使学生为今后的计算机课程学习打好基础。

(2) 编程思维与技术系列。含问题内容的设计、问题顺序的编排、问题的分析与解决的方法等, 从学生容易理解的问题作为切入点, 逐步扩大范围、难度, 将教学内容与学生能力优化组合, 让学生掌握基本的编程思维和技术, 满足学生学习程序设计课程的需求。

(3) 系统设计系列。这是与编程思维与技术系列并行的系列, 也是与C++程序设计课程密切相关的内容。含综合应用课题题目的选取、指导书与任务书的编排、考核方式的拟定等, 从学生的角度出发, 加强现场教学、社会调研等活动。强调计算机应用能力培养, 从应用出发, 了解企业的基本运作模式和规律。

(4) 课外拓展或提升系列。利用 (3) 建好的资源平台, 与学生交流、讨论, 补充课堂学习的内容和编程练习的题目, 并且不断更新平台的内容, 强调实用性、先进性, 拓展或提升学生程序设计的技能。

(5) 在教学方法方面, 轻“知识传授”重“能力培养”[5], 充分考虑学生的爱好、兴趣、需求, 选取最有效的上课方式, 摒弃灌输式, 实行引导式教学。换角度、多渠道地激发学生兴趣和动力, 使用启发、参与、比喻等多种方法, 甚至教师上课有意识出错让学生指正, 鼓励学生积极动脑思考, 自由讨论, 活跃课堂气氛, 实现课堂教与学互动。不仅将传统的“粉笔+ 黑板”的单一教学模式改革为利用现代教学工具进行多媒体教学的教学方式, 还结合教师讲授的传统方式和多媒体教学创新出“粉笔+黑板+幻灯片+软件平台”的多元化教学方式, 以及在压缩学时的情况下, 通过教学手段的多样化, 增大了课堂信息量, 将抽象、深奥的教学内容的形象化、通俗化, 提高教学效率和质量, 取得了较好的教学效果。

2.2 采用“问题求解+任务驱动”, 持续改进实践教学

培养学生编程的思维和技术, 除了鼓励学生多看、多听、多读别人的程序, 更重要的是要求学生动手多写程序。在实践教学环节中, “问题求解”即组织教材现有的问题让学生分析、编写代码、上机编译、连接、调试、运行、验证程序;“任务驱动”即收集实际应用课题作为任务分配给学生, 引导学生逐步完成任务, 达到掌握必备知识和拓展知识的目的。“问题求解+任务驱动”说明信息专业实践教学采用的教学方法, 也说明了训练学生编程技能经历的由易到难的过程, 以及实践教学的改革必须持续下去。

结合信息专业教学现状、知识结构、课程体系, 以及学生的实际情况, 协同程序设计、程序设计课程设计、数据结构、数据结构课程设计等多门课程, 形成以课程基础实训、课程设计提高实训和毕业设计综合实训三个阶段组成的多课程C++语言实践训练体系。课程基础实训将多课程的所有上机操作实训统筹规划, 以“问题求解”为核心, 训练学生对程序进行调试、模仿、改进、设计等编程基础;课程设计提高实训则以“任务驱动”为核心, 主要训练学生以小组团队合作形式进行中小规模课题的程序设计能力;毕业设计实训则结合“问题求解+任务驱动”, 在教师的指导下, 对学生进行论文选题、方案设计、社会调查、查阅文献、资料搜集、编程实现、撰写论文等科学研究的综合素质训练。

2.3 通过“竞赛”和“项目”, 提升学生程序设计的技能

“竞赛”和“项目”是信息专业实践教学很好的补充, 也是培养学生主动实践的意识和能力的途径。积极引导学生参加各类科技活动, 有助于提升学生程序设计的技能。

组织学生报名参加各类科技竞赛, 比如组织学生参加“蓝桥杯”全国软件专业人才设计与创业大赛, 让学生在学习程序设计和数据结构的基础上, 去分析各种类型的算法问题, 构建问题模型, 最后编写代码和测试运行。

组织学生积极申报校学生学术科研基金项目、实验室开放创新基金项目等, 让学生有充分自主权选择自己感兴趣的课题, 在教师的指导下, 对课题进行需求分析、设计及编码实现, 锻炼计算思维, 积累编程的经验。

选择合适的课题指导学生申报大学生创新创业训练计划项目, 让学生在有一定规模的项目中得到锻炼, 扩大知识层面, 提高编程水平。

2.4 依托教改项目, 建立人才培养的第二课堂

在“创新强校工程”工程的驱动下, 建立了省级“佛山科学技术学院---广州达内软件有限公司信息与计算科学人才培养实践教学基地”, 校级“信息与软件人才协同育人平台”以及“基于互联网的创业教育与孵化基地”。

实践教学基地选择广州达内软件有限公司共同协商建立, 每年邀请企业单位负责人给信息专业学生举行各种学术讲座以及专题培训, 极大丰富了学生实践教学内容, 提高国学生实践能力, 促进了产学研的结合, 加强学校和社会的联系。

孵化基地则为实现创业教育, 通过互联网建设创业实训课程体系, 为大学不同年级学生设置相应的创业环节训练, 让学生了解创业过程、培养创业意识及相关能力, 鼓励学生参与大学生创业大赛或者挑战杯比赛, 加深对创业过程的理解。

2.5 建设教学团队, 提高教学质量

课程教学团队对提高课程教学质量起着重要作用, 是教学工作的核心资源。近3 年来, 信息专业根据师资的自然状况、学科发展状况, 鼓励教师进修和开展科学研究, 其中两位年轻教师攻读了博士学位, 1 位教师申报省自然科学基金1 项、省教育厅项目1 项、获佛山市科学技术奖励二等奖1 项, 1 位教师荣获计算机软件著作权2 项、横向科研项目2 项, 团队教师近2 年共发表科研论文16 篇。以科研促教学的队伍正逐步形成, 为更好开展教学, 团队教师参加广州物联网与嵌入式师资培训, 获得物联网高级工程师证书, 参加北京创业导师培训, 获得初级创业导师资格, 还参加了达内集团高校移动互联专业骨干教师培训等。团队专任教师除了讲授理论课外, 还担任了实践教学工作, 以“双师型”身份适应教学工作的需要, 适应学科、专业发展的需要。

3 应用情况

近三年来, 信息专业以培养学生程序设计能力为核心进行教学改革与创新, 无论是在大学校园内参加竞赛、开发项目, 还是在IT企业就业, 都有良好的应用成果, 主要有:

(1) 学生在国家、省、校内各级科竞赛活动中取得佳绩, 获得国家二等奖1 项、三等奖2 项, 省级一等奖2 项、二等奖8项、三等奖6 项。

(2) 完成广东省大学生创业创新训练项目“教学研服务之窗”、“小区物业数字化管理”、“佛山智能公交查询系统”、“高校移动课堂的设计与实现”等4 项、校级学生学术基金多项、实验室开放创新基金多项等。

(3) 校企合作取得成效, 例如经达内公司培训的多余名学生被推荐到华为、神州数码等公司工作, 有多名学生在佛山市恒特科技有限公司实习后, 被留下成为公司的技术骨干。

4 结语

经过2011 级、2012 级、2013 级学生的教学改革探索与实践, 信息专业程序设计能力培养取得了较好的成果, 在精品共享、实践体系、校企合作三个方面形成独有的特色。以学生为中心、“程序设计精品资源共享课”为支撑, 对学生进行兴趣引导和创造性思维的培养;以项目训练提高应用能力、以竞赛和毕业设计提升信息素质综合能力, 并协同程序设计、数据结构、程序设计课程设计、数据结构课程设计多门课程的内容, 打破课程间的边界, 突出“问题求解+任务驱动”主线, 形成新的多课程C++语言实践训练体系;利用校企合作和“3+1”人才培养方案, 培养出一批有一定理论水平、动手能力强的应用型软件开发人员。

通过信息专业程序设计教学团队和全体学生的共同努力, 绝大多数学生提高了程序设计的兴趣和能力, 为后续课程的学习以及实践能力的提高奠定了基础, 形成信息专业学生认知的理论和实践相结合的课程知识体系和教学模式, 产生了较好的校内效益和社会影响。

参考文献

[1]耿国华.程序设计能力培养模式的探索与实践[J].中国大学教学.2009, 3:30~32.

[2]刘振华.计算机应用型本科人才程序设计能力培养[J].计算机教育.2010, 12:38~41.

[3]黄旭.应用型本科院校学生程序设计能力培养模式[J].计算机教育.2015, 4:8~10.

[4]陈道蓄, 陶先平, 钱柱中等.重组计算机专业基础课程, 促进学生能力培养[J].计算机教育.2012, 23:2~5.

程序员培养 第8篇

一、编程能力的培养基础

(一) 激发学生的学习兴趣

1) 重要性。教学中让学生知道MS-DOS环境下的编程, 虽没有Vis ual C及C#程序设计等可视化语言直观, 但C程序是学习其它计算机语言的基础语言, 从它诞生之日起, 一直被用来开发各种各样的程序。教师也可通过图形模式下的案例让学生感受到C程序所编的程序也类似于WINDOWS界面操作, 让他们知道C程序设计也是可以在任何一种平台上编程的, 只是接口不同而已。

2) 激发兴趣。老师通过案例教学让学生体会到, 很多简单的小游戏、数学奥赛题等用程序很快迎忍而解, 比如古典数学Hanoi (汉诺) 塔问题、古典游戏《华容道》等问题都可以用C程序来解决, 使学生感觉到C程序的用途很大, 而且有信心学好, 从而对它产生兴趣。再通过具体实例程序运行演示把复杂问题简单化, 让学生知道编程就这么简单, 也让他们知道怎么用C程序解决实际问题, 自然就激发学生对C程序的学习兴趣, 学生必定会积极主动地学习。

(二) 学习思维

C程序的学习思维要求逻辑推理性强, 体现的是数学思想, 比如〖奥赛题〗猴子吃桃、古代国王与象棋的故事等, 通过案例提出问题, 然后让学生去分析问题、解决问题, 激发学生产生主动积极的思维, 再由教师进行引导教学培养学生的自学能力、理解能力和沟通能力, 最后把问题的解决思路弄清, 并用C程序编写出程序。

(三) 理论基础

计算机语言编程能力的培养要从基础理论开始, 教学过程中, 教师注意分层教学, 使不同层次的学生都能有浓厚的学习兴趣, 避免给学生讲些枯燥、抽象的基本理论。教师可以采用类比法、对比法、归纳法和实例教学等方法来促进学生学习和理解各个知识点, 把所有知识点都安排到具体案例中进行串讲, 以程序设计的思路为主线, 培养学生的逻辑思维能力。

(四) 学习C程序的结构化设计

C程序支持了面向过程的结构化设计思想, 即把一个问题可以分解为一个个独立的小任务, 把所有的小任务都设计出来实际上就把问题解决了, 设计程序时注意用下面的三大结构:1) 顺序结构。顺序结构的程序设计最简单的, 只要按照问题解决的顺序把步骤写成C程序的语句就行, 它的执行顺序是自顶而下逐条语句执行。2) 分支结构。分支结构关键在于对条件的判断和分析程序流程, 根据不同的程序流程选择具体的分支语句。学习分支结构要注意有三种形式:单分支、双分支和多分支。3) 循环结构。循环结构能减少程序的工作量, 却提高了程序的效率, 主要有两种循环结构:当型循环结构和直到型循环结构, 前者是先判断后执行而后者是先执行后判断。在实际编程过程中常将这三种结构相互结合起来使用, 以便解决现实生活中的实际问题。

二、编程能力的培养环节

C程序是实践性很强的课程, 上机实践是对学生能力和思维的锻炼环节。每次实验要求有明确的实验目的、实验内容和实验步骤, 含程序编写与调试执行操作, 要求学生独立完成, 最后写出程序运行结果和上机实践心得。为了更好地提高学生动手编程能力, 实验教师和授课教师一同参与实践教学。这样, 授课教师可掌握学生学习的全过程, 便于帮助学生解决实际存在的问题, 课后对上机实践作出总结并做好记录, 而辅导教师则积极给予学生指导和帮助, 一是随时帮助学生找出程序的错误, 向学生传授调试程序的技术, 即达到言传身教;二是要求学生在实践中要目标明确、多动手多动脑;三是同学生进行互相交流, 互相促进。

三、编程能力的培养途径

1) 培养学生自学的能力。教师在教学之前根据实际情况, 利用任务驱动法拟出案例, 多让学生去学习、去思考, 以学生先学为主, 再由教师进行教学点拔, 学生会按照思路去进行对比, 会思考自己在学习中碰到的问题, 最后进行问题答疑, 这样即达到学习目标, 也增强了学生的学习兴趣, 更能培养学生编程方面的自学能力。2) 理论与实践相结合。学生们通过自学和教师教学可以编写出程序, 再通过实践来进行验证程序的正确性, 帮助学生解决学习中存在的疑点和困难。然后让学生分析程序运行结果并反复操炼, 这样学生在逐步提高实际操作和学习能力的同时, 也加强了学生编程能力的提高。3) 分析编程技巧。教师通过给学生分析案例, 先让学生把自己的思路、想法及有代表性的程序提供出来;再由教师讲解并提供标准规范的程序, 让教师与学生、学生与学生之间进行交流和比较;最后由教师分析各自程序的优劣、特点, 结合问题的出发点、关键点来分析具体的编程技巧以便拓宽学生的思路, 使学生的编程能力提高一个层次。

四、编程能力的培养训练

1) 养成良好的学习习惯。C程序一般是计算机语言教学的入门课程, 教学时从简单开始让学生感觉学习它其实很容易, 这样学生会带着激情自觉主动学习从而养成良好的学习习惯, 这是培养编程能力十分重要的过程。2) 阅读程序。学生学完理论知识点后通过阅读程序可以为编写程序打基础, 通过教师的例题教学, 使学生逐步理解和掌握程序的格式、特点、功能等, 同时也是在为学生培养编程能力作铺垫, 引导学生从模仿开始, 逐步过渡到独立进行程序设计。3) 借鉴别人设计的程序。借鉴别人设计好的程序代码, 包括教师教学案例程序、其他学生编的程序、教材上的例题程序等, 在读懂别人程序后, 对比照自己的程序找出差距, 并多想想在别人的基础上能否修改得更精练、更准确, 以帮助提高自身的编程水平。4) 自己动手编程。C程序实践性强, 学生往往听课明白, 案例清楚, 但自己编程时却感觉无从下手。所以教师要求学生一定要通过自己动手, 逐步培养自己的逻辑思维、创造性思维, 以及分析问题、解决问题的能力。这样当然也就培养了学生自身的编程能力。

五、结语

综述所述, 培养学生动手编程能力可以从多种途径来进行, 但教师的课堂教学改革是关键性因素, 只要在教学实践中勇于探索、勇于实践、善于总结, 吸取经验, 不断改进教学方法, 就一定能培养并提高学生的编程能力。

摘要:C程序是计算机应用专业的一门核心课, 也是各类高等院校开设计算机语言的入门课程, 学好C程序对其它相关专业课程的学习至关重要, 而编程应用能力是学习好C程序的关键, 笔者通过本文从教学环节、培养基础、培养途径、培养训练等各方面浅谈C程序中如何培养学生的编程能力。

关键词:C程序,结构化,编程能力

参考文献

[1]谢书玉, C语言程序设计案例教程[M].中国计划出版社, 2007.

程序员培养 第9篇

关键词:程序设计能力,算法设计能力,软件工程师,实验实践教学,因材施教

1 引言

从十三五规划来看,未来五年哪些职业最有“钱途”?《中共中央关于制定国民经济和社会发展第十三个五年规划的建议》明确指出,未来五年,软件工程师愈发“走俏”。一直以来,学生的程序设计能力、实践与创新能力是评判一个学生是否是一名合格的计算机专业学生的重要指标。

2 存在的主要问题

专家预言,未来10 年中国的IT界每年需要100万人,其中计算机类人才需求超过40 万人,这是一个保守的说法。最近几年来,有不少企事业单位反映计算机类毕业生实际应用知识、动手能力与应用能力不够、程序设计开发经验严重不足,尤其是程序设计能力、算法设计与分析能力无法达到用人单位的要求。这不仅对学生就业是一个严重的考验,更阻碍了其进一步发展与提升。

造成以上情况的主要原因如下:一是学生在学完与程序设计、算法有关的课程后,对于这些知识仅仅只是停留在了解的基础上,并未达到理解、融会贯通的境界,更没有利用这些知识解决实际遇到的问题。二是教师在讲解程序设计、算法设计与分析的相关知识时,并没有将理论与实际有机结合。三是在实际教学过程中并未对学生进行真正的软件项目开发训练。虽然目前各本科院校的程序设计类课程都有课程设计这一环节,但是大多数都是止于形式,并未予以真实的软件项目支撑,因而收效甚微。四是对第一门程序设计课程的教学不够重视。尽管计算机类专业所开设的课程中很多都含有与编程相关的内容,但作为入门级的程序设计语言课程,其重要性不亚于任何一门专业课。由于当前对第一门程序设计语言课程重视程度不够和教学时数不足,导致了相当一部分学生在学完第一门程序设计课程后,仍然无法独立完成一个简单的程序开发。一个计算机专业大学生出来找工作,连一个程序都写不好,可以说我们的高等教育出了很大的问题,编程能力是计算机类专业学生最基本的能力。

为适应十三五规划对计算机专业学生的新要求,我们应该改革《C程序设计》教学,培养学生利用C语言编写各种应用程序的能力,在《数据结构》、《算法设计与分析》、《编译原理》等专业课教学中,重视培养学生的算法设计与分析能力,加强关键环节程序设计能力、实践与创新能力的培养,完善各类项目、竞赛、实验实践教学,培养大学生的实践与创新能力。提高学生的综合素质,提高人才培养质量,努力培养服务国家和首都社会与经济发展的社会主义优秀人才。

3 培养学生程序设计能力、实践与创新能力的具体措施

教育教学工作应该以学生为主体,同时充分发挥教师的引领、指导作用,二者有机结合,相互配合,这样才能充分调动学生的学习积极性和主动性,从而达到最佳的教学效果。因此本文以“学生为主体,教师为主导”这一思想为指导,建立一套具有我校特色的教学模式,以及培养学生程序设计能力、实践与创新能力的关键环节实践教学体系,有效提升学生分析和解决实际问题的能力。

3.1改革《C程序设计》课程的教学方法,培养学生的程序设计能力

《C程序设计》是我校计算机专业的第一门程序设计课程,为保证课堂质量,改变以前大班授课方式,采用小班上课;在教师安排上,充分考虑教师的教学经验、工作责任感,以及实际项目的开发经历;改革《C程序设计》课程的教学方法,将教学内容分解为必须掌握的内容和提高内容,采用小班上机实验,按照学生的不同层次,给出不同的实验内容,对于层次高的学生,给学生另外布置一些趣味程序设计题目、竞赛题目,以及目前计算机一些前沿问题;该课程的考核成绩由期末机考成绩和平时成绩两部分组成,各占50%。在平时成绩中,阶段考试占30%,提交实验程序占45%,实验报告占5%,作业成绩占15%,考勤占5%,进一步完善考试环境和考试方法,加强学生编程上机的能力训练。

3.2在专业课教学中,重视培养学生的算法设计与分析能力

采用不同的编程语言实现同样一个问题,效率是完全不一样的。对算法的研究被公认为是计算机科学的基石。在专业课教学中,如《数据结构》、《算法设计与分析》、《操作系统》、《编译原理》等专业课教学中,使学生掌握算法设计的常用方法,以便能够运用这些方法独立地设计解决计算机应用中的实际问题的有效算法,并能够利用已有算法解决实际问题。此外还要使学生学会分析算法,估计算法的时空复杂性,从而对算法进行评价,评定算法优劣的标准要看它的时间复杂性、空间复杂性和人工复杂性,其中时间复杂性最为重要,通常是用时间复杂性来衡量某个算法的“好”或“坏”。

3.3 加强关键环节程序设计能力、实践与创新能力的培养

许多课程都有上机编程实验内容,如《C程序设计》、《面向对象程序设计》、《数据结构》、《算法设计与分析》、《Java程序设计》、《操作系统》、《汇编语言程序设计》、《数据库原理》、《编译原理》、《软件工程》、《计算机网络》、《软件测试技术》等课程,都要求学生完成一定数量的设计性、验证性实验。还设立了工程与学术实践、计算机硬件课程设计、软件课程设计、独立实验课程以及毕业设计等实训科目,坚持编程实践四年不间断。培养方案中提供了软件工程、计算机网络、嵌入式技术三个方向的选修课程模块,学生可根据自己的兴趣和学习情况有目标地选择学习,达到了因材施教的目的。

例如软件课程设计“实验室设备管理系统”首先要求学生进行基本的分析,例如:这个系统要具有什么功能、可以抽象为哪几类对象、要应用哪些算法、采用哪种数据结构等。之后,学生根据分析好的内容进行编程,编程中要考虑到诸如:代码逻辑、异常处理、可扩展性等问题。完成一定代码后要进行单元测试,通过单元测试后,要对整个软件进行测试,例如,功能测试、回归测试等,保证软件的正确运行。最后,教师进行软件验收,验收达标后要完成相应的课程设计实验报告等。这一系列的开发流程使学生掌握了一个软件的真正开发过程,提高了学生的综合编程能力,如:需求分析能力、算法设计与分析能力、数据抽象能力、编程实现能力、软件测试能力,有效提高了学生的程序设计能力,以及实践与创新能力。一些学生在毕业设计中利用没有学过的计算机语言和开发工具进行软件开发,充分体现了学生具备了自主学习其他语言和开发工具的能力。

3.4完善各类项目、竞赛、实验实践教学,培养大学生的实践与创新能力

鼓励高年级学生参与由教师指导的ACM国际大学生程序设计大赛的华北地区选拔赛、北京市大学生科学研究与创业行动计划、北方工业大学“科园杯”大学生科技活动项目或教师负责的国家基金、科技支撑计划、横向科研等课题,在教师的指导下完成需求分析、算法设计、算法分析、实验结果及分析等环节,最后提交打印版书面报告或论文,提高大学生的动手能力、解决实际问题的能力。积极组织学生参加“挑战杯”全国大学生课外科技活动、“全国大学生电子设计竞赛”等各类竞赛,锻炼学生团队协作能力、实践与创新能力。将专利、论文、科技竞赛活动等以学分纳入考核,对取得突出成绩或有特殊成就的学生,在推免研究生、奖学金评定等方面予以优先考虑,激发创新动机,提升创新意识和创新能力。完善实验实践教学,实验人员做好实验课程辅导,稳定丰富课内实验环节。积极拓展有工程背景的企业导师参与实践环节,与Oracle、文思海辉等知名企业建立校企合作关系,试点推出校企合作实践环节课程,如与Oracle合作《项目管理实践》课程,与文思海辉合作《企业实训》课程。

4 结论

在“十三五”规划课题研究中,“信息经济”首次被列入,这也意味着信息产业有望成为“十三五”规划中的新增亮点。本文分析了高等学校培养计算机专业人才程序设计能力、实践与创新能力存在的主要问题,给出了改革和建设措施,有助于提高学生的编程能力、实践能力和创新能力,有利于培养经济社会发展急需的信息产业人才。

参考文献

[1]葛亮,朱庆生,王茜.计算机程序设计课程自动化教学评价平台研究[J].计算机教育,2013,18:91-94.

[2]唐志军,吴笑峰,席在芳.面向实践创新能力的工科研究生培养模式探讨[J].山西科技,2015,30(5):91-93.

[3]马丹,乔兴,姜明明.大学生综合素质的评价方法与应用[J].数学的实践与认识,2014,44(9):295-300.

[4]田立勇,于宁,张兰芬.大学生科技创新实践能力综合评价[J].辽宁工程技术大学学报(社会科学版),2010,12(6):650-652.

[5]马礼,张永梅,宋丽华.培养计算机类专业学生硬件方向创新能力的研究与实践[J].计算机教育,2010(2):1-4.

[6]王锐.改革计算机实验课,提高计算机教学水平[J].科技与教育,2008(5):197-198.

[7]曹晓兰,彭佳红,彭剑.计算机本科生编程能力与软件能力的培养研究[J].计算机教育,2014(4):72-75.

程序员培养 第10篇

计算思维的概念经周教授明确提出后,专家学者经过梳理发现当前几乎所有领域的重大成就无不与之密切相关。计算思维所表现出的强大创新能力,使其迅速归位为与理论思维、 实验思维并列的人类三大科学思维之一,计算思维能力也已成为创新性人才应具有的基本素质和要求之一。有鉴于此,在我国教育部的主导下,对作为大学通识教育的计算机基础课程教育确立了以培养学生计算思维能力作为核心任务的教学改革目标。计算思维能力的培养,要抓住计算思维的本质——抽象和自动化,计算思维在不同层面进行抽象,以及将这些抽象机器化。由于计算思维的机器化最终需要程序设计去实现(尽管计算思维不仅仅是程序设计),且程序设计的内容也最能够体现计算思维语言级的问题求解方法,因此计算机基础教育中的程序设计类课程应是开展计算思维教学的重点。

《数据库及其应用》课程是计算机基础教学“数据管理与信息处理”知识领域的核心课程之一,是面向文科专业学生开设的计算机通识必修课。Access是很多高校为《数据库及其应用》课程选择的数据库教学平台,VBA作为其内置的编程语言, 理应是在该课程中对学生进行计算思维能力培养的重点教学内容。

1启发式教学应是VBA中进行计算思维培养的主要教学模式

要在VBA程序设计中培养学生的计算思维,教学的关注点不能再仅仅是VBA程序设计的知识和技能,更重要的是高于知识和技能的学生学习过程中的思维方式,这是一种思维教育。 传统的灌输式教育模式,是一种知识的灌输,整个课堂的教学时间主要被教师的宣讲所占据,学生一味忙于倾听和记录,缺乏思考问题的时间和空间,显然这种教学模式难以发展学生的思维[2]。学生思维的发展离不开教师的启发与诱导,引入启发式教学模式是开展计算思维教育的必然选择。

所谓启发式教学,主要是指在教师的启发与诱导下,通过师生互动的形式,引发学生主动思考、主动探索、共同参与教学的一种教学模式[3],它秉承了“以学生为主体,教师为主导”的现代教学理念。在这种教学模式下,教师以学生为中心来组织教学活动,注重调动学生学习的积极性和主动性,引导学生独立自主地开展思维活动;教师的教学内容不再局限于知识本身, 而是以知识为载体传授解决问题的思路、展示思维的过程、教会学生思考的方法;教师以启发性问题为中心,创设教学情境, 并在情境中引发学生的质疑和思考,同时为学生表达思想营造良好的课堂氛围,这就要求教师设计的这些启发性问题应集趣味性、价值性、思维性于一体,贴近学生的生活实际,以激发学生探究的欲望;教师要把握好启发的时机,适时采用正问启发、 反问启发、悬疑式启发、类比式启发等方式,在学生思考发生困难的关键点上,给出适当的点拨,引起学生的联想。

正如西安交通大学冯博琴教授所言,启发式就是计算思维。计算思维不是内容的改变,不是工具的改变,而只是教学方法、方式的改变。启发式最能体现这种改变:引导学生思考, 使之看到问题之外的问题、方法之外的方法、没有联系的联系, 这就是计算思维了[4]。

2通过VBA语言的基本语法让学生感悟其蕴含的计算思维

抽象是计算思维的本质之一,计算思维的抽象体现在完全使用符号系统甚至形式化语言来表述问题。VBA程序设计语言实际上就是一个符号系统,要利用VBA编程解决实际问题, 就必须利用其提供的符号系统对求解问题进行精确而严格的描述,因此VBA程序的符号系统就是对客观世界的一种抽象、 一种表达,更是对计算思维的一种很好的诠释,换个角度说就是VBA程序设计语言在设计之时就早已蕴含了计算思维。因此,教师在进行语法教学时,不应只是简单地将VBA的基本概念及语法“空降”给学生,让学生产生语法知识就是需要死记硬背的基础知识这种印象,而应通过类比的方法向学生揭示出语法背后所蕴含的计算思维,让看似机械、死板、枯燥的语法知识灵动起来,这样不仅可以让学生在理解的基础上更容易记住语法,而且使学生的计算思维能力得到训练。

例如,VBA中与面向对象相关的概念“对象、类、属性、方法、事件、事件过程”及其相关语法都蕴含了典型的计算思维特征。对象将反映事物的特征和行为封装在一起,是对现实世界客观事物的一种抽象;类是对同种对象的抽象描述,是创建对象的模版;属性和方法用来描述对象本身的信息,属性用来描述对象的特征,通过语法“对象名.属性名=设置值”来改变对象的外观特征;方法用来描述对象的动作和行为,通过语法“对象名.方法名 [参数名表]”来指使对象产生某个动作;事件和事件过程用来描述对象和外界环境之间的关系,事件用来描述外界环境给对象施加的影响,事件过程用来描述对象接收到某个事件后所做出的反应,通过语法“Private Sub对象名_事件名([参数列表]) 事件过程的内容End Sub”来表征对象和外界环境的交互过程。

3将计算思维培养贯穿在用VBA编程求解问题的整个过程中

教师在进行VBA程序设计教学时,应对传统的经典教学案例进行重组,将问题求解提升到计算思维的高度。计算思维中问题求解的一般步骤为:(1)问题抽象化的描述,问题表示,即如何建立模型;(2)寻找解决方案,问题求解,即如何设计算法; (3)计算机实现过程、效率,即如何有效地求解、编码;(4)现实问题的延伸[5]。教师在这四个实施步骤中应做到有的放矢,对学生进行针对性的计算思维训练。

3.1加强学生建模能力的训练

传统的VBA程序设计教学以语法为中心,教学案例基于方便学生掌握语法知识之目的而设计,加之学时的限制,教师往往直接将程序代码抛给学生,然后比照代码讲授涉及到的具体语法知识点,而忽略了对代码实现的首要前导环节——问题建模过程的讲解,或者设计的案例已足够的简单,就是一些简单的数值计算问题,所谓的建模问题已自不必说。学生缺乏建模能力的训练,不知道如何将一个现实问题描述成计算机可以处理的问题,是学生不具备编写程序解决实际问题能力的根本原因所在。

计算思维的本质是抽象和自动化。计算思维的抽象说到底就是一个问题表示问题,而自动化就是将这种抽象通过程序设计来实现。因此,运用计算思维求解问题时,首要解决的就是如何表示问题,即怎样将问题转换成一个合适的模型来表示,这样就可能发现问题的本质及其能否求解,甚至找出求解该问题的方法和算法。这样的一个建模过程,更是涵盖了编码/解码、约简、递归、归化、仿真、推理等多种思维过程和转换模式,它是计算思维的一个重要组成部分。可以说,建模能力的强弱,直接影响了计算思维能力的高低[6],因而在VBA程序设计教学中对学生进行建模能力的强化训练,帮助学生掌握一些基本的建模方法,是进行计算思维能力培养的根本要求。

3.2倡导学生开展算法多样化的探讨与交流

程序设计中的许多问题可以采用不同的算法来解决。教师可以采用一题多解或一题多问的方式引导学生从不同角度和不同层次思考,对同一问题去探求不同的解决途径,并提供机会让学生在课堂上进行不同算法的交流,引导他们从时间和空间复杂性两方面比较各自算法的优劣,相互启迪思维,共同学习提高。倡导算法的多样化,尊重了学生不同的认知方式, 发挥了学生的主体作用,有利于学生之间的合作交流,训练了学生思维的灵活性和发散性,培养了学生的创新意识、探索精神和问题求解能力。

由于VBA程序设计授课对象是文科专业大一的新生,他们对程序设计知识基本上是一无所知,因此教师在授课时,虽然不能引入算法较为复杂的问题让学生进行探究,但针对一些较为简单的问题,同样可以引导学生追求算法的多样化。例如, 对于交换两个变量的值这样的问题,除了通过引入中间变量完成交换的常规算法外,教师还可以引导学生探讨不借助中间变量能否完成两个变量值的交换;对于求一个任意两位正整数十位和个位上数字这样的问题,教师可以引导学生分别使用数值分离法(使用算术运算符或数值函数进行数值运算)或字符分离法(借助字符串函数)来进行解决。

3.3引导学生进行算法的优化

计算思维是一种在时间和空间之间、处理能力和存储容量之间进行权衡、折中处理的思维,是算法设计时普遍使用的思维方式。算法在编写成可执行程序后,要进行时间复杂度和空间复杂度的分析,在时间和空间效率之间寻找折中点,力求使用更小的代价来解决实际问题。

教师在讲授VBA程序设计时可以引导学生对编写好的程序进行简化和优化,看能否通过减少算法中的运算次数,或减少算法在运行中的存储开销,即通过减少算法的时间和空间复杂度来对算法进行优化,从而提高程序的运行效率[7]。例如,要求学生编程求解100~200之间的全部素数,这个问题需要使用双层循环来解决。外层For循环用来提供需要判断的数据范围,学生一般会写成“For i = 100 To 200 Step 1”的形式,由于在100~200之间偶数不可能是素数,因此可以引导学生对外层循环进行优化,改写成“For i = 101 To 199 Step 2”的形式,从而减少了外层循环的次数;内层For循环用来具体判断某个数是否是素数,学生一般会写成“For j = 2 To i - 1 Step 1”的形式,实际上判断某个数是否是素数只需要看其能否被2 ~(取其整数)之间的数整除即可,因此可以引导学生对内层循环进行优化,改写成“For j = 2 To Int(Sqr(i)) Step 1”的形式,从而减少了内层循环的次数。通过前面的处理,就提高了该算法的时间效率。

3.4培养学生模块化程序设计的习惯

计算思维强调采用抽象和分解来控制庞杂的任务或进行较大复杂系统的设计,这和模块化程序设计的基本思想是一致的。模块化程序设计采用自顶向下、逐步细化的方法对复杂系统按功能分解成相对简单、功能独立的多个层次的多个子模块来实现,下层模块为上层模块提供服务或完成某些功能,各层模块之间隐藏实现细节、通过定义好的接口进行交互,这种做法降低了程序的复杂性,使程序设计、调试和维护等操作易于实现且简单化,同时也提高了模块的复用性[7]。

要让学生养成模块化程序设计的习惯,教师可以调整VBA程序教学内容的顺序,遵循先入为主的思想,让学生在刚开始编写程序时就接受模块化程序设计思想的熏陶,形成模块化程序设计的思维习惯,这比等到学生已经习惯将程序的所有功能写到一个VBA过程(事件过程、函数过程、Sub子过程)中再行引入效果要好得多。针对VBA学习对象的特点,教师可以选择一些相对简单的教学案例让学生体会模块化程序设计的思想及其好处。例如,让学生编程求解“5!+10!”,学生会发现求5! 和10!的语句基本都是一样的,唯一不同的就是For循环的终值不同,完全没有必要把这些相同的语句重复写多次,如果将求阶乘的语句编写在一个Function过程中,然后再调用它两次分别求5!和10!,就可以使程序变得简练且易于维护,并且通过调用这个Function过程还可以求解任意一个正整数的阶乘, 提高了代码的复用性。再如,要求学生为班级编写一个成绩管理的应用程序,程序具有输入成绩、计算平均分、找出最高分、 找出最低分、输出成绩等功能,教师可引导学生将应用程序分解为不同的模块,包括输入模块、平均分模块、最高分模块、最低分模块、输出模块,然后在VBA中通过编写不同的Function过程或Sub子过程实现每个模块的功能,在编程过程中对每个模块分别调试最后总调,能够让学生切身体验到模块化程序设计所带来的好处。

4结束语

程序员培养 第11篇

【关键词】编程思想 问题求解能力 项目教学 任务驱动

1.前言

目前,有相当多的高职院校将《C语言程序设计》课程列为计算机专业的必修课,非计算机专业的理工科也列为了公共基础课中的必修课程。对于计算机专业的学生来说,《C语言程序设计》是一门专业基础课,对后续专业课程至关重要。应用对象不同,其对课程的教学要求也应有所差别。但现在很多高职院校并没有特定的区分,而是采用统一的教学目标、统一的教学模式,过度注重语句、语法和一些细节,基本上是以高级语言自身的体系为脉络展开,学生学习理论知识多而动手实践少。这样势必会给计算机专业学生后续课程的学习留下了隐患。程序设计以及后来的软件设计是整个计算机专业学生学习的一个重要目标,程序设计思想的培养对于计算机专业的学生而言至关重要。本文旨在通过对计算机专业《C语言程序设计》的教学过程设计探讨,培养学生良好的编程思想,解决学生的问题求解能力。

2.高职生的现状

随着高校招生规模的扩大,高职学生入学门槛的降低,直接导致的是学生各方面的综合素质的下降,各种问题也就应运而生。如学生学习的自觉性不高、厌学等,教师的授课过程也受到了干扰。在这种情况下,高职学生对传统的课堂教学模式(教师“教”-学生“学”)本能的反感,加上《C语言程序设计》这门课程比较抽象难理解,很多学生对此丧失学习的兴趣;另外学生遇到不懂的问题习惯性的依赖老师,不愿意也不知道该如何独立思考解答,从而导致了课堂教学效率低下,学生对所学的知识也无法进行实际应用等一系列问题。21世纪科技高速发展,社会对人才发展提出了更高的要求,未来需要的是能够独立思考问题、分析问题并加以解决的人才。因此,问题求解能力的培养是顺应素质教育的需要,适应时代发展的需求,意义重大。如何培养学生的问题求解能力也成为教师丞待解决的难题。

3.任务的提出与解决思路

“编程思想”,简单来说就是人们用计算机来解决实际问题的思维方式。学习编程语言的最终目的,就是希望用计算机来解决现实中的实际问题。而学习计算机编程语言开始如何入手,也是很多初学者犯难的一个问题。《C语言程序设计》课程作为计算机专业的专业基础课,培养学生的编程思想理所当然是《C语言程序设计》这门课程教学中重要目标之一。

“问题求解能力”,即面对一个新问题时,运用所学知识资源将问题解决的能力。求解能力是“教”不会,“学”不会,只能“练”会的。求解是一个复杂且综合的过程,口口相传的课堂教学无法表现其精髓,只可能教授求解知识和一点片面的求解经验,真正的求解能力是在求解的实践中锻炼、体会出来的。因此,教学中培养学生的问题求解能力的根本途径是引出问题,激励学生的主动性,教会学生主动分析问题,让学生自己动手解决问题。

编程思想的培养不能单单通过做大量的题目,而是要有一定的方法,循序渐进才能做到事半功倍的效果。计算机编程思维的形成并不是一蹴而就的。传统的C语言教材和教学将重点放在语法上,过分强调语法的系统性和全面性,案例大多选用与数学相关、与现实生活联系不紧密,学生难以激起学习积极性。而采用符合职业教育行动导向的项目教学方式,通过项目化、案例化组织知识内容,构建把理论知识、实践技能与实际应用环境融为一体的学习情境,从而使学生享受编程的乐趣,激发学生学习兴趣,引导学生逐渐掌握编程入门和用编程解决问题的能力,养成良好的编程习惯。

而利用“任务驱动”教学法在教学中能起到很好的作用。“任务驱动”教学法要求在教学过程中,教师把教学内容巧妙地隐含在每个任务中,以一个个具体任务为线索,让学生先提出问题,然后分析问题,最后解决问题,通过学习知识来培养学生的问题求解能力。“任务驱动”教学法符合学习计算机高级语言的层次性和实用性,能由浅入深、循序渐进地学习好计算机高级语言的基础知识和编程技能。

4.结束语

在《C语言程序设计》课程教学中采用符合职业教育行动导向的项目教学方式,通过项目化、案例化组织知识内容,将教学内容巧妙地隐含在每个任务中,以一个个具体任务为线索,让学生通过提出问题、分析问题、解决问题,构建把理论知识、实践技能与实际应用环境融为一体的学习情境。这种教学模式以学生为中心,以项目为载体驱动学生对真实问题进行自主探究,从而提高学生的学习能力、创造能力、实践能力和问题解决能力,使学生在学习的过程中享受编程的乐趣,激发学生的学习兴趣,引导学生逐渐掌握编程入门知识和用编程解决问题的能力,养成良好的编程习惯。

【参考文献】

论中职生C程序设计学习兴趣的培养 第12篇

一、充分认识C语言

简单了解C语言的发展历史, 理解科学家们开发C语言是由兴趣而发, 这对学生来说具有引领作用。 而要进行程序设计, 必须使用一种计算机语言作为工具, 否则只是纸上谈兵, 可供选择的语言很多, 各有特点和应用领域。 C语言是一门通用的计算机编程语言, 它功能丰富、表达力强、语法规则相对简单, 阅读和编程较其他高级语言来说更容易一些, 而且它使用灵活方便、应用面广、目标程序效率高、可移植性好, 既具有高级语言的优点, 又具有低级语言的许多特点。 C语言作为传统的面向过程的程序设计语言更适合解决某些小型程序的编程, 而且如果有了C语言的基础, 在需要时进一步学习C++, 也是很容易过渡的。

二、利用现代化的教学设备

传统的C语言教学是在普通教室里, 教师除了讲授语法知识外就是例题讲解, 学生不是在听讲就是在做练习, 这些理论知识的学习固然重要, 但授课过程几乎是老师全程灌输知识, 整个课堂显得枯燥乏味, 学生很容易排斥这门课。 教学条件稍好的话可以利用投影授课, 但是在学生的眼中一行行的代码犹如“天书”, 久而久之, 缺乏意志力的学生就跟不上教师的节奏, 往往“昏昏欲睡”。 在机房实训时只知道把课本或笔记中的代码机械地录入电脑中, 编译、连接、运行出结果就算是完成任务, 教学效果可想而知。 如果将C语言课程全部放入一体化教学的实训机房中, 并安装适合学生掌握的编译软件 ( 如VC++6.0或C/C++程序设计学习与实验系统) , 在老师讲解理论知识并提出问题后, 经过学生的小组分析、讨论并得出解决的方案, 这样学生就能马上验证程序运行的结果, 再加以保证充分的实训时间和质量, 教学效果一定会有所增强。

三、进行经典有趣的案例教学

在中职学校C语言的教学中, 应当根据学生的特点, 制订合理的教学计划, 设计形式新颖的教学内容和环环相扣的教学环节, 适当地降低教学难度, 充分激发学生的学习兴趣和热情。由谭浩强编著的《C程序设计 (第四版) 》提供了大量的例题和习题, 大部分是和数学知识有关的, 例如一元二次方程根的求解、判断一个数是否为素数、求两个正整数的最大公约数和最小公倍数、 判断某一年份是否为闰年、 求一个正整数的阶乘、九九乘法表、四舍五入等。 还有一些数学中的经典问题, 例如排序问题、水仙花数、兔子繁殖问题 (斐波那契数列) 、猴子吃桃、杨辉三角形、汉诺塔等。 除此之外, 还有一些和生活息息相关的案例, 例如定期活期存款利息的计算、房贷的计算、企业发放奖金的计算等。 使用这些经典案例教学, 可以更好地激发学生学习的乐趣。 教师在教学过程中一定要提醒学生利用数学知识解决问题和利用计算机编程解决数学问题的区别, 把重点放在这类数学问题算法的讲解上, 而不是详细地解释每条语句的语法和作用。 有效地将理论和实践结合起来, 真正地将知识传递给学生, 让学生学有所得, 从而更好地激发学生的学习热情。

四、处理好算法和语言的关系

进行程序设计, 要解决两个问题: (1) 要学习和掌握解决问题的思路和方法, 即算法; (2) 学习怎样实现算法, 即用计算机语言编写程序, 达到用计算机解决问题的目的, 二者都是必要的, 缺一不可。 算法是灵魂, 不掌握算法就是无米之炊;语言是工具, 不掌握语言, 编程就成了空中楼阁。 教学的过程就是学生在学习编程的过程中理解并掌握有关的典型算法, 教师要引导学生思考怎样构造一个算法。 编写程序的过程是设计算法的过程, 掌握基本的语法规则是编程的基础, 必须遵守语法规则, 否则编出来的程序错误百出, 无法运行。 教师应从学生的认知规律出发, 课程设置由浅入深, 由易到难, 一开始让学生看懂简单的程序, 然后逐步深入, 随着难度的加大, 算法和语法的学习同步提升。 学生在富有创意、 引人入胜的编程中, 学会了算法, 掌握了语法, 把枯燥的语法规则变成了生动活泼的编程应用。

五、提高程序阅读能力、掌握编程技巧

提高程序阅读能力对学好C语言非常有用, 一方面可以巩固所学概念、语法等理论知识点, 另一方面可以理解编者的算法设计及流程。 平时要注意阅读程序的积累, 这就是所谓的见多识广, 如果精力允许的话还可以对别人的程序进行模仿或改进, 这样不仅可以吸取别人的经验, 还可以完善自己的知识结构。 在研读程序时, 必须认真细致, 做到每一条语句都准确理解它的含义与作用, 在完全理解程序之后, 还要写出程序运行的结果, 上机运行验证结果是必不可少的步骤。 通过阅读理解程序, 学生还要亲自动手写写与例题相似的程序段, 如果一开始没有思路, 不要着急, 返回来再继续研读例程, 看一下自己是否正确构造了程序结构, 再画一画流程图, 每一个步骤试图用自己的话写下来或者用伪代码试试, 然后再运用正确的语法写成相应的语句, 反反复复, 直到成功。

中职阶段的C语言教学目标是使学生掌握其基本规则, 了解C语言的魅力, 培养学习C语言的兴趣, 从而提升学生分析问题、构造算法、编程及调试程序的能力, 所以教师要重视程序设计的基本训练。

摘要:自20世纪90年代以来, C语言迅速在全世界普及推广, C语言程序设计在计算机教育和计算机应用中发挥重要的作用。本文从学生在学习C程序设计过程中遇到的困惑出发, 立足在课堂教学中如何引导学生树立良好的学习信心、更好地激发学生的学习热情, 展开关于C语言学习方法及兴趣培养等几方面的讨论, 希望对学生有所帮助。

关键词:中职院校,C程序设计,兴趣培养

参考文献

程序员培养范文

程序员培养范文(精选12篇)程序员培养 第1篇程序设计不但是一种逻辑性很强的创造性思维, 而且与其他课程相比, 这种思维的抽象性、多变...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部