小谈学习方法(Computer Science)

by chenomg

发表于: 12月 14日, 2018年 | 分类:General | 标签: CS 学习方法

更新于: 12月 17日, 2018年


本文记录一下我一年多python的学习阶段性小结,很多内容还需要不断学习.路漫漫其修远兮...

引子

我属于半路出家学习的python,一路走来掉了好多坑,但是也找到了一个对于我相对高效的学习方法,希望对大家的学习之路也能有所帮助。

走过的坑

以下是我认为可能是比较低效或无效的学习方法

  1. 首先对于没有系统性学习过计算机科学的童鞋来说,最忌讳的就是在网上胡乱找些资料,或者是看看别人的博客碎片化的学习.

  2. 光看不练永远都学不会.

推荐方法

高效学习

不管你只是因为对计算机的爱好或是要从事这方面的工作,都得对什么是计算机科学以及它主要包括哪几方面的内容构成做到心中有数.

以下是我认为有效学习的方法

1. 自顶向下学习,首先纵览全局.
​ 了解主要的科目,学好基础知识.进而不断的在你热爱的方向学习钻研

2. 建立自己的学习规划
​ 首先定下自己的阶段性的学习目标,然后根据目标列出学习清单

3. 准备学习各个阶段所需的基本学习材料
​ 建议以书本为基础,可以搭配相关的视频教程.这样学习相对比较系统,对知识的体系能够有较全面的认识.

4. 学习时遇到新知识做好笔记,能实践的同步自己实践一下,加深印象.一个阶段后最好通过完整的项目来巩固.

5. 英语有空了就学习,多看看英文的文档也挺好.

下面是网上介绍学习主题和相关的一些学习资料,可以参考

主题 为什么学习它 推荐书籍 推荐视频
编程 计算机程序设计的总体性观念 计算机程序的构造和解释 Programs Brian Harvey’s Berkeley CS 61A
计算机体系结构 如果你基础薄弱,不知道计算机是如何运行的,那些你学会的所谓“高层”技能不过是空中楼阁 计算机组成与设计硬件/软件接口 Berkeley CS 61C
算法和数据结构 如果你不能很好的使用随处可见的数据结构(例如栈、队列、树和图),你是无法解决复杂问题的 算法设计手册 Steven Skiena’s lectures
计算机数学 计算机科学实际上是应用数学的一个分支,学好数学让你更具竞争力 Mathematics for Computer Science Tom Leighton’s MIT 6.042J
操作系统 你编写的大部分代码是通过操作系统运行的,所以你需要知道它们是如何交互的 Operating Systems: Three Easy Pieces Berkeley CS 162
计算机网络 互联网是个了不起的发明,只有理解它的原理,才能发挥它的威力 计算机网络(第4版) Stanford CS 144
数据库 对于很多程序来说,数据是其核心,但是很少有人真正理解数据库系统是如何运行的 Readings in Database Systems Joe Hellerstein’s Berkeley CS 186
编程语言和编译器 如果你理解语言和编译器是如何运行的,你就能编写更好的代码并轻松学会新的语言 编译原理 技术与工具 Alex Aiken’s course on Lagunita
分布式系统 近年来,大部分系统已经发展成为分布式系统 Distributed Systems

python可以参考以下书籍:

  • 零基础: A Byte of Python

  • Python基础教程

  • Python核心编程

  • 流畅的Python

机器学习书籍清单: 点我




Comments:

  • 欢迎发表评论~~
Leave a Comment:
We'll never share your email with anyone else.