编程的学习方法

2024-05-25

编程的学习方法(通用14篇)

编程的学习方法 篇1

首先自然是选择学习的编程语言了,计算机语言的种类繁多,但是大体可以分为机器语言,汇编语言,高级语言以及脚本语言。像是我们经常听到的C语言,java,易语言都是属于高级语言,像是php,javascript,jsp,asp.net就属于脚本语言了。不同的语言难易程度也不相同,可以根据自己的情况进行选择性学习。

选定了学习编程的语言,就可以开始学习编程了。学习编程的过程中入门是一个很重要的过程,尤其是对于编程一点都不了解的朋友,看着那些密密麻麻看不懂的代码,什么热情都被浇灭了,从而就此放弃了学习编程,因此选择编程的入门方式十分重要。

很多朋友选择的入门方式应该都是看书了,小编自然也不例外,但是随着时间的推移,书是看完了,但也忘完了,完全不知道看过点什么,更不要提学会点什么了,导致小编一度觉得自己不适合做编程,几乎放弃,直到我发现了另一种学习编程的方法。

以前的学习可能只能靠书本和老师,但是现在不同了,现在是互联网时代,我们可以从网上获取到我们需要的知识,自然也包括了学习编程。现在很多编程语言都出了视频教程,而且还不止一家,我们可以挑选最适合自己的视频教程来学习。

自从跟着视频教程进行编程学习,小编学习的积极性倒是提高了不少,起码比起看书要来的有趣的多不是,相信不少朋友应该和小编有同感。由于视频教程是已经录制好的,我们可以根据自己的理解能力来选择性的观看教程。

光看不练假把式,每当我们看完一节视频教程的时候,我们就应该把讲述的这些内容自己多练习几遍,直到完全掌握。这样再去看下一节的视频教程,千万不要光看不练,我们的目的不是为了看视频而看视频,而是为了掌握知识,只有掌握了才是自己的。

当我们累计到一定程度的知识之后就可以做一个简单的项目了,一是为了巩固所学的知识,把我们所学的知识串联起来,二是为了以后的工作做准备,毕竟早点熟悉以后的工作内容才能早点上手。当然初次做项目可能会感到盲目,没关系,一般视频教程会专门抽出几个课时来讲解项目的制作,我们跟着制作即可。

编程的学习方法 篇2

Visual Basic是由微软公司推出的一套完整的Windows系统软件开发工具, 可用于开发Windows环境下的各类应用程序, 是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。它编程简单、方便、功能强大, 具有与其它语言及环境的良好接口, 不需要编程开发人员具备C/C++或者Turbo Pascal语言知识和特别高深的专业知识, 只要懂得Windows的界面及其基本操作, 就可以迅速上手, 而VB在程序界面设计、多媒体开发方面更是独具优势。因此非常适合像我们职业学校学生这样的初学者来选择学习。

2 学好visual basic的重要性

visual basic作为一种强大的语言, 你所能想到的编程任务, 它基本都能完成。从设计新型的用户界面到利用其它应用程序的对象;从处理文字图象到使用数据库;从开发个人或小组使用的小工具, 到大型企业应用系统, 甚至通过Internet的遍及全球分布式应用程序, 都可在Visual Basic提供的工具中各取所需。作为计算机专业的一名学生, 作为一名编程人员, 学好visual basic, 利用visual basic可以解决在软件使用中所遇到的问题, 改进现有软件, 可以为自己找到一份理想的工作添加重要的砝码, 有利于在求职道路上谋得一个好的职位。学习编程还能锻炼思维, 使我们的逻辑思维更加严密;能够不断享受到创新的乐趣, 将一直有机会走在高科技的前沿, 因为程序设计本身是一种创造性的工作。

3 学好Visual Basic的方法

3.1 注重基本概念的理解

在Visual Basic学习过程中, 我们在看一本程序设计的书时, 看到的无非都是一些变量类型、函数、条件语句、循环语句等概念。对于我们初学者来说一定要深入理解这些概念, 在理解的基础上应用, 只有这样我们才能做到对编程的理解。在教学过程中我非常重视学生对这些基本概念的理解, 在学习数据的类型这节中, 我常举下面的例子来告诉学生理解基本概念的重要性:比如说有两个数据123和456, 如果它们是整型数据类型, 那么在进行“+”操作时结果就是579;但是如果它们是字符串数据类型, 那么在进行“+”操作时结果就是123456, 可见不同类型的数据得到的结果是不同的。显然对于初学者来说对概念的理解是相当重要的, 我们只有把这些基本的概念理解透了, 才能在以后的编程过程中做到举一反三, 触类旁通。

3.2 遇到问题多思考

在学习Visual Basic过程中, 我们会遇到很多的问题, 那么在遇到这些问题时首先想到的不是去问他人, 而是自己先好好想一想, 试着解决这个问题。为什么先要自己想一想呢, 因为当你自己想过好多办法, 解决一个问题, 可能解决的办法并不是最好的办法, 但绝对有利于你自己的提高, 一个人水平的提高主要是通过独立的解决问题来得到的。如果自己最后还是没有解决问题, 但你自己思考过了, 最后别人帮你解决, 你也会想得很深入, 以后再碰到类似的问题, 也就能自己找到方法解决了。比如还是上面的那个问题, 有好多学生会问为什么它们的结果不一样呢?这时候我们就要思考, 结果不同的原因是什么?它们的不同点究竟在什么地方?带着这样的问题, 我们会发现它们惟一区别就是在定义时的数据类型不同, 知道这个不同点后我们就会明白, 数据类型是整型时“+”操作就是执行四则运算的加法操作, 而数据类型是字符串时“+”操作就是执行字符之间的连接操作, 也就是字符串之间“&”操作。这就是我们思考的结果, 以后再遇到这样相同的问题或相似的问题时, 就能很轻松地解决了, 同时也很好地提高了自己的编程水平。

3.3 自己动手编写程序

学好Visual Basic的一个重要方法就是自己动手编写程序, 不管这样的程序是简单的还是复杂的。因此在程序设计入门阶段我们要经常自己动手抄写或编写一些小程序, 亲自动手进行程序设计是创造性思维应用的体现, 是培养逻辑思维的好方法。因此一定要多动手编写程序, 而且要从小程序开发开始, 逐渐提高写程序的能力。Visual Basic的重要特点就是它的可视化, 在教学过程中, 每学习一个知识点我都要求学生自己上机调试运行程序, 看看最终的结果是怎样的一个状态, 是否与自己想象中的结果一样, 从而培养他们的动手能力和养成他们独立完成事件的习惯。在讲课过程中, 在讲到文本框中可以输入密码时, 我跟学生们讲到, 这就相当于我们输入自己银行卡的密码一样, 别人看到的全都是“*”号, 只要自己知道这些“*”号代表什么数字。然后我将前面学习过的按钮事件跟文本框结合起来, 要求学生自己编写一个银行卡的密码程序, 并上机调试运行, 学生在这一过程中既养成了自己动手编写程序的习惯, 又充分理解消化了所学习的知识点, 真是一举两得。

作为一个初学者在掌握了以上几种学习方法后, 一定会对自己今后在编程程序学习方面有很大的帮助。当然学习编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识, 包括编程所需的数学基础知识, 具备了入门的条件, 就可以开始编程的实践, 从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编, 但当你发现编到一定程度很难再提高的时候, 就要回头来学习一些计算机科学和数学基础理论。学过之后, 很多以前遇到的问题都会迎刃而解, 使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习, 再努力地实践, 编程水平一定会不断提高到一个新高度。

参考文献

[1]刘钢, 杨崇礼, 等.Visual Basic6.0程序设计实用教程[M].北京:中国民航出版社, 2000.

小学学习编程的益处 篇3

编程一直被视为继口语及书写之后的“第三语言”,因此不少国家均提倡儿童学习编程,例如英国将编程纳入中小学课程、美国总统奥巴马推动学校教授编程、新加坡在中小学考试中加入编程科目。世界各个国家把儿童编程作为基础教育的重要组成部分说明编程人才在一个国家的经济、科技、信息、互联网发展的重要性,也说明编程能力是一个人工作和生活的必备能力。

那么少儿编程对孩子的发展究竟有哪些益处呢?

一、人脑敏感期容易培养编程天赋

人类的大脑发育成熟要远远早于人类身体的各个器官,人类的潜在能力有一个敏感期,人类的各种天赋都是在这个敏感期内形成的,例如,小孩子可以辨别几十种颜色,而成人只能辨别10多种颜色,受过音乐训练的小孩子可以听到88个钢琴的半音,而成人很难做到,这告诉我们人类很多天赋过了敏感期,这种天赋能力就开始递减了或者完全丧失掉,逻辑思维能力也是如此,人类逻辑思维能力形成的关键期是在7岁左右,所以,逻辑思维能力越早培养越好,少儿编程就是培养孩子思维能力的一个比较好的手段。比尔盖茨、扎克伯格、乔布斯,他们都是从小学就开始编写程序了,从小就开始编程思想的培养和编程技术的积累,为他们后来成就大事业奠定了坚实基础。

二、利用编程教学引导学生顺利由形象思维向抽象逻辑思维顺利过度

影响学习成绩的另一重要因素是思维力。那些进入八年级成绩落后的孩子往往是在四年级便开始明显落后。其实这部分孩子成绩之所以在这时候开始落后,恰好是他们的思维发展没有跟上同龄人的步伐造成的。心理学研究表明,儿童思维在幼儿期是以具体形象思维为主,童年期进入以形象逻辑思维为主的阶段,而十岁(通常是四年级)左右是形象思维向抽象逻辑思维过渡的转折期。如果孩子在这个时期思维发展顺利过渡,成绩不会受到影响,而且在以后的学习中会更轻松。而如果思维发展受阻,则会严重影响学习成绩。因此,把握好孩子思维发展的这一转折期显得尤为重要。这一任务以前更多的落在数学等学科上,这些学科虽然可以在一定程度上起到了引导学生思维方式的过度的作用,但与编程教学尤其是scarch等比较成功的编程软件教学比起来差距还是很大的。编程时写入的是命令,而生成的是可见的动作,可以很好的把形象思维与抽象思维联系在一起,所想即所见,所见即所得的操作形式是对思维方式转变的极佳练习。

三、利用编程来培养学生的合作能力

现阶段在学的学生大都是“独苗苗”,是家中的“小皇帝”、“小公主”。家人围着这些“小太阳”转,从而滋生了娇生惯养的习气,只会汲取而不知道付出。很多学生有孤僻、自私、不合群等不良的心理素质。小学生随着年级的升高,开始产生竞争的心理,一切都要争强好胜,有时甚至达到了水火不容的地步,这都对学生未来的发展不利。一个人的力量是渺小的,只有当他融入集体之中,个人的创造才能得到发展。正如马克思说的:“只有在集体中,个人才能获得发展其全面才能的手段。”而且编程教学可以很好的把一个小组或一个班的学生紧密的聯系在一起,很多程序代码需要写入几十行甚至过千行,这样的任务在短时间里一个人几乎不可能完成的,但是分散到一个团队里就变得可行了。

完成这样的任务需要团队中每个人都参与其中,合作要亲密无间,分工要细致,统筹要合理,一个大型程序的完成就意味着一个合格的团队的成型。更重要的是随着互联网的普及使得学生不仅可以和现实中的同学合作,更能与远至大洋彼岸的朋友一同协作完成创作,这更能激发学生对团队协作的认可。

四、培养创新、自学等能力

少儿编程课程不仅能培养孩子逻辑思维能力,在整个编程过程中对孩子的创新能力、解决问题的能力、表达自己的能力、自学能力等方面都有很大的帮助,而这正是今日孩子需要拥有的必备技能。美国麻省理工学院的雷斯尼克教授表示,无论是理解极其复杂的系统,比如一个经济体如何运转,或是以分步骤的方式解决问题,学习编程都大有帮助。它不仅可以训练孩子们解决问题的能力,还可以帮助表达自己。

五、利用编程教学培养学生严谨的态度

很多学生考完试都会说这些我都会,错的都是马虎的,大部分家长都认为知识学会了就是好的,马虎一下在所难免。一辈子没学会一加一等于二,错的也只是这一道题,而不严谨将使人犯下不计其数的错误。编程是非常严谨活动,一个字母或一个符号的错误都会导致整个程序无法正常运行,一个逻辑上的漏洞都会让现实与理想天差地别,编程不接受一点疏忽。在编程的过程中错误好犯,但改正起来难如登天,有的时候甚至需要逐行核对,几个错误改下来就没人舍得马虎了。

学习编程的有效方法 篇4

如果你在编程过程中经常粗心犯错,那么整个过程就会变成一场旷日持久的折磨,然而一旦问题解决,所有的沮丧都会烟消云散。在学习各种算法(傅立叶级数、向量、边界问题、线性代数、矩阵)的同时,也要注意休息。在解决特别复杂的问题时,要按时放松大脑,让困扰在心头的难题暂时转移到潜意识中。另外要有合理的工作计划,当你编程编到倦怠的时候,就可以小憩一会儿,或者出去散一会儿步,但是永远不要说放弃。

2、成为高手

学到这个阶段,你就可以试着去教教别人,并且向别人展示你制作的应用。如果你认识比你更厉害的人,就要与他分享你的想法和问题,这样会使你积累更多的经验;你也可以模仿诸如文本编辑器、windows软件等专业软件来进行自主开发;积极参加相关竞赛来挑战自我。

懂得一种编程语言是很赞的,但更赞的就是懂得多门语言,这不仅仅意味着你的“工具箱”里有了更多的“工具”,更是意味着你掌握了更多解决问题的方法。因为不论你惯用哪种语言,懂得其他语言总是能使你更好地了解常见的抽象概念及问题。所以,有条件的情况下,尽量多学几种语言,最好是学习两三种具有不同设计原理的语言,如Lisp、Java及Perl。但是每一种都要用心学。

3、广泛阅读

许多高水平的程序员阅读量也十分惊人,他们也往往会在输入第一行代码前深思熟虑一番。所以,你一定要多阅读、多思考。每周都要检查一次自己的作品(平时要养成保存代码的习惯,这样日后才能复查、反思);还要多买编程方面的好书。购买的书必须是最值得一看的,而并非是最畅销的。永远不要盲目地追随某一种资源,因为那样只会让你的眼界变得狭隘。一旦你掌握一种知识,就要仔细钻研其用途及改进的可能。

4、去培训中心参加培训

如果你觉得自学效果不理想,就去报名参加一些初级的编程班吧。但是报名前,一定要先向之前在里面学习过的人了解一番。

数控编程的方法[范文] 篇5

在数控加工企业来说,编程直接影响着数控设备系统的进程,数控程序怎么样编程,在这方面还需要进一度加强人员培训。

1、首先学习数控编程需要几个基本的条件:

① 学习编程的人员一般要具有相应的数控设备编程基础。

② 学习编程的人员应该通过专门的机构进行良好的培训。

③ 在培训过程中要有积累经验的思想和意识。

2、选择培训的因素

① 在使用教材上面,数控设备一般通过CAD/CAM软件的图形编程,在培训操作过程中,应注重编程实用技术的编程方法,使初学者一目了然。

② 数控编程是一个分阶段的过程,由于初学者接受的能力和基础不同,可从应用编程的某

个角度进行分类,使初学者在感觉上易懂。

3、编程方法和技巧

① 在短期内集中学习一个编程目标,并能进行实际操作和现场演示,以达到数控设备编程

过目不忘的效果。

② 对初学者来讲,软件部分还应该分类,这样可提高阅读效率,而且有助于初学者记忆。③ 在编程过程中应该注意现场实践的操作,培训初学者的仔细,严谨的工作意识。

④ 初学者在数控设备编程实际操作中,如果遇到问题应该有记录的学习习惯,在积累中不

如何正确有效的学习程序编程 篇6

大多数程序员,当他们想学习编程的时候,往往是从一本书开始。

虽然有一些优秀的书籍会手把手地教你编程,但我认为最佳的开始是查看一个能实际工作的应用程序的源代码,然后试着尽可能多地找出正在发生的事情。这很难。

它会让人觉得不舒服,但是不要畏惧。要习惯这种不舒服的感觉。这是让人成长的唯一路径。

我想要你做的是选择一个开源应用程序——最好是流行的,才有可能被精心设计——然后浏览它的源代码。你可以在GitHub上找到大量项目,因此我建议你去那里寻找。

并且,你最好可以下载这些代码,自己构建并运行这个应用程序——虽然这样说的话超出了这本书的范围。如果你有一个朋友可以帮助你做这些事情,那就更棒了。当然没有,也没有关系。

重要的是,你要去探索代码,从而了解编程语言的语法看起来是什么感觉,并试着阅读代码看看你能否理解或弄清楚意思。

使用应用程序本身,如果可能的话,这样你才能够感觉到代码和代码作用之间的关系。

就像我说的,这让人感到很不舒服。你可能会觉得你看不懂任何东西。

再说一遍,那没关系。你只需要竭尽全力看看你能够搞清楚一两件事是如何工作的,或在代码中你可以做哪些变动以便于用某种方式改变功能。

此外,大致了解代码如何命名以及如何被组织的。就像你是一个考古学家试图了解一些古文明的著作一样。这样的开始可以让你比大多数不知道将要学习的编程语言是什么样的程序员要更有目的性。

培训学习者的编程思维 篇7

1.1需求分析

编程能力的培养在教学过程中的重要性主要体现在以下几点:

1) 在学习的过程中锻炼学生的逻辑思维能力,更准确地抓住问题的本质,找出解决问题的方法;

2) 有助于更深入的理解计算机工作原理,更灵活的应用计算机技术解决各自专业领域中的有关问题。

3) 培养学生的自学能力,综合开放性实验完成过程中,通过查找和阅读资料能有效的启发学生扩宽学习范围,提高探索学习相关知识的积极性。

1.2教学目标

1.2.1让学习者了解编程思维与基本技能

学习者编写程序或者编码的质量不高,最主要的原因在于教学过程中忽视了学习者思考习惯养成和能力训练。提高编程能力首先是培养编程思维, 即养成以程序的方式来思考问题,要使学习者理解编程语言也是一种语言,学习者应该对一些基本的逻辑结构了解。比如:循环结构是编程语言中的重点和难点,在讲解双循环问题上时,可以利用九九乘法表,先让学习者单循环打印1-9和换行,再让他们思考九次“1-9循环和换行”怎么办,学习者一般会想到只要在做一次循环就行,这时就可以提出双循环概念,学习者根据学过的知识就可以很快解决,这种由简单到复杂的教学手法,可以使学习者更好的理解。

1.2.2培养学习者抽象思考能力

培养学习者抽象建模能力应首先引导学生掌握编程的基本知识"并帮助学习者整理知识之间的联系和线索"引导学习者从知识之间的联系中去寻找解决问题的思路。

1.2.3培养学习者分析问题的能力

在程序设计中"将待求解程序问题划分为若干个处理步骤"将每个处理步骤封装为处理过程或函数"当每个处理过程和函数解决和调试通过"则待求解问题得以解决# 又比如"程序设计语言的递归程序设计思想"将复杂的高阶问题转换为低阶问题"当低阶问题得以解决"则高阶问题依次求解。

1.2.4培养学习者思维严密逻辑清晰的能力

所谓思维缜密"就是周到细致全面地考虑问题"枚举清楚程序触发的各种条件并明确其控制的有效性"控制好程序运行的各种状态"尽可能地找出程序中的潜在错误。

1.2.5运用读,写,改的编程方法

学习的能力和方法比掌握的知识更为重要, 培训者更应该教会学习者编程领域的学习方法, 培养他们的学习能力, 而不是仅仅教给他们知识点。

1)读代码:注重学习者阅读程序能力的培养, 要提高学习者的编程能力。

2)改代码:这个过程是第二阶段,在读透程序的前提,将例子程序作一些小的局部修改或扩展, 这样做的主要目的是在熟悉一些语句用法。

3)写代码:这个过程是第三阶段,也可称为是模仿阶段, 在可以熟练改代码的前提上,自己动手从头写一遍, 偶尔遇到一些小问题,可以通过对照范例来发现原因。这种学习方法强调了学习的渐进性, 能力逐步提高, 降低了学习的难度。

2学习者和学习环境的分析

2.1学习者分析

信息类型:入门技能,对该领域所具备的知识,对访谈的态度,对教学传递系统的态度,学习动机,学业能力水平,学习偏好,对培训机构的态度,群体特征等。

数据来源:问卷调查,考试数据,访谈,观察等。

学习者特征:学习者应是没有编程基础和经验但对于编程有一定兴趣的大学生学习者可能知道一些编程语言的一些概念,但是没有进行过具体的上机操作和编程逻辑思维的培训。 学习者能够了解计算机,对于计算机的基本使用没有太大问题。认为将要学习的编程思维对于以后的编程学习很重要,好的编程思维可以帮助他们成为出色的程序员,而且这种思维可以使得他们以后无论学习哪种编程语言都会轻松应对。

2.2学习环境分析和应用环境分析

信息类型:学习点的数量和特点,学习点对教学需求的满足程度,学习点对学习者需求的满足,模拟工作环境的可行性, 管理/监督支持,实施点的物理条件,实施点的社会环境,与工作环境相关的技能等。

数据来源:访谈,观察,记录,问卷调查。

学习环境特征:可以采用课上教学和课下教学的培训方案。课上教学可以包括:(1)课前回顾(2)课中启发(3)课后小结三个方面课下教学可以构造开放式的教学环境,可以将学生以3-5人为小组组织起来,自行寻找解决问题的思路和方法。 促使学生诱发自己的内在动力提高自己的编程思维和编程能力。

应用环境特征:由于几乎所有的学习者都是在校大学生, 所以将培训班开设在学校即可,便于学习者学习。培训师在多媒体教室给学习者上课,每个人都要有一台计算机,这样学习者可以边听课边练习。需要一个能容纳20-30人的多媒体教室,可以设置一个班长,用以帮助培训师管理多媒体教室的日常事务,比如:发放资料,教室的管理等。

2.3绩效目标

教学目标:学习者需要了解编程思维与基本技能,学习者需要增强抽象思考的能力,学习者必须掌握分析问题的能力, 学习者需要具备思维严密逻辑清晰的能力,学习者能够熟练运用读,写,改的编程方法。

绩效目标:(1) 学习者需要养成思考能力,提高编程能力首先是培养编程思维,即养成以程序的方式来思考问题,学习者要理解编程语言其实也是一种语言,需要对一些基本的编程知识进行了解。(2) 学习者需要增强抽象建模能力应首先掌握编程的基本知识,并可以整理知识之间的联系和线索,学习者能够从知识之间的联系中去寻找解决问题的思路。(3)学习者能够通过对复杂问题的简单化来掌握分析问题的能力。(4)学习者需要了解所谓思维缜密,就是周到细致全面地考虑问题,枚举清楚程序触发的各种条件并明确其控制的有效性,能够控制好程序运行的各种状态并尽可能地找出程序中的潜在错误。 (5)读代码:学习者对于网上搜集一些的编码,经过仔细研读,通

过了解其他程序员的代码找出自身不足。改代码:学习者通过自己的理解,将原先的代码改动一部分,使程序出现新的功能。写代码:学习者运用所学知识可以自己编写一个新的程序

2.4教学策略

摘要:随着科学技术飞速的发展,计算机技术已经成为了我们生活中不可或缺的一部分,所以我们把如何培训学生编程思维作为本次培训的重点,在本次培训中我们把课程分为五个具体方面,分别是了解编程思维与基本技能,培养抽象思考能力,培养分析问题的能力,培养思维严密逻辑清晰的能力和学会运用读,写,改的编程方法解决问题的能力。

编程的学习方法 篇8

关键词:中职;多媒体教学;项目教学;仿真软件教学;示范教学

中图分类号:G642.4?摇 文献标志码:A 文章编号:1674-9324(2012)12-0072-02

数控技术的应用性和技能性较强,职业学校培养的是学生毕业后能在生产一线从事数控设备零件操作、工艺编程、设备安装、调试、维修的应用型技术人才,学生的技能很重要,所以以前的传统的理论教学已经不能适应现在的教学要求。故中等职业学校都大量投入实训设备来渗入到学生的教学中去,也把以前传统的采用的黑板的板书通过多媒体技术来给学生形象地展示出来。教师从此从备课笔记向电子教案转变,黑板板书向教学课件转变,课堂搬到车间上的转变等等。本人在讲授《数控设备与编程》时进行了一些尝试和探索。

一、理论讲授——多媒体教学

教师通过语言,主动、系统地向学生讲授知识,是传统的讲课方法。它使学生学到的知识具有系统性,连贯性。数控加工技术基础,数控机床的分类,数控加工工艺基础知识,数控加工编程格式及编程指令等相关知识学习主要通过讲授的方式进行。针对这部分内容都是比较抽象且枯燥的,中职生一般很难接受,如果老师在课堂上拿着书写着板书,侃侃而谈传授给学生,而学生能听进去的却很少,这样的教学效率就比较低,通过在教学活动中引入多媒体技术使课堂的气氛也活跃了起来,学生对数控系统地认识和理解更深入了,对编程指令的具体含义和应用更清楚了,也让枯燥的讲述过程变成了相互的交流。如在数控车和数控铣的编程功能指令讲解中,主要讲解常用的一些指令,但是有些指令功能差不多,学生不能很好区别,在实际应用中感觉茫然,如复合固定循环G71、G72、G73、G70的标准格式和走刀轨迹路线的差异等知识点,学生在理解上往往感觉有难度,不知道哪种零件应该对应用哪种指令,教师可以利用多媒体技术作一个指令介绍、动作分解、功能演示、指令应用的课件进行播放,并用MasterCAM进行实体模拟,使其产生直观、形象、生动、即时等声像效应,使学生从中获得较为深刻的感性认识,从而更好地理解和记忆所学的内容。就这样,使难以理解的重点、难点变得清楚易懂,促进培养了学生的思维能力和解决问题能力,更进一步激发学生的学习热情,提高了课堂教学效果。

二、数控加工工艺和编程——项目教学

学生在初学阶段基础不牢,缺乏实践操作经验,很多学生看到一张零件图纸,却不知道从何下手,通过典型零件分析,把分散的知识点溶入到一个项目中,对知识进行归纳、总结与应用。项目教学可以充分发挥教师的主导性,学生参与的主动性,不仅可以使理论讲授变得生动活泼,具有启发性,而且有利于学生尽快掌握知识,教师可以选择企业加工零件的一些图纸作为典型零件的通过项目教学法指导学生合理编写程序,可以为学生建立一种效仿模式,很快获得相应知识。在教学中严格要求学生在编写程序名、程序指令、程序段及程序格式时,一定要达到程序标准和规范,培养学生掌握正确的编程习惯。本课程在讲授数控加工工艺分析和手工编程时,按数控车削、数控铣削(加工中心)各分别引入了一个典型零件进行综合教学,将数控加工工艺与数控编程内容有机地结合在一起,使学生能清楚认识到自己的学习目标,同时让学生通过所学的方法能对各种类似零件的加工工艺和编程独立分析并能正确编写出程序,起到潜移默化的效果。如数控车削中对于轴类零件加工工艺分析和编程,教师可以由从简单的台阶轴到数控中极甚至高级的轴类工件,由简到难,让学生独立分析加工工艺和编程,熟练掌握本课程的重点和难点内容。同时通过项目教学使学生综合分析问题、解决实际问题的能力也得到了显著提高。

三、数控机床基本操作——仿真软件教学

目前计算机软件普及应用在教学中,数控仿真软件教学也成为数控编程与操作时较为普遍采用的一种方法。数控加工操作教学要涉及数控设备,大量的刀具,毛坯件等,这些因学生的操作水平有限,若直接操作数控设备,刀具和设备会受到损害,严重的话刀具和工件都会报废,一方面影响教学秩序的正常进行,另一方面增加学校的教学成本。而仿真软件就能克服这些缺点。学生可以在计算机上用仿真软件模拟加工,熟练后,再过渡到数控机床操作,这样学生能大胆地在机床上操作,掌握数控机床的基本操作技能,在仿真软件的应用中,教师要和学生强调实践环节和步骤的紧密衔接。教师给学生一张简单的零件图,学生根据所学知识编制出程序,然后直接在计算机上进行仿真加工,通过模拟数控加工环境、加工过程,实现对自己所编加工程序的检测,验证操作的规范,学生在整个操作软件过程通过自己摸索尝试,然后总结,看到自己学习获得的成就,会让学生产生浓厚的学习兴趣。

四、数控机床实践操作技能——示范教学(教学做合一)

《数控设备与编程》是实践性很强的课程,故教学中将理论课与实践课融为一体。《数控设备与编程》中很多知识点必须通过教师示范和亲自实践才能掌握,例:加工零件的模拟运行,刀具的运用和对刀,加工时保证零件的尺寸修改磨耗等,所以教师把课堂搬到实习车间,教师一边讲授,一边在机床操作演示,然后让学生实际操作。这样课堂讲授与动手操作有机结合,使学生对所学知识有一个直观的验证,从而加强学生的理解和实际运用能力,促使学生完成由理论识向实际动手能力的转化,提高教学效率与效果。本课程的教学内容也符合“数控技术职业资格标准”要求,课程体系符合现有数控设备、“职业资格考证”的要求。职业学校让学生能用最短的时间和最有效的方法,使学生掌握某项技能,在学习后能获得“双证”(即毕业证书与职业资格的双证)。在数控机床实践操作技能实训中,把课堂搬到车间,让学生真正能掌握操作技能的训练,理论结合实践,让学生“在学中做,在做中学,做到学做合一”,加强对理论知识的理解,提高实践能力,培养学生自主学习的习惯。

在《数控设备与编程》的教学方法中,教师应从教学过程的各个环节入手,注重学生知识、能力和素质的培养。根据各个教学环节特点合理安排教学方法,注重学生操作技能,学生在毕业之后,就能直接投入到生产线上,而且能独立操作机床,哪怕在实际加工中也能解决一些简单的实际问题。

参与文献:

[1]宣国强.多媒体技术在数控教学中的应用[J].教师,2010,3.

[2]朱鹏超.数控加工技术[M].北京:高等教育出版社,2002,2.

[3]李蓓华.数控机床操作工[M].北京:中国劳动社会保障出版社,2007,2.

[4]李谟树,张钟.数控技术一体化课程教学改革的探索与实践[J].顺德职业技术学院学报,2006,(6).

如何才能快速的学习编程技术 篇9

虽然这并非绝对需要,但在学院或大学的四年学习可以让你见识到各种不同的语言,你可以在网络上和专业人士或者其他学生交流。这种方法不一定适合所有人,并且很多成功的程序员都没有在一个耗时4年的机构学习。

创建自己的代码库

当你在创建程序并且不断扩充你的知识时,确保你所有最好的程序都保存自己的代码库中。你可以把这个展示给招牌和面试官看你所做的工作。确保这包含了你所有时间的工作,并且确保你可以用这些程序给给另一家公司做任何工作。

做一些外包兼职工作

对于程序员来说有非常大的自由职业市场,尤其是移动App开发。带上几个小的外包兼职去感受一番商业编程是如何运作的。通常境况下你可以用外包兼职的工作来帮助你建立代码库,并且这将有益于新的作品。

开发你自己的免费程序或商业软件

你不必为一家工作来换取金钱。如果你有能力,完全可以独立开发软件并且让其免费,通过你自己的网站或者其他的市场。准备好提供为你的商业软件做技术支持,因为你的客户希望它们能完好的工作。

如何系统有效的学习java编程 篇10

如果一个程序返回一个没有任何值的集合,请确保一个空集合返回,而不是空元素。这样你就不用去写一大堆 ”if else” 判断null元素。

Java 的标准库设计者已经在 Collections 类中放了一个空的 List 常量 EMPTY_LIST,除此之外,还有 EMPTY_MAP, EMPTY_SET,真是贴心。

2. 小心使用 String

因为字符串相加或者拼接的方式都会在对象池中查找字符串是否存在,如果不存在则创建,这样在拼接的过程中会产生大量中间过程的字符串,占用内存资源。StringBuilder效率优于StringBuffer,但是StringBuffer线程安全。

另外,在实例化一个字符串对象,构造函数应该避免发生直接实例化,例如:

3. 避免不必要的对象

一个最昂贵的操作(在内存利用率)是java对象的创建。因此,建议只在必要时创建或初始化对象。下面的代码给出了一个例子:

4.Array 和ArrayList 选择

编程的学习方法 篇11

一、引言

大型数控铣镗床一般都配备数控镗铣头,有直角角度铣头、可调角度铣头、万能角度铣头和伸长铣头等,可方便调整加工的角度和位置,如果能编程控制铣头的角度,就更为方便省力,也能保证加工的精度要求,提高工作效率。大型工件上的斜槽、斜孔等较多,除了将工件按角度装夹外,需要更多考虑工件体积过大的情况,而选用调整角度铣头的方法完成斜面、斜槽和斜孔的加工。在加工的直径达 11m,大型卸料端端盖上总共加工 540个孔的情况下,如果不考虑刀具、编程和机床的结构问题,加工效率会大大降低。

二、工作准备

1.任务描述

卸料端端盖(图 1)为铸钢材料,净重 26,356kg,最大直径达 10,922mm。其上共有 252个斜孔,直径均为52mm的通孔。第一排孔的初始角度为 6.429°,两排孔间隔 12.857°,圆锥面上各孔分布圆直径为 φ4,019mm、 φ5,255mm、 φ5,746mm、 φ6,445mm、 φ7,525mm、 φ8,016mm、 φ8,850mm、 φ9,341mm、 φ9,735mm。其中 φ4,019mm分布圆上孔的最大钻通深度 195mm,其余各孔的钻通深度 140mm。

图 1 卸料端端盖

加工该零件选用横梁移动式数控龙门镗铣床,工作台最大承载 200t,立柱间距 6m,主轴锥孔 ISO60,横梁升降行程 3.2m,工作台纵向( X)向行程 18m。特别适用于零件本身重量大,工件长度较长的黑色金属和有色金属的各种平面、曲面、空间曲面和孔的数控加工。滑枕铣头在配置各种附件铣头的情况下,可以在工件一次装夹中按给定的程序自动连续的完成 5个面上的铣、镗、钻、扩孔、铰孔和攻丝等多工序多工位的加工。卸料端端盖由 4部分组成,合为一个整体,考虑到直径太大,超过机床立柱间距,拆开两部分,分别加工其上各孔。同时由于工件太大,不能倾斜装夹加工斜孔,所以机床要配备数控万能角铣头。

2.制定加工工艺

该零件大致经过如下工序过程:划线→粗加工 90°结合面→四件把合到一起把牢→划全线→粗加工各端面、外圆和锥面→ MT探伤→划线→精修 90°结合面符图及其上各孔→四件把合→精车各部符图→ MT探伤→划线→钻锥面上各孔→去掉工艺焊块→清整、去毛刺→交检。

本文要研究钻锥面上各孔的方法,完成加工的最后一道工序,零件(两件把合在一起)内锥面向上顺工作台平放(图 2)按结合面及法兰上端面(A—A剖右端面)找正,按内孔定心,精度 0.1mm,按程序完成各孔的加工。

图 2 工艺简图

3.刀具的正确选用

该零件上孔的数量太多,工件材料为铸钢材质,有很高的硬度,如果选用普通麻花钻,钻削速度会受到限制,同时对钻头的刃磨质量提出很高的要求,钻削效率会大大降低。所以选用目前较为先进的内冷式机夹刀片浅孔钻(图 3),也称为U钻,刀杆可重复使用,刀片选用立方氮化硼材料,钻削若干孔后,可更换刀片改善钻削情况。钻头尾部装有减振夹柄,可将钻削的噪音降至 60分贝以下。同时装有内冷装置,钻孔时,U钻切削液从刀具内部喷出,在冷却刀具的同时,还有助于排出切屑。

4.工件装夹与安装

受机床宽度的影响,需要将工件拆开成两部分,平放在工作台上,边缘处放垫铁,并拉表找正。工件坐标系设在工件的边缘处, Z向零点设在距离工件上表面1,389.317mm处,符合图样的设计基准,如图 2所示。

图3 U钻

5.调整铣头

机床上装 N0.5万能角铣头,角铣头有两个旋转轴 B和 C,为了准确编程完成钻孔任务,让 B和 C轴中心交点与工件坐标系原点重合,才能准确控制铣头的角度和位置,首先按图 3所示找到铣头中心位置,具体过程为装万能角铣头,并安装靠棒,将铣头调整到图 4(a)所示水平位置,找一参照物,上表面加工精度较高(平面度和粗糙度),把量块放在靠棒与参照物上表面间,感到拖滞则为对刀成功,铣头中心距离参照物上表面为 50+40/2=70。取出量块,侧移铣头, Z轴负向移动 70mm,并将相对坐标系中 Z置零。

(a)(b)

图 4 万能铣头确定回转中心

卸下靠棒,安装刀具,并调整铣头到图4(b)所示位置,同样用量块对刀操作,对刀成功后,查看相对坐标的 Z值为550mm,计算550-50=500mm值为刀尖到铣头回转中心的距离,即为刀长值。按刀尖对刀后,自然就得到铣头中心到被测面间的准确位置。钻孔前,将刀具刀轴角度调整为绕 B轴15°,注意旋转角度与被加工孔的方向要一致,防止将孔钻错。

三、编程

1.编程指令

(1)可编程的零点偏移指令 TRANS、ATRANS。TRANS为绝对编程零位偏置,参考基准是当前设定的有效工件零位,即使用 G54~G599中设定的工件坐标系。而 ATRANS附加可编程零位偏置,参考基准为当前设定的或最后编程的有效工件零位,该零位也可以是通过指令TRANS偏置的零位。加工大型零件时,常用该指令实现坐标系的平移,后面直接跟 X、Y、Z方向的平移量。

(2)可编程旋转 ROT、AROT。对于某些围绕中心旋转得到的特殊轮廓形状,如果根据旋转后的实际加工轨迹进行编程,就会使坐标值计算的工作量大大增加,而通过坐标系统旋转功能,可以大大减少编程计算的工作量。ROT绝对可编程零位旋转,参考基准为 G54~G599指令建立的工件坐标系零位。而 AROT附加可编程零位旋转,参考基准为当前有效的设置或编程的零点。指令后跟旋转平面内的旋转角度,大型机床上,加工斜面、斜槽和斜孔时常用该指令完成。

2.编写程序

程序名必须以 2个英文字母开头,该程序名为 CX2a。 R1为每一排孔的起始角度值; R2为加工第二块时角度的附加量,在 R1的基础上附加 90°; R0为水平尺寸转换为锥面尺寸的转换量;首先调整铣头角度, B轴转过 15度,与孔的角度一致,再绕 C轴转过要加工某排孔的角度;其次调整坐标平面的角度,先绕 Z轴水平旋转 R1所赋的角度,再绕 Y轴旋转 15度,坐标平面与刀具轴线垂直,最后坐标系平面向上平移刀长距离,以使钻孔深度不受刀具长度影响,如果有刀具长度的变化,可以在刀具长度补长表中输入刀具长度补偿值;最后编程如下。

四、结语

浅析数控机床的编程方法研究 篇12

1 数控机床编程简介

数控机床编程是数控机床的程序编制, 是通过编制一系列的指令来完成数控机床的规定任务, 由专门的编程者来进行编制, 以满足零件图样与工艺要求为原则, 并且程序检验合格后才算完成整个过程, 分为手工和自动编程。

2 手工编程方法研究

(1) 加工方法的确定、加工计划的制定。这两项工作的完成需要对零件图样及工艺要求进行具体的分析, 确定出一下六个方面的具体方案: (1) 此零件安排在哪类或哪台机床上来进行加工为合适; (2) 加工路线图的确定, 就是对刀点、加工起点、走刀路线及程序终点的选择; (3) 刀具类型及数量的确定; (4) 装夹具选择及装卡位方法确定; (5) 确定好加工过程中是否要换刀和什么时候来换刀, 是否需要冷却液等问题; (6) 切削参数的确定 (切削宽度及深度、主轴转速等等问题) 。

(2) 坐标数据的计算。编程时需要的坐标数据要根据零件图样几何尺寸计算出来, 或计算刀具运行轨迹数据。

(3) 加工程序单的编写。编程者需要编写科学的加工程序, 必须根据确定的加工方法及获得的数据, 并运用自身丰富的工艺知识, 才能编制出合理、实用的加工程序。

(4) 控制介质的制作及输入程序信息。在加工程序完成后, 编程者将程序信息输入计算机数控系统程序的存储器中;也可以通过介质将信息导入计算机数控系统程序的存储器中。

(5) 程序运行检查。在编号程序后要先进行检查才能用于生产加工, 或可以做零件试加工检查。如何结果不是十分理想, 便要进行调整或修改, 往往要经过反复的实验才能达到满意结果。

以上的各项工作都是由人工完成的, 这种编程方式被称为“手工编程方法”。手工编程是目前一种普遍应用的编程方法, 因为在许多机械制造行业里, 需要加工大量的由直线或圆弧等形状简单的零件, 数据计算也简单, 程序检查简单容易, 所以普遍采用手工编程这种方式, 而且手工编程使用的设备简单易操作, 因此操作者可由不同文化程度的人来组成。

3 自动编程方法

自动编程是计算机在编程过程中, 除了手工编程的部分外, 其余全部是计算机自动完成的。自动编程有效避免了手工编程容易出现的错误问题, 提高了程序的工作效率, 解决了手工编程无法解决的许多复杂零件的编程困难。自动编程是计算机根据特定的编程语言, 自动计算出零件所需的数据, 自动绘制出零件图形和刀具运动轨迹, 并自动进行检查修改, 自身制定出正确的加工程序。而且在这一系列过程中自动编程的速度要比手工编程快几十倍甚至更多, 大大节省了加工的时间及提高了准确率。

3.1 数控自动编程的类型

使用最为广泛的自动编程方式是图形数控自动编程;用数控语言代表加工零件的几何尺寸、工艺要求的切削参数等, 输入计算机后进行处理得出的数控加工程序是语言数控自动编程;采用语音识别器将编程者发出的加工声音指令转变成加工程序, 是语音数控自动编程。

3.2 常用的几个指令编程技巧

(1) 刀具补偿参数D、H的功能相似, 通常可以互换, 但是为了防止错误出现, 一般定H为刀具长度的补偿地址, D为刀具半径补偿地址。H的补偿号为1~20号, D是从21开始。

(2) M02和M30。二者功能也相似, 不同在于执行到M02时, 程序光标停在程序末尾, 执行到M30时, 光标返回程序头位置, 不管是否还有其他程序段。

4 安全操作加工

为了在几个过程中机床不发生碰撞要注意几点。

(1) 计算机仿真系统的有效利用。

(2) 注意机床自带模拟显示功能。

(3) 机床的空运行功能检查好走刀轨迹的正确性。

(4) 锁定功能利用好, 数控机床进入输入程序后, 锁定z轴, z轴的坐标值可以判断机床是否会发生碰撞。

(5) 刀具长度补偿及坐标系的设置必须准确, 机床启动时坐标系和编程时一定保持一致, 否则铣刀和工件就有可能会相碰。

5 结语

数控机床的编程方法对数控机床的现代化发展起着决定性的作用, 目前的数控机床编程方法还不尽完善, 为了提高数控机床的工作效率, 必须合理使用数控机床的编程方法, 并且要在现有的基础上进行创新与发展, 使我国数控机床未来的发展有所保障, 让现代化信息技术融入到数控机床的编程方法中去, 提高数控机床的工作效率, 为国家的经济建设贡献一份力量, 为人类造福。

参考文献

[1]范超毅.我国实施数控机床产业化的必要性和紧迫性[J].机床与液压, 2007, 4.

希望这些对学习编程的你有用 篇13

web?嵌入式?通信?客户端?游戏?还是科研?

2.语言:

C语言 VB C++ VC JAVA Delphi 汇编 数据结构

ASP JSP PHP XML

ASPX C# VB.NET VC.NET

VFP MSSql MySql Oracle PB

3.小组:

C语言Python RubyUbuntu Debian PHP Jquery

图像处理 密码学 无线通信

C和C++ 一般用于服务端的服务程序开发,硬件编程开发,系统等等大量框架要用到的。

JAVA,学好这个可以开发移动设备程序,JSP网页程序。

C#,学了这个可以开发Winform,WPF,ASP.NET,等等..即.NET的一个系。VB:Windows窗口应用程序开发。

Delphi:强大的窗口编程软件,执行效率很高。

Matlab:这个是数学软件,一般作为开发股票软件等等。

慎选程序设计语言

男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。

如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。

游戏程序设计师——工作内容

① 负责游戏引擎的开发及编写相关工具;

② 编写游戏程序,并且对于程序中存在的bug,能够尽量发现并给予适当的解

决;

③ 设计新奇的游戏,能很好的把握玩家的心理;

④ 准确分析整体需求,收集相关资料,提出内容编辑方案;

⑤ 准确地向开发人员表明设计意图,在开发过程中及时进行沟通并解决问题。

嵌入式程序员——应具备哪些能力

最直接的方法,就是去根据各公司,招聘网站的嵌入式软件工程师的应聘要求来分析

我帮你总结下:

1.最重要的是C语言编程,以及C++,这个与你读程,应用,开发项目,做系统移植息息相关;

2.操作系统: LINUX,WINCE等,至少学习过一种,并且还需要对些基础知识有蛮多的了解;

3.对ARM,FPGA,DSP等这些硬件比较了解。

关于软件工程专业的一些看法

辨析完学科利弊,我想借这个机会解开几个外行人的误区。

第一、“学软件很难,一定需要很聪明加很勤奋”

个人以为,这是最大的误区。注意,在此“学软件”特指以进入软件公司参与软件工程工作的所需知识。以笔者所见所闻以及个人体会而言,软件公司需要的一门程序设计语言以及软件工程图等知识其实都相当基础,只要正常智力的人花正常的时间学习,都可以顺利掌握。在此比较胆大妄为的说一句,大部分软件公司需要的程序员连大专学历都不需要,抓个中学生去北大青鸟之类培训个3个月就够了。

第二、“软件行业很累”

这也是重大误区之一。不举特例,以普通工作强度而言,从事软件编写的人员相对于金融类的工作要轻松得多。笔者的同学不少已经走上软件公司的岗位,而本人也到公司上过班,最大的体会是,我们就是复制粘贴机。以管理信息系统而言,其实倒来倒去无非都是些数据库的读取、修改、删除以及查询功能,其实做完配置后,代码机会一成不变。而美工往往又有专人负责,于是一个熟练程序员的工作其实异常轻松。我同寝的哥们在一家私企工作(传说中压榨最厉害的地方),经常1一个小时搞定一天的工作量,现在已经无聊到打算拿点公务员的书上班学习了,可见一般。

第三、“软件行业的毕业很有钱”

这个误解相对较少,毕竟这年头好本事不如好关系,大家也都很了解。就我看到的软件行业毕业生,一般的本科在厦门就业月薪大概为3000左右,硕士6000。而去北京、上海、深圳的本科比较不清楚,几个相识的大致四千多五千左右,硕士可以年薪十万,也并不是特别高价。不过软件行业最大的好处是创业成本低、风险小,倒是致富的好机会。

第四、“软件专业的学生对电脑软件绝对精通”

对于这一点,笔者感触很深。经常有非本专业学生(尤其以涉世未深的小美

眉居多)在msn或者QQ上直接发来一个几角旮旯里的软件使用问题,并渴望获得解答。更有甚者认为重装操作系统是软件学生的专业内容,令本人无语至极。再次重申,我们不是学重装电脑滴,而本人更是QQ功能都用不溜呢~

最后,我想谈谈软件工程专业毕业生的出路问题。不能免俗的,先谈谈公务员和出国这两个大热门。在之前的就业问题中,已经大致聊了公务员的话题,这里我就主要就发展问题说说看法。信息学科类的学生考入一般国家部门之后,在未来发展过程中,所学技术所起的作用就微乎其微了。无论是管理领导型职位还是技术性岗位,坐在电脑前琢磨技术的日子基本就一去不复返了。这对很多不喜欢本专业的同学(尤其是女同学)是绝对的福音,因此,高待遇又是铁饭碗的公务员对于试图转行的人来说无疑是一个上等选择。至于出国,本专业也是比较吃香的。相对于文科类专业,申请国外大学的CS或者EE全奖无疑在难度上下降很多,尤其是PhD学位。而软件工程专业的学生较强的动手能力和项目经验对国外大学教授无疑是一个不错的套瓷亮点。笔者在国外交流学习一年,颇感国内大学在技术和治学方面的差距,从总体上说,如果在没有经济压力的情况下有志于从事本专业学习的同学,出国留学还是必要的,毕竟在外的生活可以锻炼的方面很多,不仅仅是学术,还有强大的关系网和处事能力,这些对于个人的成功都是极具帮助的。

然后就是读研(国内大学)。应该讲国内的研究生培养质量较差,很多人都是混文凭求工资的心态,真正的研究型人才很少。而软件学院又是很特别的一个地方,因为有软件工程硕士和计算机工学硕士可以选择。对于两者的区别我就不在此多谈,有兴趣的同学可以自己google,不过选择胡乱招人的北大软件工程硕士还是相对来说名气较为一般的学校的工学硕士,这又是一个保研人士的大难题,也是仁者见仁、智者见智的问题。不过从总体上看,至少拿到信息学类的硕士学位,年薪十万还是比较容易保证的,这也是读研人数依然不少的原因了。此外就是进入软件公司这个常规大路。其实也没有特别的看法,毕竟终究要转行做管理,那么提早参加各种社交场合对于未来是比较有前瞻性的准备。不过比较有趣的是,这个最常规道路其实走的人最少,就算拿了一份不错的薪水的朋友也一直没有停止过挪位子的想法,这和中国人重视社会地位的观念还是有很大的关系吧。

至于创业,目前还是难度很大的一着险棋,尤其是涉世不深的本科毕业生,难度之大无法想象。笔者作为求稳一派,并不推荐。当然,在有稳定工作的前提下,做一些尝试就未尝不可了。

学习编程 篇14

其实也不用说太多,你问你自己几个问题,如果你都能做到或者学习半到2个月就能做到,那肯定是达标了:

1、我能用C++做出2D的RPG游戏吗?(C++与api或框架的结合运用能力)

2、我能用C++通过3种以上的方法写出四则运算表达式分析器吗?(C++与数据结构、算法的结合能力)

3、我能用C++写出类似STL的简化版的库吗?(库与框架设计能力与C++高级语法运用能力的结合)

补充:

①、你能这么问,说明你知道编程能力对IT行业高薪工作的重要性是至关重要的。②、你的目的性已较强(知道要深入下去),但是你也想有更加明确的目标,我可以给你讲一下怎么自己去寻找目标和路线以及怎样学习。

③、计算机专业领域一共有几个大方向,十几个分支方向,而每个分支方向又有几十个小方向,每一个方向的深入学习与熟练到一定火候都不是一朝一夕,互相之间也不是完全没联系的,但是你现在就应该选择一个大方向并在其中的一个小方向内深入(为什么要这么早就选择具体的分支方向?后面说)。

④、这里列出计算机的几个大方向(非编程开发类的我就不说了):

基本方向:

1、单片机、嵌入式方向

2、网络编程:涉及到服务器程序、客户端开发、脚本设计等。

3、系统编程:基础API开发、桌面开发、系统程序开发、服务程序

4、图形学:3D、2D、图像识别、人脸识别

5、音频:语音识别、音频解码、音频软件

6、编译原理:编译器设计、脚本解释器、虚拟机、非自然语言翻译系统

7、应用层开发:利用高层语言去开发表层应用

8、安全:反工程、病毒、反病毒、木马、反木马、软件破解、软件加壳

附加方向:

8、人工智能:遗传算法、神经网络、灰色系统等等

9、游戏设计:各种游戏引擎设计以及业务逻辑设计等

⑤、基本方向是你一定要选的,附加方向只是基于基本方向的一些锦上添花,但是不管你怎么选,最开始某些东西一定要深入而不是只是懂就够(当然你对自己要求似乎不会很低),我把这个列出来:

数据结构:下面其他理论的基础。

操作系统原理:理解操作系统的架构和细节,你才能对以后关于多线程、文件管理、内存管理、指令优先级等有一个正确理解和运用。

编译原理:能够升华你对计算机编程语言的理解,对以后出现的各种编译、解释、兼容、移植、优化、并发与并行算法等有一个深入理解。

数据库系统原理:这个是进入公司都要会的,也是大型软件开发的基础。

软件工程:这个是你能够在经验不足还能保证大项目正常完成的理论基础。

网络技术:这个是必须学的,因为目前几乎没有一款装几率很高的软件或者平台跟网络无关。

数学的话,主要是:离散数学、线性代数、高等数学、计算机图形学、概率论

以上几个基础就是你成为一个融汇各个主要分支牛人必须学的(当然不是指理论,而是理论+实践编码能力)

⑥以上都是大的基础,要一一攻破并深入学习,虽然网络时代计算机专业知识爆炸式的增长,但是以上几个基础掌握后,会发现,以后的什么新的理论和技术都是基于这些大基础,你就很容易理解了。

⑦我为什么开头不讲你要具体学什么怎么顺序学呢?因为那些技术你要掌握的话,根本可以自己解决,但是如果你由于兴趣,沉迷于一些自己可见的小范围技术的话,那么毕业后虽然也能找到不错的工作,薪水也可能高,但是不能成为一个大牛现在才开始讲学习顺序,虽然你说不要推荐书,不过我还是要用书来做顺序。

C语言是可以写很多核心和高级的东西,而不只是小东西,但是从你代码来看,居然用到了 goto,我不是说你那些程序用到GOTO有什么不好,而是一定要避免用GOTO,goto是错误之源,如果你有什么内容非要用到goto才能写到,说明你的编码技巧还有不少提高空间。

你的学习顺序应该是:

C:做一个超级马里奥出来,并能够读取文本脚本来更新关卡。

C++:写一个2D图形引擎,封装掉细节,实现面向对象设计和可复用设计,并且用到《设计模式》中提到的一些设计模式,这样才能算对C++有一个很好的掌握。

MFC:MFC技术虽然近期已经冷下来了,但是你能熟练掌握它,才能证明你的C++OO技术够纯熟,严格证明你掌握了MFC很简单,你只要用MFC做出一个杀毒引擎就差不多了。推荐的书有《深入浅出MFC》。

《Windows程序设计》:和MFC不同的是,用的是windows核心SDK,也就是API,这本书学完后,你才能从操作系统层面上算掌握了win32平台下的机理(其实win64和win32大部分机理类似)。

C#:C#里**了当代和前沿计算机科学里最先进的一些语法(虽然执行效率一直被人质疑),但是你学完C#并深入后,至少能够算是对计算机语言有一个更加深刻的理解了。如何证明你C#学的不错了?也很简单,再次写一个随便什么游戏,比如俄罗斯方块。如果更加证明自己呢?用它写一个P2P网络对战游戏。

(如果你注意的话,会发现我说的学习顺序都是沿着语言和某些技术的,为什么呢?因为这些语言和技术涉及到特定的领域技术和计算机理论思想,比如【真正】学完了C#的话,就不单指学完了C#,而是把多种语言范式都学习了一遍,以及现代的程序开发思维(因为里面用到了很多让你一劳永逸的技术))

以上5个步骤都是基础大步骤,要解决的话要没1-2年应该不够。

与此同时,要尽快选出文中你感兴趣的方向作为3-5年的长期方向,不要担心过早选择分支方向会有什么损失,因为计算机很多分支是相通的,只有你把分支方向深入进去,才能真正理解很多理论的实践意义。并且一旦你在某个分支领域形成了较强的优势(比如,到公司里只有你这方面最强),那么你就是稀缺人才。

关于大方向的步骤就不说了,你主要就是要把我说的这几个基础步骤先解决,同时平时要注重大方向理论结合实际去编码和开发。

如果只是看了一本经典的C++教材,基本上也就只能做一个基于控制台的的“图书管理系统或者类似而的东西”,而真正需要的东西往往总是与一些其它东西结合的。

比如如果要做一个Windows程序员,首先肯定要会开发Windows下的GUI程序,这就涉及了两个常用工具――MFC和.net framework。关于MFC有两本经典的书,候俊杰的《深入浅出MFC》和孙鑫的另外一本,如果要学习.net framework,那么不妨顺便学习一下C#,经典书籍无疑是《C#入门经典》。顺便说一下,有了C++的基础,C#的语言部分基本上两三天就能熟悉了。

Windows程序员如果要对操作系统更加的熟悉,肯定还要了解Win32 API。无论是MFC还是VB、.net framework其本质都是对API的封装,在对API的了解过程中,可以更深刻的理解Windows的运行机制。这里推荐的无疑是《Windows核心编程》

如果需要开发Windows平台下比较底层的程序,比如RamDisk、杀毒软件、防火墙等,那么就又有两个必学的课题了。一个是Win32汇编,一个是基于C/C++的驱动程序编写。Win32汇编的书无疑就是罗云彬的《琢石成器》,而驱动程序的书实在是太少了,将WDM的书可能还有一两本算是经典,WDF就是开玩笑了。

如果要用C++开发Windows下的游戏,那么DirectX无疑是一个必学项目。

如果要用C++开发嵌入式系统,那么当然要看看单片机和ARM的书籍了(顺便说一下,单片机程序基本上都用汇编或者C语言来写)

如果是编写用于Linux的GUI程序,那么就有必要了解几个流行的GUI库。QT、GTK+、wxWidgets是其中最优秀的几个。顺便说一下,QT还是跨平台的,一次编写,然后就可以编译到Linux、Windows、Mac不同的系统中。关于QT的书这里推荐《C++ GUI Qt4 编程》,官方教材。

如果是编写涉及网络的程序,比如说类似eMule这样涉及应用层协议的东西,那么首先学习一下网络的基本知识是很必要的,这里推荐的是《计算机网络:自顶向下方法》最后再加一些比较根本的东西:算法。算法始终是软件的灵魂,经典教材有《算法导论》和《具体数学》等

C++的高级技巧。一般的C++通用教材不会涉及的,而在实践中又会遇到的某些很别扭的、比较难回答的问题。这类涉及C++高级技巧的书,最经典的无疑是《Effective C++》,另外关于C语言的《C陷阱和缺陷》、《C专家编程》也不错。

上一篇:五星班级评分标准下一篇:以弘扬抗战精神为话题的心得体会1000字