超详细有手就行的0基础入码攻略:新手学习编程

我现在是一名小厂的算法工程师,yes,这是我的title。具体工作是做算法工程化的。我以一位资历略为平庸,智力较为一般,成就容易复制的过来人身份,给各位讲讲转码的资料和攻略!全程干货分享,大家来做笔记!

首先现在这个情况转码的话,最好是有一份文凭。因为我就是获得硕士学历才拿到现在相关的工作。如果只是需要学习编程的话,就可以参考前面部分的内容。

跟我加入coding之旅吧

我完全入编程的坑是R语言统计学基础,是南开大学的吕小康老师的课,是我为数不多拿90分的课,还帮同学写作业那种。

不正经与正经的《R语言统计学基础》说明 (xkdog.github.io)

https://xkdog.github.io/

我建议从数据分析的角度开始入门学习编程,最起码对函数定义调用有一点感觉,也容易获得成就感。因为过于久远,我已经不记得吕老师的资料什么样了。我记得我当时自己还用datacamp网站学习python和R。datacamp一年一千多的费用,属于是加餐了。

图片

图片

Anyway,我的意思是R或者python开始培养兴趣很容易很快的。初学者可以在B站找找R或者python的入门数据分析课,或者找国外的资源都很不错。

图片

B站搜索R语言前几个都不错,很小白了。Python同理。

我当时也用pygame,python一个非常容易的库写非常简单的游戏,电子木鱼都是很容易实现的。这个简单的不能再简单。大家可以试试。

电子木鱼这么火?Python仅需50行代码实现(附代码,及素材)_电子木鱼代码-CSDN博客 

https://blog.csdn.net/m0_58366209/article/details/127839442

图片

你是否适合coding或者以此为生

以上的内容只是trigger。计算机科学浩如烟海,什么人来拾取一瓢,无论怎样都是能有收获的。但是如果你想学着来找一份工作,以上就远远不够了。我觉得写代码没有那么难,也没有那么容易。至少我现在工作是不算特别容易或者curd的。

我当时入门学习的第一母语是c++。我是在学堂在线上学习清华大学郑莉老师的课《C++语言程序设计基础》《C++语言程序进阶》。两门课学完差不多可以初步了解c++。我觉得是最不拖沓内容够用又不太难的。

https://www.xuetangx.com/course/THU08091000247/19317806 

图片

非常深入浅出,教我怎么安装环境还有作业写。我可是很认真写作业的,好像也没有答案可以看,但我都仔细写完了。配合《c++ primer》查阅学习。

第二门必须要学的课就是数据结构与算法了。我当时学习的资源是中国mooc慕课北京大学的数据结构与算法,这门课讲得一般般。基础的东西不是很难。但其实我推荐追求学得特别扎实和深入的同学看浙江大学陈越老师的课,可以刷刷PAT。老师很牛。我觉得概念很简单很好理解,就是上机写的时候,真的可以一道题目看一天。学完这门课这个时候就可以刷leetcode了。我当时也用天勤王道的《数据结构》讲义做题,一起学的,真的不太难,就是上机做leetcode中难度题目难一点,我现在都还在刷leetcode。妄想早日参透方法论升职加薪!这一关必须得过,日常很多代码设计会用到,而且刷leetcode可以训练工程师临场救火的能力。你想想当你以此为生,在甲方场地驻场你被人盯着埋怨着,需要在一定时间内摆平bug,或者系统瘫痪多一秒公司就损失几百万这种情况,你作为工程师的超强心理素质从这里就可以开始训练了。

其实到这里基本上可以工作了,但是无论什么工作,最好把《数据库》《计算机体系结构》《编译原理》《计算机网络》的基础知识都学习一下,这些一般都会接触到一小部分。

《数据库》我是在大四在学校修的,mysql oracle那些吧,写个什么学生课程系统的作业是几乎所有人必经之路了。这个我没看网课,也不难。

《操作系统》《计算机组成原理》和《计算机网络》我学习的版本差不多就是简化的数学课,因为我是面向考试学习,学的不是特别好,不说了。这个我菜我是知道的。

假如你想国内升学拿到相关文凭

我只走过这条路,国外的升学我就不说啦,因为我也不清楚。

英语政治不说了,国内升学基本上就是数学一,四门专业课。

《操作系统》《计算机组成原理》和《计算机网络》真的直接看书吧,咱初学的时候没条件做作业也没时间搞,天勤和王道有很全的书和题目,理解加上纸面上刷题。《数据结构》可以结合网课、leetcode上机刷题学,纸上的题目也要记得练习。反复刷反复理解,只是考试而已。

数学一才是真的难。数学一包括56%高等数学,22%线性代数,22%概率论与数理统计。我当时高等数学是学习汤家凤的,还有汤家凤 1800 基础也搞来刷。然后线性代数我是学李永乐老师的课,线代讲义照样刷,我觉得线性代数是非常重要的,和研究生的矩阵计算课程可谓小巫见大巫,前后承接,包括我现在搞cuda,简化加速代码都用到这里的知识,非常感恩遇到李永乐老师!(salute!) 概率论我当时是好像是听张宇吧,我已经不记得了。学习概率论了我才能把diffusion的公式稍微推导理解一点点.总之以前学的东西确实都闭环了嘿嘿.总之课一天只能听一会,不停刷题才是正道。汤家凤1800基础题,张宇18讲,基础通关660就这差不多几本练习册吧。我们可以挑选合适的练习册反复地刷题就好啦,尤其是错题更要多几遍。最后关头就是刷卷子,历年的卷子限时完成。我最重要的经验就是一定要多写,模拟考试一样对待自己,错题反复写,切忌听课占用时间,切忌眼高手低。

除此之外就是可以网上找一些不那么难的大学生结课项目,比如贪吃蛇啦,学生选课系统。我知道很俗,但起码复试有东西呱几句,如果你有自己擅长或者喜欢的领域那就更好了,比如做游戏什么的。

然后关于我想说的话

我觉得以我浅薄一年的工作经验来看,做IT工程师是很容易有成就感的,也是一直反复于陷入难题的痛苦,解决问题的快乐的循环状态的工作。我觉得这个专业这个工作还是值得入手的,因为这个专业我确实见到更广阔的风景,获得更前沿的视角,交到志同道合的朋友。我工作之后觉得纸上得来终觉浅,还是要不停在实践上摸爬滚打,现实里的问题多好多,比如需求定义,寻找工具,学习接口文档,快速实现原型,怎么与人合作,怎么在甲方现场摆平事情等等。于不远的将来,我的一帮同学朋友都会成为业内“重量级”专业人士哈哈哈,希望他们早日得道,带我升天。眼前的读者,祝你也享受信息时代的乐趣,打开电脑开始学习吧!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值