规划一下基本做题的思路与方向,而不是一直漫无目的地、盲目地学习

简述

  今天思考了一下,对于编程能力,我觉得可以从分为两个方面,第一个方面是编程思维,另一个是语言能力。语言很简单,就是编程语言,比如你对你所用的这个编程语言熟练程度,了解程度,掌握了几种语言等等。而编程思维,跟语言没有任何关系,这代表着你对于一个问题的思考能力,理解程度。编程思维并不会因你对某种语言熟悉的程度而改变,因为编程思维是一种内在探索,而语言只是外在的描述。你的某种语言掌握的好,只能代表你用这种语言描述能力好,并不见得你编程思维好。
  因此,提升编程能力,一定不是提升语言能力,而是提升编程思维能力,毕竟语言千千万,不可能都学会,可是编程思维能力却贯穿编程能力的始终。
  说了这么多,其实也很容易看出来,编程思维代表的学科有数据结构、算法等等,语言则代表C++、Python等编程语言。结合自身情况与上面所述,下面来规划一下自己编程策略吧。
  本来这个内容想设为私密自己看的,花了几个小时总结分析了一下,自我感觉还可以,就不设为私密了吧。因人而异,找到适合自己的学习方法才是最优解,大家可以参考一下。

一、自身情况

  目前,python学的并不是很精通,做题时总会遇到一些语法问题,而如果题目稍微复杂,整体上显得十分混乱,最后可能借助ai等方式写出来后,答案也正确,却没有如释重负的感觉,反而觉得比较难受。过段时间再重做这个题,脑子里总是在想之前的方法,更精确的说是之前的代码怎么写的,我知道这样做肯定不对,但是思维被限制住了,收效甚微。我觉得问题一定出现在我学习编程上面,所以今天专门写一篇文章,重新规划一下,有效率,有针对性地学习编程。

二、自我分析

  结合我上面的简述,很明显就能看出来,我是一边学习编程思维,一边学习语言,肯定很劳累啊,怪不得你自个学的这么吃力呢。可是换个角度来看,二者似乎本身就是绑定的——提升编程思维,不得不靠着语言,而提升语言能力,缺少思维含量又很难掌握深刻。那么拿到一个题目应该怎么办呢?
  我觉得可以分为分析题目和写题目这两个过程。分析题目就是运用编程思维来剖析这个题目,一步一步地进行划分,写题目则是用编程语言实现划分后的题目。
  上面似乎就是很平常的做题方法,但对我来说,看似和以前一样,实际上经过我对自己上面的分析,已经大不一样了。之前做题的重心放到了用编程语言实现划分后的题目上了,而对分析题目十分轻视。所以,题目分析地乱七八糟,又为什么想通过编程语言来实现呢?更何况你的编程语言又不是那么地精通。

三、编程策略规划

  上面的内容是我将自身的窘境发给deepseek之后,我根据它的回答,反思出来的。发现了自己的问题之后,有针对性地去改变,才能有所提升。但是呢,自我的问题肯定不是通过这一两次的改变就解决了的,通过时间的复利,一次又一次地解决问题,才能不断地提升。

1、做题方面规划

  根据deepseek内容,总结一下。但deepseek给的只能是建议,无法十全十美,所以我会结合自身学习情况再进行对应地更新,争取能达到最大的学习效率。

(1)分析题目

(i)预设一个明确的思考时间

  预设的思考时间应根据题目难以情况规定,期间严禁查看答案。然后写出下面的一个思考列表,当然,这是依据python来的,其他的语言可以用注释写。

thinking=[
	"输入输出是什么?",
	"复杂问题细致地划分为n个小问题,详细地写在这里",
	"用伪代码实现一下逻辑"
]

  当然,具体的thinking仍需要再细分的。

(ii)记录卡点

  结合thinking中的n个小问题,分析一下如何实现,比如数据存储等等,并且记录难点,卡住你的点,也可以用列表记录一下。

difficulty=[
	"",
	"",
	"",
]

  后续应根据卡点,解决对应问题,需要记录一下。

solve_difficulty=[
	"",
	"",
	""
]
(iii)记录题目类型

  记录一下这个题目的类型,也是用列表记录,后续回顾的时候直接看这里就好。

tags=[
	"",
	"",
	""
]

(2)解决题目

  从分析题目->解决题目,需要用语言转化,所以这里就是如何用语言实现之前分解的n个小问题。这里肯定会存在需要实现方面的难点,其实也就是对语言的不熟悉,这个过程也就是训练、强化该语言的过程。我觉得需要记录一下实现方面的难点。注意这里的难点跟上面的难点不一样,一个是思维难点,一个是语言实现难点,有区别的。

challenge=[
	"",
	"",
	""
]

  后续解决对应问题的时候,肯定会用都某种方法,而在我的python基础学习中,会随时补充对应方法,所以还需要记录一下各个难点对应的文章,之后回顾的时候可以专门去看如何实现的。下面的solve指代的是上面challenge如何solve的以及具体位置。

solve_challenge=[
	"",
	"",
	""
]

(3)分析答案

  AI三步法,我觉得似乎可行:

  • 快速浏览: 只了解大致思路,不深究细节。
  • 手写重现: 关闭答案,尝试凭记忆写出代码。
  • 差异对比: 对比自己的代码与答案,用红笔标注差异点并追问“为什么”。例如:
    “为什么答案用哈希表而不用数组?”
    “这个循环条件是否可优化?”
      另外,AI后面也说了,需要回顾,科学复习。所以我觉得可以弄个列表,记录一下复习时间
review=[
	"",
	"",
	""
]

2、语言学习方面规划

  对于语言,我们重点是在于实现,而且是最优实现方式,不是具体的分析逻辑。可以在上述做题时,解决一个有一个的小问题中‘偷偷提升’,也可以在csdn里写文章总结,也正是我现在做的。
  但最重要的回顾,而且是经常回顾,时刻复习。就像你高中时记的笔记,记录是好事,可是长时间不看的话,其实跟没记一样。写文章也是类似道理。写了一定要回顾,看看具体的一些方法,而且也要经常敲代码,强化记忆,要不然等具体写代码的时候会因为无法实现而难过。
  总结一下就是,做题,文章详解,回顾详解。这样说还是有些太范了,之后实操的时候,结合自身情况再细分一下吧。

四、总结

  表面上看,需要的列表很多,主要是因为目前没有形成一个良好的习惯,约束肯定非常多。感觉似乎还有很多要说的,但现在突然脑子空空的了。后续会时刻补充的,把上面做好也很不错了,加油吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值