分享我在编程第“零”阶段(正式转码前)时候看过的学习资料,主要是科普向,内容包括CS学科体系概览、计算机原理 、编程基础,目的是测试自己是否对CS有兴趣、是否有能力写代码以及熟悉一下CS学科的基础知识。

内容包括CS学科体系概览、计算机原理 、编程基础,目的是测试自己是否对CS有兴趣、是否有能力写代码以及熟悉一下CS学科的基础知识。

一、CS入门

1/ CS科普视频:

https://youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo

这个是完整的CS体系科普,老师讲解的非常轻松幽默

2/ 编程通识课:

https://bilibili.com/video/BV123411p7rf?spm_id_from=333.999.0.0&vd_source=f383e2d14616676b9752e7079becdd20

这个是以编程为主的通识讲解,在正式开始学习编程前或者刚入门阶段可以看

我对图灵机、数据+指令那块印象非常深刻。

3/ 哈佛CS通识课:

https://youtube.com/watch?v=NZxALvNlF-8&list=PLhQjrBD2T383f9scHRNYJkior2VvYjpSL

强烈推荐,不要错过全网最好的CS通识课。

4/ 《编码——隐匿在计算机软硬件背后的语言(Charles Petzold)》

https://book.douban.com/subject/4822685//
从这本有趣的小书开始,让自己学着在脑海里构建计算机的世界,在观念里想象一个“只有一对鳍的鲸鱼(计算机的二进制0和1)的世界是如何运转的”。

前几章的小故事读起来很轻松,后边关于逻辑门的讲解深入浅出,绝对不输专业课本,而且更有趣。

5/ 《计算机科学导论(Behrouz Forouzan)》

https://book.douban.com/subject/1142213//
先对整个Computer Science有个体系性认识。
机械工业出版社出版的这一系列黑皮书整体来说是难度偏大的,但是这本导论相当于一个概览,读的时候不求甚解,能看完60%的重点内容就可以了。不用担心看不懂,下边还有一本《程序是怎样跑起来的》,读起来更轻松。

二、编程入门: python

花1周时间学学python,测试自己是否对编程感兴趣并有能力学代码
如果你觉得学python也很吃力,那就先玩玩Scratch

1/ Tutorial:Learn Python - Full Course for Beginners

https://youtube.com/watch?v=rfscVS0vtbw

2/ Github教程:the-craft-of-selfteaching

https://github.com/selfteaching/the-craft-of-selfteaching

重点吸收教程里的编程思维,不用急着去配置环境和写代码

比较懵懂地看了两遍教程,重点吸收理解了:布尔值 数据类型 方法(Method) 抽象 学会读官方文档是很重要的技能 这几点。

3/ 《Python编程 从入门到实践 (埃里克·马瑟斯)》

https://read.douban.com/ebook/337008762/

重点学第一部分基础知识,照着书上的示例试着敲代码;第二部分项目可以略过。

基本能理解编程的通用基础知识:数据类型(字符串、数字、布尔值、数组)、变量常量、函数、 命名规则等。

4/《程序是怎样跑起来的(矢泽久雄)》(推荐)

https://book.douban.com/subject/26365491/

这本书可以提前看,也可以在你入门第一门编程的时候看

我初心只是整理记录一下自己早期看过的学习资料。
我本人转码前有充足的学习时间,且好奇心大于功利心,因此我的个人经验并不适合别人。
如果你需要短期速成,可以直接找转码经验贴,有很多编程课供你选择,不要在这里浪费时间

看不懂这些不代表你不适合编程

我更多地是带着“不求甚解”的心态去探索CS这门学科的

这些都不是必学的,但我还是个编程新手时,没有条件像科班一样补齐所有基础知识,但我又需要对原理性知识有所了解。

我通过这个办法,在动手学编程的同时,解答自己的疑惑,比如:当代计算机的组成是源于图灵机和冯诺依曼架构、代码有bug的原因恰恰是因为图灵机带来的自由度所致、执行一个函数时计算机内部是怎样在工作的(CPU 寄存器 内存)……

所以你也看出来了,不知道这些,可能并不影响你学习编程成功转码并找到一份薪水可观的工作。

只是我个人兴趣和学习需求而已,我只对我自己负责。