分享我在编程第“零”阶段(正式转码前)时候看过的学习资料,主要是科普向,内容包括CS学科体系概览、计算机原理 、编程基础,目的是测试自己是否对CS有兴趣、是否有能力写代码以及熟悉一下CS学科的基础知识。
内容包括CS学科体系概览、计算机原理 、编程基础,目的是测试自己是否对CS有兴趣、是否有能力写代码以及熟悉一下CS学科的基础知识。
一、CS入门
1/ CS科普视频:
https://youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
这个是完整的CS体系科普,老师讲解的非常轻松幽默
2/ 编程通识课:
这个是以编程为主的通识讲解,在正式开始学习编程前或者刚入门阶段可以看
我对图灵机、数据+指令那块印象非常深刻。
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 寄存器 内存)……
所以你也看出来了,不知道这些,可能并不影响你学习编程成功转码并找到一份薪水可观的工作。
只是我个人兴趣和学习需求而已,我只对我自己负责。
