20165310_获奖感想与Java阶段性学习总结
获奖感想与Java阶段性学习总结
一、Learning By Doing
在此之前,其实我并没有想到能够成为小黄杉的第一批成员之一,喜悦之余,也感受到了许多的压力。小黄杉一方面代表了老师对于我这一阶段学习成果的肯定,但同时也是对我的督促与要求,使我更加不敢在学习上懈怠,以免成为反面教材,贻笑大方。
回忆这一阶段的学习历程与经验,其实正应了小黄杉上印的字:Learning By Doing。
二、课程学习
Java首先是一门专业课程,在专业课程的学习中,我认为理论、实践的学习都缺一不可。
1、语法基础
学习一门编程语言,语法是基础。书本的意义正在于此,每一章的书本学习与代码练习正是一个扎下基础的过程。
书本越往后内容愈发艰深,甚至有些同学前五章内容还没理解就试图钻研后面的内容,打算“遇到了前面的基础部分再回过去学习”,但其实,在我看来,前五章的基本语法反而比后续的更加深奥的内容更加重要,正如老师所说:学好前五章的内容后,后面的内容临时用到了再去学习也不迟,很快就能掌握。
例如一直看书觉得不太能掌握的的第八章的I/O令我很是头疼,但在四则运算的结对编程中,由于需要实现文件的输入输出功能,不得不对每种输入输出方法进行更加集中深入的学习、理解,再进行优缺点选择出最适合需求的输入、输出流,最后进行语法的学习从而实现这一功能,效果比当初单纯的看书要好上许多。
倘若没有前五章的基础,是无法一步登天学会更加深奥的语法的,回头学基础未免不成体系太过零碎,所以不可忽视这一基础。而仅仅把学习一门语言定义为语法的学习,从客观来讲,一周两章的内容学习任务的压力其实很大,个人来讲只能囫囵吞枣,不如“以用促学,学以致用”,从而进步。当然,若是精力能力足够完成学习任务的同学,也可以将书本所有内容细细学习一番,或许基础会更加的扎实。
2、实践巩固
所谓“纸上得来终觉浅,绝知此事要躬行”。书本是基础但不能拘泥于书本,所有的语言学习都是为了实践而服务的。
不知道有没有同学跟我有一样的感觉:单纯看书,不去使用,很多新学的东西过了一周,最多两周就会忘记,这时候实验的作用就会体现出来。
但是每次的实验其实都不是一个一帆风顺的过程,往往要耗费大量的时间、精力去设计、调试,每当千辛万苦写完的代码甚至无法运行的时候,我的内心其实也是崩溃的:连个单步的机会都不给我。但正是一次次不厌其烦的调试,一次次地单步运行,才会使我们发现一些看书忽略的细节,发掘自己思维的漏洞,这是书上的东西才会变成你自己的东西,每次完成一个实验之后的成就感也会成为你继续学习的动力,而多次试验后你会发现实验过程越来越顺畅,最起码代码无法运行的情况减少了很多。
例如,以前的我喜欢有个大体框架后就开始写程序的坏习惯,一些情况的判断与细节喜欢“到时候遇到了/想到了/运行出bug再写”,而这往往是逻辑错误的来源,后来多次碰壁后慢慢改正了这个习惯,更多的去将整个流程详细思考构建过后,再进行整体的书写,血与泪的教训下我的实验已经高效了许多。
三、元知识
那么按照这个说法,我们学完前五章,定时写写实验,那么我们早在开学前几周就完成了Java课程的学习,我们之后的课程岂不是没有意义了?
答案是否定的。我记得开学第一堂课,老师就提到过元知识这一概念,我们后续的学习在我看来,就是不断学习元知识的过程。
这一过程是超脱Java课堂的过程,是可以用于其他领域的能力,这一能力使我更加受益匪浅。
1、工具的掌握与学习
我的电脑是MacOS系统,班里和我用同样系统的同学对于一项事情大概心有戚戚焉:安装软件工具有时候真是太麻烦了。
的确,不使用虚拟机的话,MacOS安装使用一些工具的教程其实并不多,它和Linux很多部分可以共通但也有很多不同,和Windows系统更是截然不同,每次安装新的工具都会使我们耗费很多的精力,例如上次的XAMPP的安装,端口、环境、配置等各种因素影响下,耗费了我一个周末的时间研究,才能正常运行使用。
但是正是每次这一并不简单的过程,使我掌握了如何通过网络,快速寻找解决方法的能力,如何独自解决开发环境与工具的安装使用问题,这一能力,并不仅仅局限于Java的开发使用,而是在别的学习过程中也大有用处。
2、思维的学习
Java和C语言最大的不同在哪里?在于其思维的不同。在开始学习Java的过程中,我经历了一个很长的思维转变过程,通俗来讲,C语言更多的是解决一个问题,而Java更多的是解决一类问题。
说来惭愧,其实直到现在我有时候的程序依然没能完全满足O·L·D·I·C·L的原则,但是我一直在努力改变自己思维,也在不断修正以往写过的程序努力靠近这一原则,虽然还没有完全达成目标,但是这一过程本身就是一种进步,思维的进步比语法的学习其实是更为重要的收获。
其实我并不反对上网查询、借鉴别人的代码,因为我也常常有逻辑上的疑问需要解答,每一次解决的困惑都是经验与思维的积累,但是我并不赞成直接的复制粘贴,因为不会的语法可以查询,可以借鉴,但是别人的思维是无法借鉴的,不掌握它,下一次依然不能独立解决问题。
3、不要重复制造车轮
上述的感想似乎将Java描述成了一个艰苦卓绝的学习过程,但其实你要是能够寻找到正确的省力方式,这个过程会简单很多。
正如我上文所说,我不反对遇到瓶颈的时候去阅读别人的代码以求启发,而能够引用别人的库更是一种轻松而又简单的做法,众所周知重复的制造车轮并不是一种聪明的行为。当然,在引用别人库之前为了加深自己的理解与学习进行的实现编程也是一个必须的过程,正如我们在用sort方法之前自己理解并且实现过快速排序、冒泡排序等一系列的功能,但是若是次次都“反复制造轮子”,未免就有些费力不讨好了。
例如之前老师课上讲到的密码学算法的库,就可以在接下来的密码学实验中一展身手。能够正确的“偷懒”,相信大家也是喜闻乐见的。
四、元知识的应用
这些元知识的应用其实往往是并不显眼的潜移默化的学习能力的增强,但是由于这段时间连续的比赛,我的感受较为深刻一些。
在比赛的时候,你遇到的往往都是你不曾接触过的内容,涉及程序的题目,也不会只有C语言、Java相关的程序需要你去解读,你看到更多的是Python、JavaScript、PHP……
但是你从来不会听到一个选手说:这个语言我没有学习过,题目我不做了。取而代之的是你必须抓紧时间,去学习新语言的新语法,尽快读懂题目的代码与意义,这时候你的元知识就会派上用场:你能否利用搜索引擎快速寻找到合适的编程、运行环境?你能否结合你学过的东西尽快理解新的语法?……这个时候你会发现,所有的语言都只是一种工具与载体,同样的题目可以用不同的语言来编写,但本质其实并没有改变。即便是相对了解的语言,例如Java,你也需要重新学习并不常见的类,例如上次比赛出现的BigInteger类也是一次新的学习,随后的密码学计算方法实验的大数运算中,就派上了大用场。
与此同时也不代表对于你掌握的语言,能看懂就足够了。例如上文提到的Java的面向对象的思维,使我面对类似思维的Python等有所熟悉,就是一种经常运用、思考带来的好处。但此时能否将陌生语言的题目重写成你熟悉的语言进行改写、运行,也是十分需要功底的,倘若你编写、调试代码的时间就需要好几个小时,就会错过做题的时机。所以对于已经学过的语言,我们依然要精益求精,有所进益。
五、小结
每个人的学习形式并不相同,有的人适合系统的理论知识学习再进行实践体会,有的人适合边学边做例如我,只要是适合自己有所收获的方式都是值得鼓励的,我的学习方法上也依然存在许多需要改进的不足,更需要在学习中逐步调整方向与方式,不断改进,也希望能和老师同学进行交流,接受意见,汲取经验与教训。
但是最重要的是,我们要清晰明确自己的目标,对于元知识、硬知识、软知识加以学习分析并且灵活运用,努力向目标前进,不是一昧做题、练习,而是有所思考、感悟,学会融汇贯通式的学习,能够“举一反三”,相信不只在Java,而在任何领域上都会学有所成。
20165310_获奖感想与Java阶段性学习总结的更多相关文章
- 获奖感想与Java阶段性学习总结
获奖感想 其实我早就知道有小黄衫这个东西,而且它就在我的目标清单里,不过没想到娄老师发的这么早.我想小黄衫代表着的是老师对我这一阶段来学习成果和努力的肯定,虽然Java学习中付出很多时间精力,现在也值 ...
- 20175313 张黎仙《获奖感想与Java阶段性学习总结》
一.获奖感想 很荣幸能够成为为数不多的小黄衫获得者之一,这是对我近一学期以来学习成果的肯定,也激励着我更加努力学习. 首先我要感谢的人就是娄嘉鹏老师.我曾在师生关系中提到,我认为的好老师的特点之一是: ...
- 获奖感想和JAVA阶段性学习总结
一.获奖感想 事实上,这次能够获得小黄衫,实在是出乎我的意料.毕竟班级中还有不少比我优秀的人,但我不会妄自菲薄.我知道,这件小黄衫不仅仅是老师对我的奖励,更是对我的一种鞭策,一种激励.它要求我要在以后 ...
- 获奖感想和Java学习总结
获奖感想和Java学习总结 一.获奖感想 能成为小黄衫第二批的成员之一,我感到非常荣幸.我在对老师给予我的鼓励与肯定感到欣喜之余,更多的是感受到了一种鞭策与期望.小黄衫不仅仅是对我的一种奖励,更是激励 ...
- 20165211 获奖感想及java课程总结
20165211 获奖感想及java课程总结 理论脱离实践是最大的不幸.--达芬奇 这句话,是我在学习Java之前,假期内写的20165211 学习基础和C语言调查里的所引用的一句话,是当时我对Jav ...
- Java阶段性总结与获奖感想
一.获奖感想 这次能获得小黄衫,可以说是对我自己这半学期以来努力学习的一种肯定,也是激励我继续努力的动力. 首先,我要感谢给予我们耳目一新的学习方式的娄老师.我曾在我期望的师生关系中提到,我的高中班主 ...
- 20155206赵飞技能获取经验,C语言学习感想与对JAVA的学习目标
自己较强的技能获取经验. 1:实话实说我自己是没有哪个技能可以超过90%的人的,只有自认为做的还可以的一些事情,例如打篮球,office软件的应用,一百米跑.至于其他方面就是很平庸了. 2:经验主要有 ...
- 获奖感想和python学习心得
一,获奖感想 很荣幸能成为小黄杉的获得者,也很感谢老师对我的这份鼓励和期望.回顾本学期的python学习中,我从一名对编程一无所知的小白,成为一名刚入门的程序猿.首先,我要感谢我的任课老师娄嘉鹏老师, ...
- JAVA课程学习感想
JAVA课程学习感想 在学习JAVA之前,我们学习了C语言,汇编语言,数据结构等等.虽然学习了这些,但对于JAVA来说,学习起来不是那么容易,所有的计算机语言有相似的地方,但他们更有不同的地方.对我来 ...
随机推荐
- Oracle备份恢复之热备份恢复及异机恢复
原理: 数据库必须运行在归档模式下,否则备份没有意义.备份前冻结块头,使scn号不变化,然后cp物理文件,最后解冻块头.此过程dml语句可以正常执行,动作被写在日志文件里面,当解冻scn号后,日志文件 ...
- Oracle备份恢复之Oracle11G R2用exp无法导出空表解决方法
在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再roll ...
- What is Gensim?
Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达.它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法, ...
- 在选定合适的执行引擎之后,通过敏感字段重写模块改写 SQL 查询,将其中的敏感字段根据隐藏策略(如只显示后四位)进行替换。而敏感字段的隐藏策略存储在 ranger 中,数据管理人员可以在权限管理服务页面设置各种字段的敏感等级,敏感等级会自动映射为 ranger 中的隐藏策略。
https://mp.weixin.qq.com/s/4G_OvlD_5uYr0o2m-qPW-Q 有赞大数据平台安全建设实践 原创: 有赞技术 有赞coder 昨天
- Indexes (also called “keys” in MySQL)
High Performance MySQL, Third Edition by Baron Schwartz, Peter Zaitsev, and Vadim Tkachenko Is an ...
- Ubuntu下缓冲器溢出攻击实验(可以看看问题分析)
缓冲器溢出攻击实验题目: 下边的代码摘自<黑客攻防技术宝典——系统实战篇(第 2 版)>2.5 节,攻击该代码,获得root 权限,实现相应的效果. strcpy(little_array ...
- 添加用户username到sudo组
添加用户username到sudo组: usermod -aG sudo username USERMOD(8) 系统管理命令 USERMOD(8) 名 usermod - 修改一个用户账户 大 us ...
- 【python-opencv】19-Canny边缘检测
Canny 边缘提取的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是: 好的检测- 算法能够尽可能多地标识出图像中的实际边缘. 好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近 ...
- Redis经验谈(转)
原文:http://www.programmer.com.cn/14577/ 新浪作为全世界最大的Redis用户,在开发和运维方面有非常多的经验.本文作者来自新浪,希望能为业界提供一些亲身经历,让大家 ...
- Redis主从同步及哨兵原理
1.复制过程 复制过程大致分为6个过程: 流程图如下: 1)保存主节点信息 执行slaveof后从节点只保存主节点的地址信息便直接返回,这时建立复制流程还没有开始,在从节点执行info replica ...