zoukankan      html  css  js  c++  java
  • 编程学习要讲究效率和经验

    早在一个月,用户收到一封呼吁信,他要我帮他做节目标题。

    这种援助是没有直接回答我。假设要通过学习阅读课程,可读的程序太多,我不关心我写这部分程序。
      我给他的信,他可以自己做一个版本号,无论是对还是错,我们讨论他的做法。

    交流。提问者没有做。靠着人给讲。这样的学习方式。能够休矣。不管对错、好坏。他自己做过了,针对他自己的讨论点就出来了。

    我当时的答复是:
      我的时间有限。将你做过的给我发来,并提出详细问题再讨论为佳。在学习中,这样的交流的方式(有一个问题。不说自己的见解,直接就找人说:“你做个答案,给我讲明确”),并不能称为交流,也不能起到什么大的作用。
      他发来了自己的版本号。一个用循环能够完毕的任务,可是循环体中的计算不正确。我为他改动了程序,作为回复。针对他提出的疑问“当输入数值非常大时。结果却为负”,我给他指点该明确一下“溢出”的问题。答复中说:
      当数值非常大时,结果为负,请找资料明确int型占4个字节,意味首其最大正数能够取值为2^31-1,而不是能表示无限大的数。若计算得到的值超出了,这叫数据溢出。百度“整型 溢出”。你能够知道。
      他非常重视我“布置的作业”,他翻阅了不少的书,包含经典的Bjarne Stroustrup的《The C++ Programming Language》英文版。

    刚開始学习的人博览非常有必要,但应该有种“开放”的心境,有些事情该放要放一放。留待以后解决。学习,不是一个线性的过程。而在于多次重复,相同的问题,回头看。别有风味。显然,他是一位非常执着和认真的人,他列举出了好几种观点,并问“int、long int、long long int三者间到底有何差别?”
      我给出的答复是:
      对于这四种情形。按字面“短整型、整型、长整型、长长整型”,差别在于表示数的范围。然而到底有何不同,依平台而定。
      依据你给我看过的程序,我建议你能够临时不必抠这样的细节,优先能用语言提供的机制能写出解决这个问题的程序为第一要务。语言细节的问题。你能够採用“回头看”的策略去做,而不少人,是在轰轰烈烈開始后。终结于刚起步时期的细嚼慢咽。
      假设你不是这样的类型的学习者,请忽略这条建议。



      不久后。他再次来信,给的是另外一个程序。给出的程序,以及问出的问题之间,我总觉得有“跨度”。

    假设他会用调试手段,一跟踪,也就能自己解释通了。因为当时手头的事情非常多,我给的回复是:
      近日期末加毕设。各种忙。我决定还是不为你在代码中奋战了。相似的问题,你发到CSDN论坛中。会有人非常快给你出主意。比等我要快得多。


      不少急着要结果的,或者须要抠程序中细节的问题,我常这样回答。

    我也须要给自己时间。




      今天,在人人上看到他发的状态。

    能够看出。他的求助途径已经拓展了非常多,他的钻研精神依旧。提醒他能够注重效率。也引出了一些探讨。

      人人上的状态:

      用了一个多星期的时间写了两道题(事实上是一道题),用一种非常笨拙的方法攻克了问题。对算法有了初印象,对向量有了更深的理解。埃拉托斯特尼筛法也成为我学会的第一个算法。

    真的收获颇多。越来越觉得C++难。但也越来越觉得编程是一件非常有趣的事情。感谢CSDN新手乐园的各位大牛;感谢百度C++吧的诸位大神;感谢无名的印度高人。没有你们。愚笨的我写不出这个44行的程序。没有你们,我可能早就放弃了。最后,我这个笨蛋要用一颗虔诚的心膜拜Alan Mathison Turing和John von Neumann,若无你们,一切都是空谈!


      我的评论:
      我感觉你是在没有球感就在强练投三分球。这样也能练出来,但显然更艰苦。通过做一些水题”,积累一些感觉。会学得轻松、自然、效率一些,所须要成本、资源也会降下来,不再须要用意志约束自己的学习。可能有不正确之处,仅供參考。


      他反问:
      那您觉得应该怎么学呢?这道题是一本0基础教材课后习题中的一道。我也是没想太多。就想尝试一下。

    您觉得该选什么样的题作为练习呢?请您指教!

    谢谢您!
      我答复:

      一道题。一星期,效率太低了,你能够用意志强迫自己做下去,但这样的感受并不全是好感受。

    百度一下"SMART原则",这也适合学习目标(大目标和选择题目的小目标)的确定,找让自己踮起脚跟。或者跳一跳就能够着的题目去练习。记着当前这个问题。会有一天,长高了的你,踮起脚跟就够着了。评价的标准不该是“0基础课本的最后一题”。你花这么大的代价解决,说明对你来讲是难了。你做到咬住问题不放并解决。实现了一种“跨越”,非常了不起,这样的精神将有助于你能在将来解决别人都无法解决的问题。这样的精神不丢。

    我想,如今不少同学学习进行不下去,就是缺少这样的精神。我还是建议你能够对自己更好一些。

    当然,你能这样做,并以此为乐,这是最好的了。

      重复地学习。螺旋上升,这在学习理论中的一个重要原则,而效率和感受。这是我从诸多咨询中得出要强调的。

    希望这位同学能坚持自己的,也能做到改进真正不当的方式。




    =================== 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类文件夹(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    另类多线程生产者与消费者模式
    redis.conf配置详细翻译解析
    数据库优化之索引使用简介
    Comparable和Comparator的区别
    spring中用到哪些设计模式
    JVM之几种垃圾收集器简单介绍
    angular.extend()和 angular.copy()的区别
    ThreadLocal是什么?保证线程安全
    excel文件怎么使用php进行处理
    ubuntu 安装ssh 服务
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4776638.html
Copyright © 2011-2022 走看看