建议练习时间是学习时间的一倍左右。
很多人觉得自己看一遍书,或者是课程就会了,或者是背下来就会。其实不太可取。
通过听课或者看书吸收知识点
能够写出执行代码
能写出一个项目
能实现功能
以上就是带动的学习过程。
以数据结构和算法举例,因为这里面涉及到的代码量很多。
理解题目:审题可以多审几遍,避免自己理解错误
多种解决方案:对比时间和空间复杂度,反复追求最优解
多写代码:每一种写法尽量都掌握,尽量多写几遍
多测试案例:在LeetCode上可以改变测试案例,多测试几种案例;
初学的编程的时候,看代码做习题,没有思路就不用浪费时间了。直接抄,抄过后默写也不是不可取。但是到这里没结束。
第二遍的时候自己写,写完了提交代码,有没有bug都没事,从中学会debug!
会写了之后,可以尝试另一种方案,或者是持续优化。
基础扎实做练习题量变引起质变。
代码的重点是理解!
//第一步是要干什么//第1.1要做什么//第1.2要做什么//....//第二步是要干什么//第2.1要做什么//第2.2要做什么//....//.......以此类推
效率学习的方法
首先现在是年,其实在网站上学习编程的话,代码是可以直接复制粘贴的,大概率会比纸质书籍上的代码要看着舒服点。
标红的内容是复制按键,复制走运行一下,再根据自己的理解改一改。如果是抄写的话,也许抄不了几页书籍就烦了。
写代码最重要的就是逻辑,不然就成语文写作文了。但是又跟数学很像,不能只背下来公式,要活学活用。
初学者学编程的问题
首先,就是领域混乱。举个最近发生的例子,一个人在后台问我。我要学编程,应该学什么?我说编程的范围很大,应该多了解一下自己的兴趣在哪。
其次,好不容易找好方向了,不清楚代码的作用。比如年是不是闰年,程序应该如何表达你的思维过程呢?这个就是我们所谓的学习编程语言。
然后,不知道每行代码的状态,因为它需要你去感知代码在CPU上跑的时候。这对初学者来说是最难预约的门槛。
比如,我一直对Java初学者说学习过程中提醒自己Java是OOP(面向对象程序设计)语言,不光是写代码。抽象的学习方法就是从具体事务中提取它们的特征进行学习。
总结
在编程里面,最难转变的就是思维。很多人说不会编程,不会写代码,都是因为思维没有转化。所以,不要觉得抄代码,运行成功结果跑通就可以了。只有理解概念,举一反三才是真的会编程了。建议你们无论学什么编程语言,找到一个练习多一点的课程,先从思考开始。