刚才看了看这个分类前面发布的博客,这些博客基本是按照我培训的课程体系顺序来写的。如果你已经有一些编程的基础和经验(比如其他的编程语言,c,php等),看起来比较容易,如果完全是初学者一张白纸的话,只对计算机编程了解非常少的话,确实看起来云里雾里不知所云。
事实上这个课程体系设计,当初针对的学群是理工类专业三年级以上的学生,还假定有一定的计算机理论基础。后来该课程转而给初学入门的学生来讲授,也遇到这个问题。用学生的话来说,就是“以来就给我们一个下马威”。听着虚拟机、垃圾回收一头雾水,一下子就把学习的热情浇熄了,产生了畏难情绪。当初我应对的办法就是尽快完成这部分内容的授课,尽量讲的轻松有趣一些,夹杂一些有关Java发展的历史花边八卦之类的,再加上一些我工作中遇到的一些有趣的经历,转移学生注意力,并且暗示学生该部分内容不是很重要,不影响之后的学习。简单来说,就是尽快“混过去”。
所以如果开始看这个分类的博客的话,一开始有点晕不要紧,完全可以跳过去,然后看以后我更新的有关Java编程实践方面的内容了。等通过后续的学习了解之后,在返回来看,就会有不一样的感受了。说到底,这部分内有有点类似武功里面的内功部分,一下子是不可能有深入的了解和高深的掌握,只有在日积月累的练习之后,才会体会到基础的重要性。并且到最后,如果想要有质的提高飞跃,这部分内容是无法跳过的。
学习编程,实践和理论都是很重要的,哪个都不能偏废。
根据我学习的一些经历,再经过培训这段时间的累积。我的意见是(估计这些已经被很多人重复过很多了,但是我当初就是不认可相信,现在有点后悔了,所以我总是在培训过程中不断地重复,尽量少重复这些错误),首先尽快开始变成练习实践,不要抱着书本看,打开IDE,开始敲击你的键盘,让你的练习代码尽快正确的运行起来(哪怕是在命令行窗口输出一个hello world)。这样的话,能降低对学习的畏难情绪,提高学习的积极性(特别是程序运行后的成就感),最不济,也能很快知道自己确实对它不感兴趣,尽早放弃转而做其他,不要浪费自己时间。如果总是盯着书本不动手,一大堆的名词概念,早就把那些信心打击的七零八落了。
在练习过程中,当积累到一定阶段后,可以试着做一些成品的软件,不需要多完美,重要的是学习如何将编程的方法和实际的需求结合起来,完成得到用户认可的软件。这个结合过程有的时候是需要花费很长时间的。自己练习过的一个个小练习,如何组合搭配,完成一个完整的功能模块,这才是学习编程的最实际的目标。
就像是我前一段时间,项目中用到了extJs这个框架(当然它不是一门新编程语言),了解extJs,以及它的基本应用,做出基本的练习demo,很快,但是如何在这个基础上,和软件系统的框架平台结合,做出合格的功能模块,花的时间和精力要多得多的多了。
当这个目标基本达成后,就可以转回来在补一些相关的基础内容,就是再在基础上夯实,争取对编程的学习有一个比较抽象的总体的认识了。就像很多人说的,学习编程语言,当精通一门之后,学习其他的编程语言就感觉非常容易。因为从根本上基本上都是相通的,当你认识到这一点之后,你的技术能力,应该就是又有一个很大的(质的)提高了。
这个过程就因人而异了。如果确实学习起来很吃力(比如底层的计算机运行机理,高深复杂的算法),那么就适当了解就可以了,在必要的时候在花精力在上面。换句话说,如果深度上是在下不去了,那就在广度上做文章吧,多学点总没坏处。可以考虑开辟自己的第二、第三编程语言,以及软件IT行业的其他内容。比如软件的架构平台方面、软件项目管理等等。学习软件架构,平台和算法方面就不说了,很多学生在还不懂编程语言开发的时候,就立志要做架构师了,至于学习信息软件项目管理,并不是我官本位的思想作怪,做软件开发没前途,要做管理层,要当官(虽然在国内绝大部分公司是很现实的情况),最近我在准备信管的开始。通过学习这方面的内容,可以让你从比较狭隘单纯的软件开发人员的思维,有一个比较明显的转换,就是换换脑筋,从而和客户进行换位思考,对软件开发的整体流程有一个明晰的认识,这对于大家来说是有百利无一害的,即使最后你并没有当成什么项目经理。
先写到这。最近和以前的学生聊了聊,有了一些新的想法,就写下来。我的工作经验从软件开发,到半调子的项目管理者一直到it培训师,工作的公司有作坊式的微小企业,到全国数得上规模的软件集成企业,遇到过正规的流程,也有山寨的软件开发做派,最近时间还是比较多,慢慢整理整理这些年的工作心得,记下来和大家共享。
分享到:
相关推荐
JAVA Annotation学习示例 的一个简单示例 有源码 也有相关博客说明
精简博客系统代码 java精简博客系统代码 基于springboot的精简博客系统代码 1、精简博客系统的技术栈、环境、工具、软件: ① 系统环境:Windows/Mac ② 开发语言:Java ③ 框架:SpringBoot ④ 架构:B/S、MVC ⑤ ...
个人博客系统代码 java个人博客系统代码 基于springboot的个人博客系统代码 1、个人博客系统的技术栈、环境、工具、软件: ① 系统环境:Windows/Mac ② 开发语言:Java ③ 框架:SpringBoot ④ 架构:B/S、MVC ⑤ ...
Roller 是一个全功能的多用户博客平台,于2002年首发,采用Java语言开发,设计精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS ...
前言: 为了学习java方便,特整理成txt,这样上下班的一个多小时路程就可以充分利用了。 此份所有内容皆出自我的偶像:林信良(良葛格)的Java 学习笔记,网址: ...
Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] [TablePanel.java] 日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] ...
《计算机毕业设计:Java实现的博客管理系统》是一项精心设计的项目资源,旨在帮助本科学生、毕业设计参与者以及Java学习者深入理解并实践SSM(Spring+SpringMVC+MyBatis)框架的应用。该系统以博客管理为核心,实现...
此资源集包含了一套完整的Java实现的在线博客网站系统项目源代码、相关的毕业论文以及详尽的使用说明。它旨在提供一个全面、深入的学习和研究工具,适用于本科课程设计、毕业设计以及任何希望深入学习Java编程的学习...
1. 基于SSM, Spring, Java实现的博客系统, 可用于毕业设计。代码结构清晰,可学习或者重新定制开发。 2. 项目具有详细的开发文档说明,环境配置说明,亲测可运行。 3. 系统说明 3.1 系统介绍 本章的博客系统主要分为...
该系统不仅适用于本科课程设计、毕业设计,更是Java学习者深入理解SSM框架与博客系统业务逻辑结合的优质学习资料。 在技术层面,芝麻开门博客系统采用SSM框架作为后端支撑,确保了系统的稳定、高效运行。SSM框架的...
Roller 是一个全功能的多用户博客平台,于2002年首发,采用Java语言开发,设计精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS ...
JAVA+Scala语言开发基于机器学习的商品类目预测源码+文档说明.zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,...
Java毕业设计-基于SSM框架的学习交流论坛(源码+演示视频+说明).rar 【项目技术】 开发语言:Java 框架:ssm+vue 架构:B/S 数据库:mysql 【演示视频-编号:169】 https://pan.quark.cn/s/b3a97032fae7 【实现功能...
博客,就是在网络上发表文章、展现个人的个性,而博客系统,是为浏览博客的人提供一个相互交流、学习的平台。博客的两大基本功能是共享与交流。通过博客可以将同样兴趣、爱好、语言的一类人之间进行沟通。还可以将...