非专业学生如何系统的学习计算机编程?_不学计算机原理可以写程序吗(2)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img

img
img
htt

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
img

正文

废话不多说,直接上干货!

一、自学编程

学编程可以自学吗?

**答案是看到的,**对于所有编程学习者,尤其是想自学编程的同学,在学习的初期最好能想明白下面几个问题:

  1. 编程可以自学吗?
  2. 学习编程需要什么基础?
  3. 我应该学习哪种编程语言?
1、编程可以自学吗?

先给出结论,完全可以,但自学编程的弯路多得数不完,坑多得踩不完,这必定是一条充满挫折的道路。

有哪些坑呢?

  1. 好几天都没有成功搭建一个可以正常使用的编程环境,比如 Python、Java
  2. 敲了半天的代码,一运行发现提示几十个错误
  3. 学了很久,感觉会的很多,但不知道自己的实际水平怎么样

正如我们学习英语需要一个交流环境,编程的学习同样需要,特别是自学编程,以下几个网站尤其重要。

  1. GitHub
  2. Stack Overflow
  3. 菜鸟教程

以上三个网站,可以帮助你解决自学过程中 90% 的难题。

2、学习编程需要什么基础

学习编程不需要什么基础,不需要你的数学、英语有多好,也不需要你精通计算机网络、编译原理等。

这个结论是有现实依据的,很多培训班根本就不会培训这些内容,照样量产出一些基础虽然不牢固但却可以工作的程序员。(这里并不是为了说明培训班这种方式是正确的方式)

甚至我希望自学编程的初学者能一开始蔑视编程。

在战略上藐视编程的目的是为了在心理层面上克服恐惧,有这个心态可以学起来事半功倍。

我亲身经历过这样的改变。

作为一个转行程序员,在转行学习编程的那段日子,没有人告诉我说要去学数据结构,也没有人告诉我说要去刷 LeetCode,都是靠自己一个人摸索,绝大部分的时间都花在具体项目上,误认为自己和那些已经工作的程序员的区别在于有没有做过项目。

这就是科班出身和非科班出身的学生最大的区别,科班出身的学生知道去学什么,知道大学期间安排的每一门课程是干什么的,知道要先去做哪些小项目来循序渐进的编码练习,知道知识点在工作中能起到什么样的具体作用,非科班出身的程序员感觉计算机相关的知识点简直是一团乱麻。

这种情况导致我去找工作参加面试的时候,很多基础面都通过不了,最后侥幸进入一家要求不太高的创业公司,薪资不高,为了进大厂必须完善算法和计算机的知识。

因为未知,所以恐惧,恐惧导致盲目的崇拜,我认为那些科班出身的程序员太牛逼了,居然可以掌握那么多繁杂的计算机知识;那些写源码分析的程序员都是大神;那些写算法题解的程序员都是高手。

恐惧把小的问题放大,比如学到单调栈、双向链表、记忆化的内容,一看到题目要用到这些概念便觉得代码很难写,索性那些内容就不看,所以学了大半年还在原地踏步,还在原来的公司拿着微薄的工资做着 CURD。

几个月后,创业公司不行了,受迫于重新找工作的压力,只好咬着牙再去啃,再去刷题。

而当我开始写题解、做动画的时候,我就发现算法题也就那样,缺的只是时间去不断的重复练习。

单调栈无非就是在栈的概念基础上增加了排序,记忆化也就是增加一个数组用于存储,动态规划在面试和实际工作中用到的只需要掌握百分之五就行。

抱着编程技术也就那样的心态,学习了爬虫以及 Vue。

img

img

“自大”的认为爬虫能有多难,基本步骤无非以下几步:

  • 1、找到需要爬取内容的网页URL
  • 2、打开该网页的检查页面
  • 3、在 HTML 代码中找到你要提取的数据
  • 4、写 Python 代码进行网页请求、解析
  • 5、存储数据

下载安装 Pycharm,安装 Scrapy,根据步骤输入 URL 和数据格式,在完全不懂分布式、ip代理、js加密、模拟登陆、MongoDB的前提下,顺利拿到了自己想要的数据。

无论是分布式还是ip代理,爬虫的每个知识点深挖下去都大有文章,我所学习到的爬虫知识只是冰山一角,但这并不妨碍我们可以从战略上去蔑视编程,编程的很多内容没有那么高不可攀,缺的只是时间去学习,时间恰恰是我们可以去支配的。

关于计算机基础的内容,我整理了 4 本手册,全网累积下载100w次,几乎程序员人手一套,包含数据结构与算法、操作系统、计算机组成原理、计算机网络等硬核基础知识,图文+实战案例,平时开发+搞定面试,帮你快速建立对计算机科学的大局观,夯实计算机基本功,瞬间起飞~

点击下载图解操作系统、网络、计算机组成 PDF

3、我应该学习哪种编程语言?

可以通过下面这张图做个小测试,看看自己更适合哪种编程语言。

图片来源: Should You Learn Python, C, or Ruby to Be a Top Coder? (Infographic)-MediumWhich Programming Language Should I Learn First? 翻译:麻瓜编程

img

下面的图对比了最流行的9种编程语言,来帮初学者选择最适合自己的。

img

img

img

img

img

img

img

img

img

目前国内的大环境下 Java 的就业岗位相对是最多的,如果你没有特别的偏向于其它的编程语言,那么自学编程的第一门语言选择 Java 是一个不错的选择,关于如何学习 Java,可以点击下方链接阅读。

最新整理的 Java 开发学习路线!

如果你是一个 Java 面试官,你会问哪些问题?

二、系统的学习计算机编程

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-ceOlKKo7-1713643601091)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值