前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的编程培训总结主题范文,仅供参考,欢迎阅读并收藏。
【关键词】可编程控制器; 案例教学法
一、背景
目前高职院校中,传统教学模式是理论教学与实习教学分别进行,各自为政,互不干涉。理论教师注重理论知识讲解,实习教师注重实际操作,再加上课程进度不一,理论教学与实习教学严重脱节,不但给学生的学习造成很大困难,也造成了重复教学和资源浪费,更影响了教学质量的提高和应用性、技能型人才的培养。随着教学改革的进一步深入,现有三段式(文化基础课---专业基础课、专业课----实训)技能培训教学模式已经越来越不适应现代社会对职业教育的要求。
为适应市场需求,现代职业教育呼唤新的教学模式,案例教学这种新的教学模式正在实践与探索中。这种教学模式,是将理论学习和技能训练紧密结合在一起,以案例技能训练为主线,以突出培养学生的操作技能为重点,能较好地解决理论教学与实习教学的脱节问题,减少理论课之间及理论课与实习课之间知识的重复,增强教学的直观性,充分体现学生的主体参与作用,有助于教学质量的提高和高素质人才的培养,更适合专业领域科学技术的发展和社会用人单位的需要。
可编程序控制器的英文为Programmable Controller,在二十实际七十至八十年代一直简称为PC。由于到90年代,个人计算机发展起来,也简称为PC;加之可编程序的概念所涵盖的范围太大,所以美国AB公司首次将可编程序控制器定名为可编程序逻辑控制器(PLC,Programmable Logic Controller),为了方便,仍简称PLC为可编程序控制器。有人把可编程序控制器组成的系统称为PCS可编程序控制系统,强调可编程序控制器生产厂商向人们提供的已是完整的系统了。
目前我国的可编程序控制器的发展主要面临着三大问题。一是技术层面上的,在国际上可编程序控制器迅速发展的形势下,我国还没有具有自主知识产权,能够参与国际竞争的可编程序控制器产品,原因主要在于我国的整个基础工业还有一定差距,如芯片制造、模具加工等方面限制了我们的发展。二是竞争层面上的,实际上也是一个经济竞争的问题。现在 95% 的国内市场由外国的可编程序控制器产品所占领,中、大型可编程序控制器中,几乎全部由国外几大公司垄断,随着我国使用可编程序控制器领域的不断扩大,市场越来越大,然而国外几大公司几乎每年都会针对市场推出新的产品,一旦人们使用了新的产品后,他们就会逐渐的提高产品市场价格,没有我国自己的自主知识产权的产品,在经济竞争中就只能处于被动。三是市场秩序层面上的,随着我国改革开放的不断深入,特别是加入 WTO 后,我国巨大的市场份额极大的吸引了国外的大公司,他们开拓市场的方法都是采用大范围建立销售渠道,每个公司的分销商、系统集成商都会有数十家,甚至上百家之多,造成了我国的分销商、系统集成商之间的激烈竞争,而这些无序的竞争为国际大公司分而治之、获取稳定的高额利润创造条件。面对这些问题,我们学生要好好学习这门课程。
二、案例教学法的应用
案例教学法是通过一个具体教育情景的描述,引导学生对这些特殊情景进行讨论的一种教学方法。在分析过程中,学生自己提出问题,并自己找出解决问题的途径和手段,从而培养学生独立分析问题的能力和独立处理问题的能力。
诸如案例讲解火力发电系统内的辅助系统的工艺流程的控制多为顺序控制和开关量控制两种。目前用于火电系统控制系统的DCS虽技术日益成熟但近年来其发展日趋缓慢,PLC的产生及发展使其与DCS相互吸收彼此特点,逐步同化,并逐步发展成为新的控制系统――FCS系统,其既保留了原来系统的特性又实现了工业自动化技术的发展,并使数字化、 智能化控制得到进一步的发展和应用,因此其近年来在火电厂的应用日益广泛。
学生一旦确定了问题的解决方法,老师就可以告诉他们在实际组织中的问题是如何处理的,结果是什么,隐去那些可能违反案例分析保密性的内容。此时,有些学生可能会为他们的方案辩解,因为他们已经投入时间和精力研究出了解决方案,所以,有必要重申很少只有一种"正确"的方法去解决问题。培训小组的解决方案比实际的解决方案不好也不坏。
在经验方面,老师可以问一系列问题来突出主要的概念,强化新学到的知识和技能。这些问题应该说出与培训课程的目的密切相关的要点。老师总结讨论的要点,让学生在处理相同的组织问题时加以引用。然后,要求学生描述自己学习中遇到的类似问题,说出如何根据案例分析所学到的知识去解决。
案例研究教学法鼓励学生为案例中介绍的问题寻找可行的解决方法,分析其可行性并解释证明原因。这只有在学生搜寻更多对于他自身来说的新信息并且/或者利用现有资料获取信息的情况下,才会成功。学生必须全面考虑这些信息,并跟案例紧密联系起来。利用案例研究进行学习有两个目的。一是学生认识到某些问题的解决方法,二是最后要检测,哪些重要的关系尤为突出,可以从个案的罕见的步骤和关系出发可以推断出哪些普遍的现象。
三、小结
Abstract: The students have failed to meet the increasing demand standard of enterprises by traditional Java teaching. In order to make students qualified for job requirement, this paper starts from the daily teaching process and assessment method of Java curriculum, and puts forward the modularization teaching, project-driven, theory-sufficient and practical teaching reform program aiming at the needs of enterprises. Practice has proved that the method can effectively stimulate students' interest in learning, improve the efficiency of theory into practical ability, and further shorten the distance between students and enterprises.
关键词: Java课程;教学改革;企业需求;实践教学
Key words: Java curriculum;reform in education;enterprise demand;practice teaching
中图分类号:G420 文献标识码:A 文章编号:1006-4311(2016)34-0161-02
0 引言
Java是1995年由Sun公司(已被Oracle公司收购)组织开发的一种编程语言,现已是Java平台(含Java SE,Java EE,Java ME)的总称。Java具有卓越的网络性,移植性、安全性和多线程等优势,广泛应用于通讯领域,桌面应用程序、web应用程序及嵌入式系统等领域。因此,许多高等院校在课程设置上均把Java程序设计作为核心课程,但传统的教学和考核方式培养出来的学生“重理论轻实践”,无法真正满足企业对Java程序设计人才的实际需求。针对企业而言,企业级程序开发通常具有数据量庞大、属性关联复杂和安全需求高的特点。面临这些要求,为使学生掌握全面的Java程序开发能力,迅速的融入企业开发中,成为目前高等院校计算机专业教学急需解决的重要课题。本文结合多年的Java课程教学实践,分析高等院校Java体系教学的现状及存在问题,提出了面向企业应用的Java课程体系教学改革策略。
1 目前Java体系教学中存在的主要问题
1.1 重理论知识点教学,轻实践能力培养
目前,在很多高等教育机构中,Java课程教学仍旧遵循传统的教学模式。这种教学模式,侧重于理论教学知识点教学,轻视学生的实践能力锻炼。教师在总课时较少的限制下,为了讲完所有理论知识点,完成教学任务,在讲课过程中,Java基础课程只能采用“广播式”教学方法。这种“广播式”教学法,课堂教学以教师讲授为主,学生则是单向接收知识点。这对实践编程能力要求较高的Java学习是致命的。此外,传统高等院校长期侧重理论教学,项目开发实践环节薄弱,学生单纯按照教材上的案例,机械的在计算机上运行验证,缺少思考需求,设计项目、具体编程等企业项目开发的必要环节锻炼。
1.2 教师缺少企业级应用开发经验
首先,受高校人事招聘规则的影响,高等院校在招聘教师过程中,侧重于学历水平高低,缺少对实际项目开发经验的考察,导致高校高校教师虽然具有硕士、博士研究生学历水平,但他们大多缺少大型企业项目开发的实践经验。这种状况,来直接指导学生的实践开发,显然是不适合的。所以,高校教师为了能高质量的进行Java课程教学,必须不断进修学习,积极参与企业实际项目的开发,从理论和实践两个方面提高自身的教学水平。
1.3 Java课程相对独立,关联课程联系不够紧密
目前大部分高等院校的计算机相关专业,虽然把Java课程作为软件开发核心课程,但后续跟进提高课程匮乏。对于Java体系的系统学习,在Java基础课程之后,应开设横向相关课程,如ajax、jQuery、jdbc等和纵向相关课程,如servlet、struts2等具体的实践应用课程。通过后续纵向相关课程和横向相关课程的学习,使学生全面且系统的学习Java技术,提高自身的项目实践经验,避免所学知识与企业项目实际开发需求脱节,提高学生毕业时的求职竞争能力和就职后进修升职的潜力。
1.4 Java教材结构单一
遵循高校教学制度,教师在授课需要指定一本课程教材。据不完全统计,约90%的国内教材内容侧重于理论知识点罗列,实例也仅限于经典算法和常见理论数学问题,课程结构仍停留在学科体系初级阶段。教材内容如此单一,与Java教学注重实践的思想完全不符,造成教师挑选适合教学的课本非常困难,若指定多本教材,又违背高校教材选用制度,造成增加学生负担,不被允许。教材的内容如此单一,导致学生在预习和复习过程中,不能较好的将理论知识点和实践联系起来,最终造成学生Java实践能力不足。
2 基于企业应用的Java教学改革策略
2.1 激发学生对应用程序开发的兴趣
程序开发是一门有很强的系统性和逻辑性的课程,特别是基础理论知识和程序设计中的算法部分,内容比较抽象,不容易被学生接受和理解。这就需要教师在教学中引入生活中的实例,激发学生的学习兴趣,让学生在第一课就对Java技术产生浓厚的学习兴趣。对程序开发有浓厚兴趣的学生,他会全身心地投入到编程学习活动中。其次,通过对Java技术所占的开发市场的份额,公司薪酬,技术发展方向等,让学生认识到学好Java技术对个人职业去向的重要性。
2.2 改革传统教学方式
2.2.1 基于现场编程的项目教学法
在Java的教学过程中,教师应以现场编程的方式,通过小型项目,综合体现相关若干知识点的关联。教师通过现场分析项目,编写代码,调试解决错误,最终运行演示程序,学生可以潜移默化的学习到项目实际开发中的编码思想、格式和调试代码的技巧等。对于较复杂项目,则由教师将学生划分成小组,模拟企业开发流程。根据学生的兴趣对其进行角色分工,如项目经理、系统分析师、测试工程师等,使学生充分体验不同角色的任务和职责。通过项目教学法,不仅使学生在感受到各个知识点之间的关联,更锻炼了项目开发中的团队协作能力。
2.2.2 重视编程基础,加强Java类库教学
在Java教学过程中,不仅侧重Java基础知识的熟练掌握和实践编程能力,而且要注意引导学生建立面向对象的思维方式。在掌握了Java基础知识的前提下,应进一步对学生讲解Java的基本类库。根据本人的项目开发经验和教学实践,学生对基本类库的掌握,是十分必要的。由于Java基本类库内容量庞大,类似于Java开发手册,因此教学过程中,应侧重于讲解开发过程中遇到问题时,如何查阅类库,准确找到相关类并利用相关类的方法、属性,最终解决实际问题。
2.2.3 教学内容灵活多变,不局限于课本
在企业项目开发中,Java涉及的知识点不仅多、散、而且相关知识面广,如数据库、网络通信等方面。现有的国内Java程序设计教材主要侧重基础理论教学,无法保证与现有企业项目需求的同步;而部分外文版类书籍虽内容全面,但又不适合高校课程设定的有限教学学时。在教学过程中,既要让学生熟练掌握基础知识,又能具备高实践能力,就迫使高校教师要结合社会、企业的日益更新的动态需求,结合基础教学内容,不断归纳总结,更新教学方案,提高实践方面的教学质量。
2.3 高校、企业联合培训
为了培养学生独立分析问题和解决问题的能力,大部分高校会对Java课程设定独立的课程设计模块,一般由Java任课教师带领,进行为期一周的实践。虽然高校教师实践经验与企业开发存在一定差距,应将课程设计模块教学与具备一线开发经验的企业或优秀的软件培训公司合作,进行课程设计。这种校企合作方式,不仅有效提高了学生的实践能力,而且拉近了学生和企业的距离,大大增加了学生的就业优势,是一种双赢的合作方式。
2.4 多种形式提高学生的实践能力
2.4.1 成立Java开发小组
由软件教研组教师作为指导教师,引导学生成立Java软件开发团队,通过设计编写小的实用项目、如成绩排名系统、一对一网络通信系统、局域网多人小游戏等,从需求分析、系统设计、建立模型、代码编写、系统测试等开发环节,全面提高学生的实践能力和团队协作水平。
2.4.2 增强校企交流实践
为更高效的提升学生的实践能力,除了校内教学、培训外,高校努力拓展高校与软件开发企业的合作力度,争取更多的学生到软件开发企业去参加实习,真正让学生在实战中获取经验,提升能力。同时,应鼓励学生利用假期时间,主动通过多种方式参与软件开发工作,增强实战能力,为就业打好基础。
2.5 引导学生参加各种公开的比赛
高校应出台相关制度,引导和激励学生参加社会上的各类软件编程竞赛,如itat(全国大学生编程比赛)、robocode(IBM的坦克机器人战斗仿真引擎)等。通过比赛,走出高校,走向社会,不仅提高学生实践开发能力、团队协作能力,而且促进学生对所学知识的认识和理解提提升一个新的高度,认识到程序设计的重要性,也增强学生的自信心和成就感。
2.6 安排教师进行专业课程培训,激励教师多参与企业真实项目,提升教师自身水平
Java项目开发涉及知识点多、杂,且关联的知识面广,实际项目开发经验非常重要,而获取项目开发经验主要依靠一线的开发和实践,这点确是高校教师的弱项。针对高校教师缺少Java项目开发经验的问题,高校应尽可能的创造条件,鼓励教师走出高校,走进企业,到企业一线去学习、锻炼,努力提升自己的软件开发实践经验。
3 案例分析
河北农业大学计算机应用专业,自2006年至今,在教学上,采用现场编程演示的项目教学法和加强Java类库的基础教学,并在后期实训阶段积极促进校企合作培训和定向专业培训。 通过多年教学实践,不仅学生们普遍认为,通过本文的教学方法能够有效的拉近自身与企业的距离,在找工作中,更容易与企业沟通,并在入职工作后,能迅速融入到开发团队;而且相关企业反馈,这一系列的教学改革方式,能有效的缩短学生入职后的培训周期,节省很大的培训成本和时间成本。最后,作为校方高校教师,通过参与校企合作的培训,通过提高自身的实践能力,更加有效地促进Java基础教学的教学效果。
4 总结
本文分析高等院校的Java体系传统教学中需改进的方向,提出Java教学中,一定要以提高学生的实践能力为中心,以此展开面向对象编程方式培养的路线。在Java教学中,通过项目教学法、加强类库学习、校企合作培训等多个方面提出具体改进方式。通过本文提出的改革策略实践,发现这些方法有助于培养编程实践能力强,有良好团队合作能力,进入企业快速适应企业实际开发要求的学生。
参考文献:
[1]时雷,虎晓红,席磊,张浩.Java程序设计课程教学分析[J].计算机教育,2010(14).
[2]顾鸿虹.《Java面向对象程序设计》教学改革方案的探讨[J].现代计算机,2012(6).
关键词:PLC 触摸屏技术 关系 认识
笔者所在学院去年组织专业教师对企业在职维修电工进行高技能人才培训,培训中的主要课程就是PLC、触摸屏技术及应用。但在教学过程中,学了PLC后,再学触摸屏技术时,会使学员产生错觉:PLC编程已经较复杂了,触摸屏又要画图又要编程,一会PLC一会又触摸屏,它们之间换来换去,让人搞不清是什么关系。其实出现这种问题,笔者认为是没有把PLC和触摸屏的核心实质讲清,只是照本宣科,按部就班,不善于总结,没抓住要害。以下是笔者的一点教学体会或经验,供同仁参考,以便在今后的教学中受益。
一、认识PLC
笔者认为可以很形象地用一句话总结PLC的功能,那就是――PLC是软开关的“游戏”。工厂企业中各种生产设备,都是按照规定的工序一步步完成的,我们通过对PLC内部各种软开关元件如X、Y、M、T、C、S、D串并混联和功能指令的逻辑编程,就可以实现生产过程中的控制,完成设备的操作功能。举个简单例子,一台电动机的Y-启动功能的PLC控制如图1所示。
图1
二、认识触摸屏
那么触摸屏是什么呢? 我们对智能手机很熟悉,手机的屏幕就是触摸屏。我们正是通过它上面的各种特定图标来与手机互动交流(实质就是控制),大家觉得是不是很方便,而且漂亮呢? 现在许多数控机床设备等都实现了触摸屏编程和控制。
三、认识PLC与触摸屏的关系
同样的道理,PLC也可以与PLC专用配套的触摸屏(又称GOT)结合起来使用,可以在触摸屏上绘出各种形式的象形图标,并把图标定义为(必须设定)PLC控制某个实物开关及软开关,这样就可以实现在触摸屏上点击该图标控制机器设备了。
比如图1中PLC控制的电路用到启动按钮SB1并且对应的软元件是X0,用M0来替代;停止按钮是SB2对应的软元件是X1用M1来替代;这个时候我们不用按钮,用触摸屏把所需要的开关,用触摸屏相应的软件画出两个按钮开关(相当于编辑一个触摸屏程序),然后传到触摸屏当中,当然这个时候触摸屏的一系列开关地址要和开始编辑PLC程序中输入的地址一样,否则实现不了其功能。这时把触摸屏和PLC用数据线连接起来,就可以控制电路了。倘若既要实物形开关,又要触摸屏的触摸开关,那么只需在图1梯形图中X0和X1上分别并联上M0和M1即可。当然更复杂一点的,也可以用触摸屏来设定修改PLC上原来所编辑的程序的一些参数。
图2
总之,触摸屏主要是供操作人员进行人机对话用的。触摸屏与PLC通讯一般是主从关系,即触摸屏从PLC中读取数据,进行判断后再显示。触摸屏与PLC通讯一般不需要单独的通讯模块,触摸屏与PLC之间的通讯没有任何难度。同时触摸屏与PLC连接的主要结果是省略了按钮、指示灯等硬件。PLC不需要任何单独的功能模块。你只要在PLC控制程序上,做上内部按钮(中间位M),触摸屏上组态的触摸按钮与该中间位对应就可以了,触摸屏是PLC控制柜外部的设备。
这次数控中级培训,主要是对pa系统的学习,内容有车床,铣床。暑假之前主要练习数控编程,而这个学期偏向于机床操作。通过电脑编程模拟和下车床操作,以及加工零件。我对数控中级的学习有了一定的掌握。
对于刚开始的编程理解,我个人还是比较感兴趣,从当初的一知半解到现在熟悉运用每个命令,并理解其含义,都是自己每天不断的摸索和老师耐心的教导息息相关。主要总结以下几点:
一、对数控编程和模拟的理解和运用
我很荣幸能有这么好的老师来教我们数控编程,其实学习最主要的还是靠自己去多练,但关键的时候有老师指导,这样还是进步快点。特别是刚开始接触编程和机械加工的时候,有老师指导进步特别快。记得8月9日那天,老师开始讲编程的过程,特别对经常使用的代码给介绍出来,然后对点位的理解和计算。对模拟好的零件进行模拟加工。通过这些知识点的学习,我才渐渐的理解数控编程的一些基本要领。机床上对刀是我之前遇到的最大难题,这是由于命令使用不习惯,和基本感念理解不够透彻,不过通过后面的反复练习,现在已经熟悉掌握了模拟系统。如今已经能够看懂图,知道走刀路线。以及涉及到的点位能够进行换算。
二、实际加工的学习方法和掌握程度。
对于机床的操作,我总感觉自己练习不够,特别是对零件加工花的时间比较多,还有实际对刀也掌握不够好,虽然现在已经能把零件给加工出来,而且尺寸也把握得当,但时间控制方面还是不够好。这主要还是自己的操作熟练程度不够。
车床上,对刀和加工现在我已经能够在规定的时间内完成了,并且尺寸也能达到所要求,但我认为还是因为自己花在车床的时间多点。而铣床,相对来说,熟练程度不够好,尽管知道怎么去加工,但尺寸的控制和时间的把握不够好。不过在后面的不断实践和练习中,我得到了很好的提升,能够进行零件的加工,对机床出现的小问题也会去解决。特别是在最后那段时间,我已经能够加工零件。而且尺寸已能把握好,达到了图纸上的要求。
三、理论知识的学习和理解
对于老师发的资料,我已经认真的去学习,当然,相对要记住每个知识点,还是有一定的差距,但我有信心能把理论知识学习好。我认为最主要的是去理解每个知识点,而不是死记硬背,因为许多的理论知识都会在实际操作中用到,而且必须掌握。只有完全的理解理论上的知识,才能更好的去完成实际的操作。比如机床上的按钮,走刀路线,刀补等。都涉及到许多理论知识。只有把理论知识吃透了,才能在加工过程中认真的去遵守规则,更安全的完成零件的加工。
四、最大的收获
对于数控编程和加工学习的这段时间里,我认为最大的并不是自己所学到的知识,而是学习的方法,很荣幸得到老师的帮助,在我学习感到困惑和吃力的时候,他们能更好的与我沟通,当他们对我讲到学习这门课程的用处,以及以后工作的方向时,我感到非常值得。进入大学后,已不再是高中时代的应试教育。每个人都应该找到适合于自己学习方法。只有掌握好的学习方法,才能够学好自己的课程。而在数控学习的这段时间里,我也不断的去摸索,感觉收获不少。
主要是对pa系统的学习,这次数控中级培训。内容有车床,铣床。暑假之前主要练习数控编程,而这个学期偏向于机床操作。通过电脑编程模拟和下车床操作,以及加工零件。对数控中级的学习有了一定的掌握。
个人还是比较感兴趣,对于刚开始的编程理解。从当初的一知半解到现在熟悉运用每个命令,并理解其含义,都是自己每天不断的摸索和老师耐心的教导息息相关。主要总结以下几点:
一、对数控编程和模拟的理解和运用
其实学习最主要的还是靠自己去多练,很荣幸能有这么好的老师来教我数控编程。但关键的时候有老师指导,这样还是进步快点。特别是刚开始接触编程和机械加工的时候,有老师指导进步特别快。记得月9日那天,老师开始讲编程的过程,特别对经常使用的代码给介绍出来,然后对点位的理解和计算。对模拟好的零件进行模拟加工。通过这些知识点的学习,才渐渐的理解数控编程的一些基本要领。机床上对刀是之前遇到最大难题,这是由于命令使用不习惯,和基本感念理解不够透彻,不过通过后面的反复练习,现在已经熟悉掌握了模拟系统。如今已经能够看懂图,知道走刀路线。以及涉及到点位能够进行换算。
二、实际加工的学习方法和掌握程度。
总感觉自己练习不够,对于机床的操作。特别是对零件加工花的时间比较多,还有实际对刀也掌握不够好,虽然现在已经能把零件给加工出来,而且尺寸也把握得当,但时间控制方面还是不够好。这主要还是自己的操作熟练程度不够。
对刀和加工现在已经能够在规定的时间内完成了并且尺寸也能达到所要求,车床上。但我认为还是因为自己花在车床的时间多点。而铣床,相对来说,熟练程度不够好,尽管知道怎么去加工,但尺寸的控制和时间的把握不够好。不过在后面的不断实践和练习中,得到很好的提升,能够进行零件的加工,对机床出现的小问题也会去解决。特别是最后那段时间,已经能够加工零件。而且尺寸已能把握好,达到图纸上的要求。
三、理论知识的学习和理解
已经认真的去学习,对于老师发的资料。当然,相对要记住每个知识点,还是有一定的差距,但我有信心能把理论知识学习好。认为最主要的去理解每个知识点,而不是死记硬背,因为许多的理论知识都会在实际操作中用到而且必须掌握。只有完全的理解理论上的知识,才能更好的去完成实际的操作。比如机床上的按钮,走刀路线,刀补等。都涉及到许多理论知识。只有把理论知识吃透了才能在加工过程中认真的去遵守规则,更安全的完成零件的加工。
四、最大的收获
认为最大的并不是自己所学到知识,对于数控编程和加工学习的这段时间里。而是学习的方法,很荣幸得到老师的帮助,学习感到困惑和吃力的时候,能更好的与我沟通,当他对我讲到学习这门课程的用处,以及以后工作的方向时,感到非常值得。进入大学后,已不再是高中时代的应试教育。每个人都应该找到适合于自己学习方法。只有掌握好的学习方法,才能够学好自己的课程。而在数控学习的这段时间里,也不断的去摸索,感觉收获不少。
写求职简历,是java求职者进入职场的第一课。下面是小编为大家精心推荐的java求职简历范文模板,希望能够对您有所帮助。
java求职简历范文模板(一)姓名:吴XX
性别:男
电话: 学历:本科
邮箱:地址:
求职 意向
java软件工程师
掌握技能
1.熟练Core Java编程,有编写注释的习惯;
2.能熟练的整合Spring+Struts+Hibernate(SSH)三大开源框架;
3.能熟练的应用各种常见的设计模式:工厂模式、单例模式、缺省适配器模式、不变模式、装饰模式、模式、MVC、SpringIoC等;
4.熟练应用Oracle、MySQL等关系数据库编程技术;
5.熟练使用JSP、HTML、JSTL、EL等表现层技术,掌握JSF技术;
6.熟练使用WEB服务器Tomcat、JBoss,IDE工具Eclipse进行开发;
7.能熟练应用SpringIoC/AOP/ORM等各种技术,了解EJB及WebService技术;
8.掌握XML语言、OOA/D、UML图、CVS、Log4j,了解JavaScript、Ajax等技术;
9.掌握Socket编程,了解TCP/IP、UDP、Http、Telnet、FTP等协议。
项目经验
项目名称:NetStore网上购书系统
项目描述:该系统分为首页、用户管理、购物车管理、订单管理、退出5个模块。首页模块实现了模糊分页查询、分类分页查询等功能;用户管理模块实现了登录、注册、修改、查看信息等功能;购物车模块实现了查看、购买、修改图书数量等功能;订单模块实现了查看、删除等功能.
责任描述:个人独立完成了整个项目设计,开发,测试等。此系统整体采用MVC模式的Struts框架,持久层使用的是Spring的 HibernateTemplate实现,数据源利用的是SpringIoC注入;模型层严格按照JavaBean规范要求;用Struts进行流程的控制,并实现了国际化,JSP用纯标签进行页面显示。为达到用户名唯一的目的用户注册采用Ajax技术进行后台校验。运用SpringIoC的注入对各层解耦,大大提高了程序的可扩展性,易于维护。
开发环境:数据库:MySQL;
JAVA应用服务器:tomcat6.0;
技术选型:Spring、Struts、Hibernate、JavaBeans、Jsp。
项目总结:通过这个项目使我对MVC模式的认识更加的清楚,看到了SpringIoC在解决程序松散耦合方面的强大之处。JSP页面纯标签开发所带来的方便以及页面的美观。
项目名称:NETCTOSS电信运营支撑系统
项目描述:该系统后台主要由数据采集系统和数据整合系统提供支持,前台分为用户自服务管理,资费管理,用户管理,管理员管理,帐单管理,帐务管理6个模块。
责任描述:在数据采集系统、数据整合系统中,主要利用J2SE技术对原始计费信息日志进行定时解析,整理成清单,并保存到服务器的数据库 t_detail表中,在保存过程中实现对信息的备份管理和日志记录。之后再利用PL/SQL由t_detail表整合出日表t_day_x,月表 t_month_x,年表t_year_x三种表。在前台主要完成了用户管理、资费管理等模块,采用 Struts2.0+Hibernate+Spring架构实现,大大降低了模块间的耦合,并编写了文档。
开发环境:数据库:Oracle;
Java应用服务器:tomcat6.0;
技术选型:Struts2.0、Hibernate、Spring、JSP、J2SE、Log4j等。
项目总结:这个项目不仅让我掌握了Struts2.0的应用,也加深了我对其他技术的理解以及编写文档的好习惯和重要性。
项目名称:BBS在线论坛管理系统
项目描述:该系统主要由首页、用户管理、帖子三个模块构成,首页实现了模糊分页查询、帖子分类、最新帖子、最新留言等功能;用户管理模块有登录、注册、修改信息、查看信息、积分功能等基本功能;帖子模块有发表帖子、留言、查看帖子、修改帖子、删除帖子等基本功能。
责任描述:个人主要完成了用户管理模块。持久层使用的是Hibernate技术实现了登录、注册、修改、查看信息、模糊查看等功能;控制层使用的是 Struts的DispatchAction实现页面跳转,JSP页面主要利用JSP标签和Struts标签完成。用户注册和登录都使用form表单来获取数据,并且在页面用JavaScript技术对数据进行初步的校验。
开发环境:数据库:Oracle;
Java应用服务器:tomcat6.0;
技术选型:Struts、Hibernate、JavaBeans、Jsp。
项目总结:通过这个项目让我认识到团队合作的重要性,面向对象的设计思想以及Hibernate框架的简单性,加强了对JSP标签、Struts标签的认识。
项目名称:BAM银行帐户管理系统
项目描述:该系统是基于C/S架构的帐户管理系统。
责任描述:独立完成了整个系统的开发。采用GUI实现用户界面来采集数据,实现了用户开户、登录、转帐、修改用户信息、查看资产排名等功能;数据库采用MySQL存储信息,DAO层利用JDBC实现。
开发环境:数据库:MySQL;技术选型:GUI、JDBC、JavaBeans。
项目总结:这个显目让我对软件编程产生了更浓厚的兴趣,对JDBC访问数据库的技术使用更熟练以及有了对C/S架构的深入认识。
教育背景
2005/9-目前湖南城市学院电子信息工程专业本科
收获:锻炼了我的交往能力,自学及适应能力,并且自学了J2SE。
2008/6-2008/11加拿大Tarena外企IT培训公司java高级软件工程师培训
收获:掌握了基于Java EE的 Web编程等各种技术,加深了对软件开发的兴趣,对工作有了新的认识。
大学经历
2006/9-2007/2学校二级奖学金
2006/2-2006/7学校三级奖学金
收获:它使我有了更充足的学习动力,并且让我开始寻找自己的职业方向。
2008/4-2008/5组织了一次电子竞技比赛
2006/9-2007/8其间担任过两次家教
收获:这锻练了我的组织能力和处理事情的逻辑能力,让我认识到知识的宝贵。
个人评价与自我简介
技术:熟练使用SSH三大框架和各种常见的设计模式进行J2EE的开发,熟练应用数据库知识,有良好的开发习惯和设计思路,并积累了1年左右的项目开发经验。
性格:学习能力和对环境的适应能力强,思维敏捷,分析能力强,认真细致、有责任心,做事有计划,善于沟通与交流。
兴趣:有各种兴趣爱好,如打篮球,乒乓球,游泳,钓鱼,下棋,玩竞技游戏等。它们让我的生活充满乐趣和活力,也让我认识了更多的朋友。
java求职简历范文模板(二)基本信息
王磊(男,23岁,大专学历,应届毕业生)
婚姻状况: 未婚
民族:汉族
身高: 180
现居住地: 石家庄市
户口所在地: 石家庄市
求职意向
期望工作性质: 全职
期望工作地点: 石家庄市,北京市
期望从事行业: 计算机软件
期望从事职业: 软件工程师,互联网软件开发工程师
到岗时间: 面谈
期望月薪: 3000元-3999元 (税前)
教育经历
毕业学校: 石家庄联合技术职业学院 时间: 2005-09至 2007-07
专 业: 计算机科学与技术 学历: 大专
专业描述: 主要学习了C及C++语言、JAVA语言、操作系统、数据结构、软件工程、计算机网络、面向对象程序设计、组装维修等。
工作经验
公司名称: 河北新龙科技集团
职位名称: java程序员 工作时间 : 2006-11至2007-10
工作描述: 项目名称:药品进货管理系统
项目简介:项目为了提供医药公司进货管理系统其内容如:实际采购情况、客户管理、系统管理。
开发工具:BEA workshop for Jsp、Mysql5.0、Tomcat5.5、SVN、PowerDesigner。
采用技术:采用行业最流行技术Struts+Hibernate+Spring分层架构模型、基于MVC2程序架构、采用了Mysql数据库管理系统。
项目技术:
1、系统分为表现层、控制层、业务逻辑层、DAO层和最终数据库五层架构。
2、系统中大量采用了模式、门面模式、模板模式等经典设计模式。
3、项目WEB层采用当前流行的MVC模式,Struts框架(B/S),配合使用JSTL和HTML页面元素,使用AJAX技术实现异步无刷新,引用Json实现数据异步传递。
4、持久层使用轻量级映射框架
Hibernate。
5、服务层面向接口编程,使用模式,由Spring托管,DAO层使用Spring
提供的Hibernate 模板访问数据库, POJO类由Middlegen生成,引用BeanUtils包进行DTO对象与POJO之间的转换,由Spring托管Struts的Action,Service层 ,DAO层的接口实现类。
6、系统通过POI实现EXCEL导入导出功能、通过osworkflow实现工作流平台Quartz调度作业计划、log4j记录系统日值等。
负责模块::品种库、品牌/商标管理、实际采购情况、盘点维护模块的编码工作
项目名称:新闻系统
运行环境:TOMCAT5.5.20 应用服务器,Windows 2000
开发工具:MyEclipse Enterprise Workbench 5.1.0 GA,Macromedia Dreamweaver MX
采用技术:HTML、JavaScript、FCKeditor、Struts、基于Moduel2的MVC程序架构、基于Web开发的组件应用,SQL Server数据库管理系统(采用JDBC连接)。
项目描述:整个项目由前台的公告显示模块和后台管理模块组成。基于http协议的B/S结构WEB应用程序。采用MVC2架构、Web界面、四层结构(Browser、Web Container、J2EE Server、Database)的项目分析、设计和开发。
数据库系统:JDBC、MSSQLServer实现,在MSSQLServer、Oracle上可迁移。
责任描述:公告的、修改、删除、当天公告的查看;前台页面的显示。
项目名称:企业即时通软件
项目简介:企业即时通(Corperation Messager)软件是一款供企业或公司内部使用的网络聊天工具,主要用于员工之间的即时通信与交流。它主要由服务器端程序和客户端程序两部分组成,整体采用Java平台进行开发并实现,用户数据选用Microsoft SQL Server 2000进行统一管理。
项目技术:采用JDBC连数据库,采用C/S架
公司名称: 北京京师木铎有限公司
职位名称: java工程师 工作时间 : 2007-12至今
工作描述: 河北省违法犯罪综合信息系统
项目简介:系统主要分为 提示信息,采集信息,查询,案件串并,统计、考核,系统设置六个子系统。(将原来的C/S结构升级为B/S结构并整合数据结构)
提示信息:是将采集信息中需要上报公安部信息统一显示的模块。
采集信息:是对案件,违法人员,线索,协查通报,通缉令信息的录入修改。
查询: 分为组合查询,全文查询,自定义查询,快速查询,其中全文查询是将数据库中各个字段组合成一个或多个,类似百度的搜索功能,它的缺点是不能与录入信息同步。
统计: 分为自由统计,和只是报表统计。
考核: 是对采集信息的合格率展现个用户。
系统设置:数据字典的维护,权限管理,
开发工具:MyEclipse 5.5、oracle 9i、IBM websphere 6.0、CVS。
采用技术:采用较稳定的Strtus架构模型、基于MVC2程序架构、采用了oracle 9i数据库管理系统。
项目技术:
1、系统分为表现层、控制层、业务逻辑层三层架构。
2、项目WEB层采用当前流行的MVC2模式,Struts框架(B/S),配合使用struts标签和HTML页面元素,使用AJAX技术实现异步提交请求无刷新,及大量的javascript,dwr框架。
负责模块:证据库的实现,图片上传功能,线索,协查通报,通缉令,快速查询,组合查询,自定义查询,全文查询的维护,其中自定义查询是按照原来的思路新的技术重新实现。
培训经历
培训课程: 美术 培训时间: 2004-06 培训时长: 1年
所获证书: 培训机构: 奇石艺术学校
培训描述: 素描、速写、水粉
java求职简历范文模板(三)个人概况
姓 名:xxx
性 别:x
年 龄:x
学 历:本科
毕业院校:xxx
专 业:xxx
电子邮箱:xxx
联系电话:xxx
教育背景
毕业院校:xxxxx
主修课程:汇编语言程序设计、JAVA程序设计、数据库原理、操作系统
英语水平:通过国家六级考试。有较强的阅读和翻译能力,能进行日常英语对话。
计算机水平:通过全国计算机等级考试三级网络技术。熟练操作OFFICE办公软件。
获奖情况
~年至~年上学期——校二等奖学金;
~年至~年下学期————校二等奖学金;
~年至~年下学期——校英语单科奖学金。
实践与实习
~年上学期——与同学共同开发myfan网,完整地学习了网站的建设流程和相关技术。
个人技能
熟悉网站开发流程,开发文档格式;
熟悉MVC体系结构模式、C/S模式,掌握面向对象的设计开发思想;
熟练掌握JSP、Servlet、JavaBean、Struts、Hibernate等相关建站技术,熟练运用HTML、CSS、XML、JavaScript等页面控制技术;
熟悉UML,了解PowerDesigner等建模工具;
熟练掌握SQL语言,MySQL的设计和构建过程及相关维护,了解Access、MSSQL、Oracle等常用数据库;
熟练运用Eclipse等开发工具,Apache、JBoss等服务器开发平台;
能在WindowsServer~操作系统,上搭建网站平台及进行相关维护,了解RedHat、FreeBSD等Linux操作系统。
求职意向:JAVA软件工程师
个人简介
对编程艺术的热爱和信息网络的痴迷让我满怀激情地投入IT行业,希望能为贵公司接纳并成为一名优秀的员工,在工作中实现自己的价值。希望有朝一日能成为一名优秀的IT技术专家,与IT精英们一起为社会的进步做出最大的努力。
看过“java求职简历范文模板”的人还看了:1.java个人简历范文
2.java简历范文综合经验
STEAM教育是在美国提出的STEM教育基础上衍生而来,即加强K12关于Science(科学)、 Technology(技术)、Engineering(工程)、Arts(艺术)、Maths(数学)的教育。同样源自于美国的Maker Movement (创客运动),最早是DIY,自己动手做,后来加入科技元素,制作电子设备,之后又融入了设计思维、互联网迭代思维,制作样品,不断改进。
儿童机器人课程是以拼插积木、教育机器人套装或零部件为操作材料,以激发孩子探索欲望,培养孩子创造性思维,提升孩子综合素质(能力)为目标的操作类科技课程。
该课程被誉为STEAM教育的最佳诠释,同时也是创客(Maker)教育的主力课程。
机器人课程不仅涉及科学、技术、工程、艺术、数学五个学科知识,更提倡一种全新的教学方式:孩子是课堂的主角,让孩子自己动手完成自己感兴趣并和生活相关的项目,从动手操作完成项目的过程中学习各种学科及跨学科关联的知识,最终希望孩子创造和迁移能够应用于真实生活的知识,从而实现孩子综合能力的提升。
STEAM教育特别是创客教育,在国内正经历了准备期和探索期(2010年~2015年),正式进入发展期(2016年),洪恩作为国内知名教育品牌,顺应时代需求,响应国家政策,自2013年开始集中优势研发力量,联合多家高校及科研单位,全面布局机器人和创客教育,最终形成具有自主知识产权和核心竞争力的“洪恩儿童积木建构与机器人活动方案”。
聚焦核心 创新模式
洪恩教育作为一家教育研发型企业,聚焦儿童教育课程研发这一核心竞争力,经过三年的项目开发和运营实践,形成覆盖3~12岁的“洪恩儿童积木建构与机器人活动方案”社培课程体系。
经过不同模式的实体校正,最终形成标准化、高适应性的洪恩儿童机器人教育整体解决方案。
统一的装修风格和VI体系,标准化的教学装备、课程方案、教学方法、管理模式,为洪恩儿童机器人学校的标准输出战略,打下坚实的基础。
品牌方案 标准输出
2015年5月,历时两年精心打造的“洪恩儿童机器人学校”重型快艇,成功亮相中国特许加盟展览会(北京站),以“品牌+方案”的新颖授权合作模式赢得关注,创下展会现场签约3家合作伙伴的佳绩。
其中“湖北襄阳博望教育”有幸成为洪恩儿童机器人学校首家合作伙伴,该机构也不负众望,2015年9月在总部的指导下顺利完成洪恩儿童机器人学校“品牌+方案”的标准输出,并在2016年元旦前成功拿下10个班的招生业绩,充分证明“洪恩教育”强大的品牌影响力和洪恩儿童机器人课程标准的可复制性。
2015年11月中国上海国际童书展(CCBF)上,洪恩儿童机器人教育整体解决方案充分展示了其服务年限长、年龄跨度大、操作简单易复制等特点。向下可以衔接亲子中心,延长其忠实客户服务年限;向上可进入少儿社培机构作为学科补充,增加学员的单位产出,吸引了大量儿童培训机构、亲子机构、绘本馆经营者咨询,现场签约4家,全国洪恩儿童机器人学校数量已经达到11家。
2016年4月,广州国际玩具及模型展成为洪恩儿童机器人学校项目招商的第三站,与此同时,全国签约合作伙伴已达17家,其中包括广州地区的2家学校。
这一次展会以走访老客户、开发新客户为主要目标。出人意料的是,在专业的玩具展上机器人教育项目也得到热捧,意向客户竟达到40家之多,充分证明“大众创业,万众创新”的大势所趋。
把握节奏 持续创新
经过三站的招商推广,洪恩儿童机器人学校全国分校签约数量攀升至22家,面对如此好的招商势头,洪恩人并没有盲目追求量的积累,更没有在自身强势传统渠道(培训渠道和幼教渠道)做二次开发,而是选择保持自己的节奏,从课程研发,通过持续学习不断优化课程;从自营校区,不断总结成功经验形成标准;从市场招商,严把客户质量;从教学培训,加强校区运营、教学管理、招生市场的切实落地;从入校督导,再次增强分校区在当地的竞争力,力争开一家火一家。
2016年4月11日,万科教育(东莞分公司)和洪恩教育正式达成合作,万科东莞教育营地项目正式引入洪恩儿童机器人课程,共同推进教育培训社区化进程。
全新的合作模式,更加细化的市场格局,时刻提醒洪恩人不能保守,只有不断学习、创新、提高才会有更大的市场空间和抗风险能力。
洪恩授权合作业务稳步上升的同时,其机器人项目的研发也从未放松,不断地创新和优化课程。从2013年开始研发到现在,已逐步形成了2~16岁幼儿到少儿科技教育的全系列课程。
2016年年初的“洪恩幼儿园积木建构与机器人活动方案”,将STEAM教育直接引入幼儿园常规课程,从幼儿园开始培养孩子和家长的创新和机器人意识。
在之后的活动中 ,学校将“洪恩儿童积木建构亲子活动方案”和“空中机器人”课程导入了自营校区,直接将洪恩儿童机器人教育的服务范围向下延伸至亲子教育阶段(2岁),向上延伸至初中阶段(16岁),实现了2~16岁科技教育的全面覆盖。
统筹全局 整体升级
如果说一年前的“洪恩儿童机器人学校”是儿童科技教育领域的一艘重型快艇,那么一年后的它将升级为科技教育的驱逐舰。从课程的覆盖年龄范围到授权合作校区的跟踪服务,从学员的展示平台到师资培训和储备,进行整体升级。
通过对授权合作分校半年的跟访,这些校区主要存在两大问题(这也是社培类项目共同存在的问题),一是教室空置时间,二是师资的稳定性。
针对教室空置的问题,洪恩机器人学校对课程进行了重新整合和延伸开发。学校将服务范围下延至亲子教育阶段,能有效解决部分教室、器材和老师的空置,让教室在下午5:00之前有课可上;将服务范围上延至16岁,能有效拓宽项目的接口,确保授权分校可以用洪恩的课程打开幼儿园、小学、中学的科技课程派师服务及机器人竞赛合作。
针对师资团队不稳定、招不到专业人才的问题,洪恩教育开放自己的招聘平台,统一为地方分校提供招聘信息服务;建立儿童机器人教学与培训实践基地,与专业技术院校和师范类院校建立合作,为对口专业学员提供就业岗位推荐和培训机会,从师资源头解决分校的后顾之忧。
2016年洪恩教育在做强儿童机器人教育培训项目的同时,其家庭教育机器人和玩具机器人也完成立项,全面布局家庭、社会、学校三位一体的机器人教育产业。
相关链接
软件心理学的发展史
软件心理学发展大致可分为两个阶段[7],第一阶段是软件心理学的创立和初探阶段,第二阶段为软件心理学的丰富和发展阶段。两个阶段的主要区别是理论基础、研究对象和研究方法不同。20世纪70年代为软件心理学研究的第一阶段,研究学者主要由计算机科学家组成。1971年,Weinberg出版了《程序开发心理学》一书,开辟了软件心理学的新领域。该书从人类行为、社会行为和个人行为等3个角度审视程序开发。但是温伯格坦言,该书中的许多思想未找到“科学依据”,没有很好的理论基础。该阶段采用实验手段研究的代表是Shnei-derman,他采用内省、案例研究和实地研究等手段,对编程风格、项目组织、团队进程、程序员能力倾向和人格特质因素等方面进行了探索[4]。但是,Shneiderman的实验缺乏认知模型的支撑,面临设计问题简单、编程环境失真等问题。20世纪80年代至今为软件心理学发展的第二阶段,吸引了计算机科学家、心理学家和人素工程学家的参与。该阶段以认知模型的构建为特征,采用客观的行为分析作为严格试验方法的补充。从认知心理学引进理论框架,并将其研究成果引入到软件工程中,以促进软件工具的研发,改进编程活动。该阶段弥补了第一阶段的不足:研究对象扩展到专业程序员,而第一阶段的研究对象几乎都是学生;考虑了软件开发的集体性及协作性;所涉及的活动不只是编码,也研究需求规格说明及软件设计;考虑了语言和编程范式对编程活动的影响。纵观软件心理学的发展史,软件心理学的研究方法渐趋成熟、研究内容逐渐丰富、研究学者日益多元化。软件心理学的发展过程是软件工程与心理学融合程度逐步提高的过程。
软件心理学研究体系
从学术文献来看,软件心理学研究的热点主要集中在7个领域:程序设计的认知机制、程序理解理论、专家与新手的差别、程序员人格特质与绩效的关系、程序员情感与绩效的关系、程序员能力倾向测试和人机界面设计。笔者分析了各项研究内容之间的关系,如图1所示。软件心理学的研究从3个层面展开:第一层面为认知活动机理层,第二层面为根源因素层,第三层面为应用层。第一层面从软件生命周期的核心活动出发,研究其认知机制,主要包括软件设计活动的认知机制,以及编码、测试、维护中的程序理解机制。第二层面在第一层面的基础上,研究影响主体绩效的根源因素,一方面研究情感、人格特质对主体绩效的影响;另一方面从“主体的能力是由学习和训练得来的”这一观点出发,研究专家与新手在知识、策略和元认知方面存在怎样的差别。第三个层面是将前两个层面的研究成果应用到软件工程相关的活动中,如将根源因素层的研究成果与心理学测量方法相结合,研究程序员能力倾向测试,用于选拔适合从事软件开发的人员。将程序员的行为和认知机制的研究结果用于指导软件开发环境的人机界面设计。将专家与新手的差别的研究成果应用于软件工程人员的教育与培训。软件心理学在人机交互中主要应用于用户建模及可用性的设计与验证,关注用户描述,对用户的感知、认知和动作进行建模,并构建感知-认知-动作的集成建模。该方面的应用旨在了解和支持人与计算机的交互,使设计的软件或系统的可用性更高。该领域是软件心理学与计算机科学结合最成功的研究领域,存在的评述较多。本文接下来对前6个领域的研究现状及其对软件工程领域的启发展开论述。
主要研究进展
1程序设计的认知机制
研究进展程序设计认知机制主要包含3类元素:知识、策略和过程组织。程序设计知识分为句法知识、语义知识和图式知识[5]。前两类知识与程序语言紧密相关,而图式知识是程序设计的核心。图式(Schema)是主体内部的一种动态的、可变的认知结构单元,是由旧知识组成的无意识的心理结构。图式理论的核心思想是,将主体过去的经历形成模式,在解决问题的时候无意识地匹配和调用与目前情况相符的模式。图式的存在使得人类的认知具有自动加工的特点,同时也是认知失误的重要原因[6]。程序设计图式包括编程图式、结构图式和问题域图式[13]。编程图式是编程领域特有的图式,包括编程基础知识和算法知识等。结构图式是生成和理解文本的重要知识,如1个功能程序的结构图式由3个角色组成:输入、计算和输出。问题域图式是程序要解决的特定问题的领域知识。根据图式理论,程序设计的核心活动是相关图式的激活。程序设计过程就是程序员激活储存于记忆中的适合解决当前问题的若干图式,并对这些图式进行组合的过程。以图式为核心的程序设计模型以Adelson模型[7-9]和Détienne模型[10]为代表,将程序设计认知活动视为图式检索、图式匹配、解决方案评价、调试和通用化[7,8]的过程。程序设计的策略[11-13]包括:①自顶向下和自底向上。自顶向下是指将总体问题逐层分解为小问题解决的策略,自底向上是从细节到总体逐步构造的策略。②向前和向后。向前设计模式即程序解决方案按照执行方向设计,向后设计模式即程序解决方案按照与执行相反的方向设计。③广度优先和深度优先策略。广度优先策略是先解决完一个层面的所有问题,再解决低一个层面的问题,深度优先策略是将一个问题从上到下解决完成后再解决其它问题。④过程式和声明式策略。若编程方案是规程控制,则是过程式的。若编程方案用于声明静态属性,如对象、角色等,则是声明式的。⑤心理模拟,用于评价问题解决方案。程序员在不同情境下会使用不同的策略,策略的触景包括编程语言的认知维度[14]、编程环境特征、问题类型和程序员自身思维方式和已获得的图式,程序员趋于选择自己熟悉和使用频率高的策略[15]。程序设计的过程组织有两种方式。一种为结构化组织方式,认为程序设计是按照自顶向下、宽度优先的方式组织的。但是实验发现,实际的程序设计过程并不是严格按照这种结构化的过程进行的。程序员设计或编程过程中会出现机会性的偏离[16],即程序员(设计师)以实现目标为第一要务,不受规则的限制,自顶向下和自底向上、深度优先和宽度优先策略都会用到,取决于具体的情景。存在许多支持该模型的实验研究结果,如程序员有时会优先实现他认为最重要的功能。这种认知策略会被多个因素触发,如资源限制。当工作记忆超出容量时,结构化的工作模式就会失效,由宽度优先策略跳变为深度优先策略,产生机会主义偏离,即机会主义组织方式。
应用与启示从程序设计认知机制可以看出,良好的知识结构(设计模式)、恰当的策略和过程组织将促进设计工作的开展。基于此,可设计出更适合程序员使用的软件开发工具。在软件开发环境中提供可视化的结构图式和知识图式支持,对程序员具有重要的辅助作用。如在面向对象编程工具中提供一个通用化的对象图式,包括创建、初始化、读、写、输入和输出功能;在开发工具中提供控制流、数据流和功能分解图等。同时,领域知识库的构建对软件开发具有重要意义,也是软件开发工具面临的一个新挑战[17]。程序员机会偏离现象说明,编程环境不能过分强制程序员按照自顶向下的方式编程[18]。编程环境应提供相对灵活的导航工具,以便程序员在不同对象之间快速切换。在支持机会主义偏离的情况下,同时也要提供未完成任务的追踪功能,因为发生机会主义偏离后,被中断的任务搁置后容易被遗忘。
不足与展望程序设计的一个重要特点就是解决的问题是“不明确的问题”(ill-definedproblem)[13,18],存在需求描述不清晰、缺失等问题;并且,一个问题可能存在多个解决方案,无法通过单一的标准进行评价,甚至无法评价。因此,对所要解决的问题的表征(representation)非常重要,问题表征中生成的情景模型直接影响设计方案的生成,也与设计方案共同演化,是造成个体差异的重要活动之一[19]。而目前的研究都是假设所有程序员对问题的表征是一致的,缺乏对程序员问题表征的研究。分析程序员的问题表征,将其集成到程序设计认知模型中,是未来的研究趋势[13,19]。目前的认知模型将设计的核心活动简化为图式检索、匹配和评价的过程。而实际项目中,程序员可能面临知识不足的问题。因此学习成为程序设计中一项重要的认知活动。学习中理解和集成图式将占用大量的工作记忆资源(germaneload)[20],对程序设计的其它活动存在重要影响。而目前的认知模型均缺乏对学习活动的研究,这将是未来研究的一个重要内容。最后,人类认知的一个重要特性就是具有主动监控和调节的高级能力,即关于“认知的认知”———元认知能力。元认知能力与认知失效调节及问题解决能力密切相关[21],而目前的认知模型几乎都没有考虑这一全局性的认知活动。研究程序设计元认知能力对程序设计其它活动的影响机理及其评价和训练方法,对程序员的选拔和培训具有重要应用价值,将是未来一项重要的研究方向[22]。
2程序理解机制
程序理解可谓是程序开发心理学最古老的课题之一。它解决的核心问题是,程序员如何处理源代码和构建高效的软件系统[23]。研究程序员程序理解的行为和策略,以此指导软件可视化编程环境的开发[24]。
研究进展程序理解理论最初从文本理解理论借鉴而来。文本理解是通过信息加工构造表征的过程。该过程翻译文本中包含的显式信息,并调用经验知识得到推断信息,再将两类信息综合为一体。即信息加工过程的信息有两个来源:外源,编码在文本中的信息;内源,存储在记忆中的知识。Letovsky模型[25]使用知识库、心智模型(内部表征)和同化过程,从较高的抽象层次描述了这一过程。程序理解模型包括3类:功能方法,理解程序等价于利用知识图式;结构化方法,理解程序等价于构造关系网;心智模型方法,理解程序等价于构造详细的情景表征。功能方法的核心假设是,程序理解就是激活和实例化知识图式。程序理解的活动包括:激活储存在记忆中的图式,利用从程序代码中提取的索引,并从援引的图式出发推断程序所包含的某些信息。功能理解模型的主要代表是Soloway模型[26]。结构化方法认为,理解程序就是构造命题之间的关系网。程序可以用顺序、迭代和条件等控制结构的基本单位来描述。专家利用结构图式识别结构单元(顺序、迭代和条件),然后构造不同层次的表征。结构化方法的模型主要有Shneiderman&Mayer模型[27]。心智模型方法认为,程序理解就是构造情境表征。这就需要区分两类模型:程序模型和情景模型。程序模型与自然文本理解中的命题模型和文本库概念类似,反映程序在命题层次包含什么内容。而情景模型反映问题领域的实体及其关系,即问题目标及数据流。程序的理解首先需要构造程序模型,这依赖于结构化知识,特别是编程语言的语义和句法知识;在此基础上,构建情景模型,从而达到对程序的理解。心智模型主要有Pennington模型[28]。Mayrhauser集成元模型[29]将Soloway模型和Penning-ton组合起来,并且实验证明,程序员在3个理解过程中转换。该模型由4个部分组成:自顶向下、情境模型、程序模型和知识库。前3个部分反映理解过程,知识库是构建其它3个部分的必要因素,为程序理解过程提供相关信息并存储推断得出的新信息。
应用与启示对程序理解原理的研究,可指导程序理解辅助工具的设计[30]。如在程序浏览方面,对于自顶向下的理解过程,需要提供从顶层的抽象信息到底层的细节信息的浏览;对于自底向上的理解过程,需要提供控制流和数据流浏览;工具还需要同时提供宽度优先和深度优先的浏览,才能同时满足专家和新手的要求。除此之外,工具代码及注释检索功能将大大提高程序理解效率[31]。同时需要提供能够让程序员询问变量角色等的询问功能。最后,应考虑为程序理解提供一些其它认知支持手段,如为专家提供外部便签薄,为新手提供教学辅助,使其能够实时地获得语言和领域知识。集成领域知识将提高程序理解效率[32]。
不足与展望首先,在实际的软件项目中,维护人员很可能不是程序编写者,程序理解过程中通常伴随新知识的学习。因此,随着编程人员和技术的变化,终端用户相关的学习理论将成为一个研究趋势。第二,从理解模型可以看出,领域知识在程序理解过程中发挥重要作用。领域知识的集成是一大难点,也是未来的重要研究方向之一。第三,目前程序理解理论主要研究个体的认知机制,程序理解将向社会化组织化的方面扩展,同地合作和分布式合作方面将受到关注。第四,在工具方面,未来程序理解辅助工具将向快速改进、综合化、集成建议和搜索功能、接口高适应性、可视化、支持团队合作等方向发展[30]。
3专家与新手的差别
研究进展程序员的技能在很大程度上是一种习得性能力,因而研究专家与新手的差别对程序员的教育和培训有着重要意义。专家和新手的差别主要表现在4个方面:知识、策略、熟练程度和元认知[33]。专家与新手在领域知识和编程知识方面存在较大差别。Adelson&Soloway[7]和Burkhardt等人[34]发现,新手在领域知识方面的欠缺将导致其在构建情景模型方面存在困难,但是并不影响其构建程序模型。Schraagen[35]发现,即使都是有经验的程序员,领域知识欠缺的程序员的解决方案也会比领域知识丰富的程序员给出的方案差。因此,区分专家与新手的一个重要因素就是领域知识的掌握情况。在编程知识方面,Rist[36]发现新手更关注语言句法等表面细节信息,而专家更关注于语义信息或设计模式等深层次的信息。Soloway和Adelson等人发现[7],专家在解决模式化问题时的表现比新手好,而在解决非模式化问题时却不存在显著差别。Wiedenbeck[37]同样发现专家倾向于记住程序的语义等抽象表征信息,而新手倾向于记住程序的函数和语义等具体信息。Ye[38]指出,专家比新手拥有更大的图式组块(chunks),在他所研究的样本中,与新手相比,专家在C语言方面的概念块更抽象,组成元素更多。由于知识的组块,对新手是多个图式,对专家却可能只是一个图式,这使得专家的工作记忆能够调用和处理更多的信息。专家与新手除了在知识的数量与组织结构上存在差别之外,在知识的使用策略方面也存在显著差别。经验丰富的程序员倾向于使用自顶向下、宽度优先和向前的策略,而新手倾向于使用自底向上、深度优先和向后的策略[7,33,40,41];并且专家的编程策略可以在不同的问题上重用。Schraagen[35]指出,即使面临新的问题,良好的策略也能保障他们以较为结构化的方式解决问题。Ko[42]发现,即使在陌生的编程环境中,也不会影响专家程序员的问题理解策略。专家与新手在元认知方面存在重大差别。研究[33]发现,专家能够更好地意识到所犯的错误,并及时对生成的问题解决方案进行验证。专家元认知能力也表现在专家更善于利用外界记忆辅助设施(如笔记)作更多的注释[43]。
应用与启示专家和新手不只是存在知识占有多少的差别,在知识的组织、知识的使用策略、熟练程度和元认知方面也存在差别,这对软件工程人员的培训和学习以及专家系统的设计有重要指导意义。对程序员的培训不能只灌输编程语言规则等显性知识,还需要启发其分析知识之间的关系,以及不同解决方案使用的场景,进而形成高层次的图式;还需对知识使用策略和元认知进行训练;在培训的方式上,仅采用书本和授课方式是不够的,由于专家具有实用主义和自动化的特点[44],因此需要设计具体的任务对其进行实战训练。
不足与展望在弄清专家与新手的差别,特别是找到新手存在的缺点后,新手的学习和教育就成为重要的研究课题[45,46]。面向对象编程教育及可视化教育工具的开发成为近年来的一个研究热点[47]。
4程序员人格特质与绩效的关系
大量证据表明,软件开发中程序员的生产率和能力存在着巨大差别。具有相似背景的程序员在编程绩效方面存在巨大差别,学者们猜想,只有存在某种“固有的人格特质”才能解释这种差别。该领域的研究对程序员的选拔具有重要指导意义。
研究进展目前软件心理学领域主要采用迈尔斯-布里格斯类型指标(MBTI)和五因素模型[48]来研究人格特质类型与程序员绩效之间的联系。根据MTBI理论分析[49]:①在思考(thinking)/情感(feeling)维度方面(T/F),要检测和修改编程错误,克服语言错误,编程工作需要逻辑和分析能力,思考型比情感型更能胜任编程工作。②在感觉(sensing)/直觉(intuiting)方面(S/N),感觉型人更倾向于一步一步达到目标,对工作和细节更有耐性;而直觉型人工作更依赖于预感和直觉;但是直觉型人对复杂任务更感兴趣,感知型人更适合简单任务。③外向型(extrovert)/内向型(introvert)维度(E/I),内向型人更注意细节,在行动前喜欢彻底思考事情;外向型人思考问题倾向于表面化。在E/I维度的实证研究方面:David研究了MBTI与代码审查能力之间的关系,实验证明,E/I维度与代码理解能力之间存在强关联关系[50];Capretz[51]研究结果表明,软件工程人员大部分都是内向型性格;Chandler等人[52]发现,计算机专业的研究生主要都是内向、感知和判断型的;在程序员人格特质调查中,Turley发现软件行业样本中90%是内向型人[53]。在SN维度实证研究方面:Bishop[54,55]发现直觉型人在解决问题中表现得更好;Whitley[49]发现直觉型的学生确实更具编程潜能;Capretz[56]研究发现,他的专业程序员样本中直觉型人所占比例远远超过一般人群,他认为直觉型、思考型,特别是直觉-思考型在编程相关任务中能够工作得更好;Devito研究了MBTI与代码审查能力之间的关系[57],发现直觉型人比感知型表现好,直觉-思考型表现尤其好。在TF维度实证研究方面:Bishop[55]认为,完成软件开发中的一些任务(特别是问题解决相关领域的任务),需要在规定的限制条件下执行标准化过程,需要进行客观的逻辑的分析,思考型人更能胜任;Turley和Bieman[53]的研究表明,他们的样本中85%是思考型人;Capretz的专业程序员样本中81%是思考型;Chandler等人的计算机专业学生中86%是思考型;Myers研究表明,思考型人更适合于与逻辑思考有关的任务[58]。
应用与启示在现代软件人员选拔和项目管理中,人员的性格因素不容忽视。人员选拔需要根据角色的任务特点,选择适宜性格的人员,如直觉-思考型人普遍更适宜作编程工作;而需求分析更偏重交流能力,外向型性格比内向型性格更为适宜。实验表明,如果IT企业能够根据雇员的性格特点和潜能进行优化组织,生产效率和质量都可能得到提高[56,59]。
不足与展望正如Whitley所说[49],人格特质与绩效方面的研究是相关性研究,而不是本质上的实验研究,不能得出因果关系推论,不能说编程潜力、态度和行为的差别是由于人格类型导致的。需要对这种相关关系进行深入的机理研究,给出人格特质与绩效之间的相关关系的合理解释,这将是未来的一项重要的研究内容。在找到性格类型与能力偏好的关系的基础上,对于一个特定任务,如何选择和搭配团队成员以形成更加和谐、高效和多样化的团队也是未来一项重要的研究内容[48]。
5程序员情感与绩效的关系
情感(moods)是指“心境或主要情绪的意识状态”[60]。Merriam-Webster字典将情绪(emotion)定义为“意识的情感方面,一种感觉状态,是一种有意识的心智反应(如愤怒或恐惧),对特定对象的强烈感觉体验,一般伴随有身理的和行为的变化”。情感和情绪都是感情状态。情感持续的时间更长,引起的原因没有情绪明确。情感可以持续一两天或者更久,而情绪在几分钟或者几秒钟之内发生或者消逝。大多数心理学家认为情绪和情感在本质上是一样的。几乎所有的日常活动都受到情绪的影响,从驾驶飞机到编程,无一例外都能感受到正面或者负面情绪。情绪可能破坏日常任务,通常会对精力、睡眠和思维造成干扰,严重的可能导致疼痛。研究发现,情感会影响人类的多种活动,如创造性、记忆、推理、行为、认知加工、信息加工、学习、决策和工作绩效[60]。
研究进展虽然情感与绩效关系方面存在大量研究,但是很少有针对IT专业人士的情绪研究。近年心理学领域开展了情绪对行为的影响研究,情绪对IT专业人士的影响的研究却很少[60]。情绪心理学相关研究表明,情感影响推理。而推理是编程的必要元素,如果情感能影响推理能力,那也可能会影响程序员的绩效。Khan[61]设计了实验来测试情感对程序员调试任务的影响。其方法是让程序员在开始调试任务之前,先观看几组激发特定情绪的录像带,比对各组任务绩效。结果表明,情绪的觉醒水平对调试任务存在重大影响,而情绪的效价对任务的影响却不明显。即程序员检测和改正错误的能力依赖于情绪的觉醒水平。Good等人[62]意识到情感对程序员绩效的影响,在计算机实验室中引进了表达和监控学生情绪的设备。实验表明,此设备有助于学生的情绪表达、交流与修复,进而促进学业成绩,获得了良好的反馈。
应用与启示情感对编程绩效存在影响,该领域的研究对程序员的管理有着重要指导意义。如情绪的觉醒水平对调试任务存在重大影响,企业管理中就需要尽量避免员工情绪出现大幅波动,过于高兴或悲伤都对工作不利。需要避免员工带着负面情绪工作,思维受到影响可能引入严重的软件缺陷。情感波动对编程绩效存在较大影响,组织在选拔程序员过程中可参考此因素,优选那些情绪稳定型人格特质程序员负责关键性任务。可用大五人格测量中的神经质维度(neu-roticism)问卷衡量情绪稳定性。
不足与展望针对程序员情绪的研究目前还处于实验室研究阶段,这与实际工程项目中程序员的工作环境存在巨大差别;并且情绪具有实时性和积累效应,如何在不侵扰程序员编程工作的条件下,实时地检测程序员情绪进而帮助其调节情绪是未来的发展趋势。文献[63]提出通过程序员使用鼠标和键盘的信息来监测程序员的情绪。文献[64]提出通过增加人机界面的情感意识(emotionawareness)设计来促进用户的正面情绪。
6编程能力倾向测试
众所周知,有些人认为学编程很困难,而有些人却觉得很简单。要可靠地将这两类人识别出来却是一个大问题。编程能力倾向测试旨在解决这样的问题。
研究进展Wilson&Shrock[65]研究了12个预测因子后发现,有3个预测因子与编程能力有着重要的相关关系,依次是:舒适水平、数学和归因(把成功归因于运气的学生编程能力较差)。Beise等[66]考察了年龄、种族和性别与编程入门课程之间的关系,从统计学上表明,性别和年龄都不是有效的预测因子。Nathan等人发现学生的预期是一个重要影响因素,那些预期自己能得“A”的学生更容易成功[67,68]。Lister等[69]、Fincher等[70]、deRaadt等[71]、Simon等[72]、Tolhurst等[73]指出,在编程入门课程中表现差的学生缺乏问题解决能力。Stuart实验发现,系统商数(SQ)-移情商数(EQ)与编程存在强正相关[74]。Simon等人[75]、Sue&Gary[76]、Tolhurst等人[73]都发现,学生的空间观想能力与编程能力存在正相关,地图描绘实验中画俯瞰图的学生在课程中得分更高,画路线图的学生成绩比俯瞰图的差,画路标图的学生成绩最差。空间观想能力与代码导航能力有关,进而关系到程序心智模型的构建。
应用与启示编程能力倾向测试可以提供学业和就业方向咨询,选择那些适合学习编程的学生,提高编程课程的通过率,减少计算机学生的退学率[77];为企业选拔更适合编程的员工,并识别哪些员工需要进行计算机相关训练。
不足与展望可以看出,目前该领域的研究未能取得公认统一的结论。学者们对预测因子的选取具有较大随意性,各自提出的预测因子繁多且缺乏系统性。究其原因,研究者们未能对软件工程中各种角色所需的认知能力进行机理层面的分析。相关性分析不能说明因果关系。学生在某种任务中的绩效与编程绩效相关只能说明该项任务与编程任务在所需的认知活动上存在某种程度的交叠。因此,用这些因子预测学生将来的编程表现是不够合理的。作为编程能力潜力的预测因子,需要选取与编程认知活动密切相关且相对稳定的因素。本文前几节的分析和总结对编程能力倾向测试的未来研究方向具有重要启发:1)编程能力在很大程度上是习得性能力,知识与经验的差异是程序员个体差异的最主要原因。因此在个体经历和其它条件相同的情况下,学习能力的差异是影响程序员未来编程能力的一个重要因素。同时,学习能力是一项较为稳定的能力,可作为编程潜力预测因子之一。2)软件工程的核心认知活动是问题解决(problemsol-ving),而元认知对问题解决活动进行监控与调节。元认知能力的高低对问题解决绩效起着重要影响[78],并且元认知能力也是较为稳定的高级能力[21],可作为编程潜力预测因子之一。3)情绪、动机(motivation)等因素对认知活动存在较大影响。同样,在外界刺激条件下,人格特质是个体情绪动机差异的决定因素,且人格特质具有长期稳定的特点,可探索部分人格特质维度作为编程潜力的预测因子,如情绪稳定性。总之,编程能力倾向测试的未来研究应着眼于分析软件工程的任务活动特征,识别那些对编程活动有着因果关系且较为稳定的因素作为预测因子,才可能达到“潜力测试”的效果。
结束语
这次数控中级培训,主要是对pa系统的学习,内容有车床,铣床。暑假之前主要练习数控编程,而这个学期偏向于机床操作。通过电脑编程模拟和下车床操作,以及加工零件。我对数控中级的学习有了一定的掌握。
对于刚开始的编程理解,我个人还是比较感兴趣,从当初的一知半解到现在熟悉运用每个命令,并理解其含义,都是自己每天不断的摸索和老师耐心的教导息息相关。主要总结以下几点:
一、 对数控编程和模拟的理解和运用
我很荣幸能有这么好的老师来教我们数控编程,其实学习最主要的还是靠自己去多练,但关键的时候有老师指导,这样还是进步快点。特别是刚开始接触编程和机械加工的时候,有老师指导进步特别快。记得8月9日那天,老师开始讲编程的过程,特别对经常使用的代码给介绍出来,然后对点位的理解和计算。对模拟好的零件进行模拟加工。通过这些知识点的学习,我才渐渐的理解数控编程的一些基本要领。机床上对刀是我之前遇到的最大难题,这是由于命令使用不习惯,和基本感念理解不够透彻,不过通过后面的反复练习,现在已经熟悉掌握了模拟系统。如今已经能够看懂图,知道走刀路线。以及涉及到的点位能够进行换算。
二、理论知识的学习和理解
对于老师发的资料,我已经认真的去学习,当然,相对要记住每个知识点,还是有一定的差距,但我有信心能把理论知识学习好。我认为最主要的是去理解每个知识点,而不是死记硬背,因为许多的理论知识都会在实际操作中用到,而且必须掌握。只有完全的理解理论上的知识,才能更好的去完成实际的操作。比如机床上的按钮,走刀路线,刀补等。都涉及到许多理论知识。只有把理论知识吃透了,才能在加工过程中认真的去遵守规则,更安全的完成零件的加工。
三、 实际加工的学习方法和掌握程度。
对于机床的操作,我总感觉自己练习不够,特别是对零件加工花的时间比较多,还有实际对刀也掌握不够好,虽然现在已经能把零件给加工出来,而且尺寸也把握得当,但时间控制方面还是不够好。这主要还是自己的操作熟练程度不够。
车床上,对刀和加工现在我已经能够在规定的时间内完成了,并且尺寸也能达到所要求,但我认为还是因为自己花在车床的时间多点。而铣床,相对来说,熟练程度不够好,尽管知道怎么去加工,但尺寸的控制和时间的把握不够好。不过在后面的不断实践和练习中,我得到了很好的提升,能够进行零件的加工,对机床出现的小问题也会去解决。特别是在最后那段时间,我已经能够加工零件。而且尺寸已能把握好,达到了图纸上的要求。
四、最大的收获
对于数控编程和加工学习的这段时间里,我认为最大的并不是自己所学到的知识,而是学习的方法,很荣幸得到老师的帮助,在我学习感到困惑和吃力的时候,他们能更好的与我沟通,当他们对我讲到学习这门课程的用处,以及以后工作的方向时,我感到非常值得。进入大学后,已不再是高中时代的应试教育。每个人都应该找到适合于自己学习方法。只有掌握好的学习方法,才能够学好自己的课程。而在数控学习的这段时间里,我也不断的去摸索,感觉收获不少。