获奖感想与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,而在任何领域上都会学有所成。

转载于:https://www.cnblogs.com/atbaoi/p/8998524.html

20165310_获奖感想与Java阶段性学习总结相关推荐

  1. 获奖感想和Java学习总结

    获奖感想和Java学习总结 一.获奖感想 能成为小黄衫第二批的成员之一,我感到非常荣幸.我在对老师给予我的鼓励与肯定感到欣喜之余,更多的是感受到了一种鞭策与期望.小黄衫不仅仅是对我的一种奖励,更是激励 ...

  2. 20165234 [第二届构建之法论坛] 预培训文档(Java版) 学习总结

    [第二届构建之法论坛] 预培训文档(Java版) 学习总结 我通读并学习了此文档,并且动手实践了一遍.以下是我学习过程的记录~ Part1.配置环境 配置JDK 原文中提到了2个容易被混淆的概念 JD ...

  3. 史上最全面的Java高级学习体系(没有之一)

    https://www.tuicool.com/articles/uqYbUnJ 前几天,有一位同学问我说:"George老师,我现在出来工作4年左右了,可现在我总觉得我在工作中有好多的技术 ...

  4. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  5. java web学习项目20套源码完整版

    java web学习项目20套源码完整版 自己收集的各行各业的都有,这一套源码吃遍所有作业项目! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servlet) 3.OA办公自动化 ...

  6. 初级java开发学习路线_成为初级全栈Web开发人员的10分钟路线图

    初级java开发学习路线 So you have started your journey into the world of web development. But what do you lea ...

  7. Java培训学习步骤有哪些

    最近几年,有很多学习java技术的同学都有过半途而废的想法,认为java零基础是很难学会的,其实出现这样的问题,最主要的原因就是学习方法有问题,下面小编整理的Java培训学习步骤,希望能够帮助大家更有 ...

  8. Java入门学习注意事项有哪些?

    想要学好java技术,做好学习规划路线和注意事项是非常重要的,尤其是零基础学员,Java涉及到的知识点非常多,我们需要制定合理的Java学习路线图,这样会事半功倍,下面小编和大家总结一下Java入门学 ...

  9. java培训学习阶段步骤讲解

    目前的培训机构行业比较热门的IT技术就是java技术,java技术在近几年广受关注,java所涉及的技术知识也比较广泛,下面小编就为大家详细的介绍一下java培训学习多有哪几个阶段? java培训学习 ...

最新文章

  1. shell实例第1讲:编写shell脚本注意事项
  2. OpenCV计算机视觉编程之三种图像像素的遍历方法
  3. 数据之路 Day8 Matplotlib包
  4. 【联邦学习】FATE 集群部署 step1
  5. 谷歌发布TensorFlow 1.4与TensorFlow Lattice:利用先验知识提升模型准确度 搜狐科技 10-12 15:29 选自:Google Research Blog 参与:李泽南、
  6. 你正在用左脑还是右脑思考,请测试下就清楚了。
  7. mysql几个timeout参数_MySQL中 timeout相关参数解析
  8. docker mysql开机自启动_Docker 学会让容器开机自启服务
  9. 第四章 企业项目开发--切分配置文件
  10. wordpress迁移以及遇到的一些问题[mysql备份导入导出][固定链接404]
  11. 40条真言,希望对进阶中的程序朋友有所帮助。
  12. 2023北京航空航天大学计算机考研信息汇总
  13. wps页眉怎么设置不同页码_wps页眉的页码和页脚的页码不同怎么设置?
  14. 电脑无缘无故黑屏,无法调节亮度。
  15. 数学与计算机学院英文翻译,数学与计算机,mathematics and computer science,音标,读音,翻译,英文例句,英语词典...
  16. 30、【backtrader股票策略】《151 trading strategies》中的支撑与阻力策略(support and resistance)
  17. PHPWord替换word模板内容时,存在表格,且不确定表格行数的处理方式
  18. 德威控股在港交所招股书失效:2021年度利润大增,由杨时家族控股
  19. Unity 制作font字体
  20. 【公平锁和非公平锁有什么区别?】

热门文章

  1. 全国计算机等级考试题库二级C操作题100套(第33套)
  2. php 京东首页分类导航,仿京东导航栏
  3. java 虚类_java虚方法
  4. 怎么做圆一圈圈扩散效果_软文推广怎么样做才有效果?
  5. 后端技术:Java程序员常用的11个API,你都知道吗?
  6. C# 实现SQLServer数据库备份示例
  7. 程序员最常见的谎话,太准了
  8. rdf mysql持久化l_Jena 利用数据库保存,持久化本体
  9. winform直接控制云台_速学指南,2分钟学会Feiyu pocket口袋云台的隐藏功能操作
  10. HTML---HTML简介