这是一个好问题,也是很多同学都比较关心的问题,我结合编程的特点来说说个人建议。
首先,学习编程需要一个过程,这个过程可以划分为三个阶段,分别是基础语法学习阶段、算法数据结构学习阶段和项目实践阶段,要想学好编程则需要从这三个阶段入手来做好规划。
基础语法的学习难度是相对比较低的,完全可以通过自学来完成,对于学习场景的要求也不高,只要能够搭建出编译和运行环境就可以开展大部分实验了。要想学习好基础语法一定要多做实验,要通过大量的实验来为各种“抽象”构建出画面感,从而形成一个基础的编程思想。
面向对象编程的基础编程过程无非就是类的设计、对象的创建和方法的调用,剩下的就是在这个过程当中学习并掌握如何进行封装和抽象,进而掌握模块化编程思想,这个过程还需要多参考一些经典的开发案例,阅读开源代码就是一个比较不错的学习方式。
编程问题说到底是一个算法问题,所以要想学好编程,一定要有一个扎实的算法基础,而算法的学习则需要一个颇为漫长的过程,初期可以从基础的数据结构开始,接下来可以学习一些经典的机器学习算法。
实际上,对于大部分同学来说,到了研究生阶段之后,编程的核心问题就是算法问题,包括算法设计、实现、训练、验证和应用等环节,针对不同的应用场景需要对算法做各种优化,这个过程也会收获一些成果。
学习编程的最后一个阶段是项目实践阶段,这个阶段对于场景的要求是比较高的,通常需要结合具体的课题项目来进行,所以要想学好这个阶段,一定不能脱离实际的课题项目场景,最好在有专业老师带队的团队中学习。
对于在读的同学来说,积极参加科研实践、项目实践和专业竞赛活动,都会促进自己编程能力的提升,而且参加这些活动对于后续的读研和就业都有积极影响。
目前我联合多名国内外知名大学的导师和互联网大厂的企业导师,共同搭建了一个技术论坛,在持续开展项目实践活动,涉及到大数据、人工智能、物联网等诸多领域,感兴趣的同学可以联系我申请参与,相信一定会有所收获。
最后,如果有计算机专业相关的问题,欢迎与我交流。