首页 > 编程语言 >程序员的思维修炼 读书笔记01

程序员的思维修炼 读书笔记01

时间:2023-12-10 21:55:43浏览次数:35  
标签:精通 01 读书笔记 他们 胜任 程序员 初学者 新手 阶段

Dreyfus模型将学习的过程分为五个不同的阶段或水平:

1.新手(Novice需要详细的指导——要手把手地教。新手不知道这些指导是否有效,或者哪些指导更加重要;因为没有上下文知识可供他们使用进行评估。因此,新手需要频繁迅速的成就感和有规律的反馈。一本好的入门指导书籍要提供有足够多的图画和充足的可靠信息。

2.高级初学者(Advanced Beginner对基本步骤——单独的任务——已经熟悉了,而且可以把它们进行有机的组合。高级初学者仍然在很大程度上是面向任务而不是面向目标的,不过他们已经开始有些概念了。这也是一个学习者最危险的阶段——他们知道自己学到的已经不少了,但是这还不足以让他们远离麻烦!刚学走路的孩子在很多方面都是高级初学者。有了足够的经验,高级初学者就能拥有足够的能力以胜任某些工作。

3.在胜任(competent水平上,他们就走到面向目标阶段了。他们可以组合一系列任务以达成某个目标。也许任务的组合顺序不是最佳的,但是通常都可以发挥作用。有能力的人希望给定一个目标,然后能够得到别人的信任来达成这个目标。相反,如果要是试图详细告诉他们应该怎么做,这些有能力的人就会觉得很烦躁,就像是汽车里被坐在后面座位的乘客指手画脚的司机一样。大部分人在大部分技能上很难超越“胜任(competent)”水平,即使他们在每天的日常工作中使用这些技能。这是人类的基本特性——一旦有所收获,我们就不想再投入精力了,而且对于大部分活动来说,所谓的收获只不过是把工作做完而已。

4.在精通(Proficient水平上,解决方案开始在人的心目中“慢慢浮现”——而且通常已经完全成型。他们已经具备了在直觉中形成解决方案主要部分细节的能力,之后就可以根据自己先前的经验积累来对解决方案进行映射。一个精通的人需要对其行动的上下文有更广阔的了解,并且开始享受隐喻和格言(以及相反的类似内容)带来的乐趣。他们仍然会回头根据接受的基于规则的训练,来验证自己行为的正确性;但在这个阶段他们已经学着相信自己的判断了。从“新手”发展到“胜任”阶段基本上是线性的过程,而到“精通”阶段代表了一个台阶的提升。一个人必须积极选择才能促成这个转变的开始。通过对某件事情重复足够的次数是可以达到“胜任”的,但要变想得“精通”,必须要有明确的心理诉求才行。

5.专家(Expert)水平:正如从“胜任”到“精通”的转变一样,转变为“专家”也是非线性的过程。要想成为某个领域的专家,可能要花费数年的努力才能达成。这些人工作时几乎完全是从直觉自发的状态,而且很少犯错误。专家生活在模糊的世界之中。她以自己的能力为傲,而且喜欢通过与其他专家交流来校正和提高自己的技能。有趣的是,处于初级阶段的人们倾向于过高估计自己的能力,而在较高阶段的人则更加谦逊。

标签:精通,01,读书笔记,他们,胜任,程序员,初学者,新手,阶段
From: https://www.cnblogs.com/syhxx/p/17893314.html

相关文章

  • Atcoder abc301 复盘(更新中)
    跳转比赛链接A-OverallWinner简述:高桥和青木下了\(N\)盘棋。给你一个长度为\(N\)的字符串\(S\),表示这两盘棋的结果。如果\(S\)的\(i\)个字符是t,那么高桥赢得了\(i\)局;如果\(S\)的\(i\)个字符是A,那么青木赢得了这局。高桥和青木之间的胜负关系是谁赢的局......
  • P3227 [HNOI2013] 切糕
    题意linkSol考虑不戴限制的情况,那就是对于每一层连到下一层跑网络流。考虑戴上添边,不难发现向相邻的点连一条\(inf\)边就行了。Code#include<iostream>#include<algorithm>#include<cstdio>#include<array>#include<queue>#defineintlonglong#definepiipa......
  • 《程序员修炼之道——从小工到专家》读后感7
    在项目开始之前,不要搜集需求u,要挖掘他们,因为需求通常不是只浮于表面,在挖掘需求的过程中,我们要与用户一同工作,以像用户一样思考。又是接口就是系统,看待用例的一种方式是强调其目标驱动的本质,同时要记住,抽象比细节活得更久。要学会使用项目词汇表。相信所有问题一定有更简单的解法。......
  • P3163 [CQOI2014] 危桥
    题意给定一张无向图。其中某些边只能走\(2\)次。你要从\(a_1\)走到\(a_2\)\(a_n\)次,\(b_1\)走到\(b_2\)\(b_n\)次。问是否能实现。Sol不难想到连边跑网络流。但是,只能走\(2\)次的限制无法满足。注意到是无向图,所以我们交换其中一个起点终点。不难发现这样过......
  • ABC301 复盘
    ABC301复盘At链接LG链接[ABC301A]OverallWinner思路解析:从头开始遍历字符串,遇到一个字符就给对应的一方加分,输出第一个胜场大于\(\lceiln/2\rceil\)的一方。#include<bits/stdc++.h>usingnamespacestd;intn;stringstr;intmain(){ cin>>n; cin>>str......
  • 定时器训练(UAV2101~UAV2105)
    例子001、51单片机定时器训练下面是一份基本的51定时器控制代码#include<reg52.h>//8051头文件//定义时钟频率为12MHz#defineFOSC12000000UL//定义波特率为9600#defineBAUDRATE9600//定义定时器重装值#defineTIMER_RELOAD_VALUE65535-50000+1sbitLE......
  • Numpy之001 Numpy简介
    简介Numpy(NumericalPython)是⼀个开源的Python科学计算库,⽤于快速处理任意维度数组的工具。Numpy⽀持常⻅的数组和矩阵操作。对于同样的数值计算任务,使⽤Numpy⽐直接使⽤Python要简洁的多,性能好Numpy使⽤ndarray对象来处理多维数组,该对象是⼀个快速⽽灵活的⼤数据容器。 nda......
  • 读程序员的README笔记06_测试(上)
    1. 行为准则2. 编写、运行和修复测试用例会让人感觉很忙碌2.1. 测试本身才更容易成为繁忙的工作2.2. 糟糕的测试会增加开发人员的开销而不提供价值,并且还会增加测试套件的不稳定性3. 测试用途3.1. 测试可以检查代码是否正常工作3.1.1. 测试本身就可以验证软件的行......
  • 《卓有成效的程序员》读书笔记3
    《卓有成效的程序员》就是这样一本教你如何变懒的书,在机制部分,主要介绍了一些能帮助大家提升效率的工具,思想。个人总结:1、Mac系统上使用QuickSilver加快程序的启动。2、尽量少的使用鼠标,甚至都不要使用上下左右的按键,因为这些手势都会导致效率的下降。3、使用Vim作为文本编......
  • 学期2023-2024-1 20231401 《计算机基础与程序设计》第十一周学习总结
    学期2023-2024-120231401《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计)这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业这个作业的目标自学计算机科学概论第15,16章,《C语言程序设计......