有编程经验的童鞋,如何自学计算机科学基础知识?

2011-11-12 17:53:23 +08:00
 qianleilei
先说下我的情况:
大四,找到了工作,Web前端开发。大学里是工科专业,学了点C、单片机、汇编。
撇开HTML、CSS、JS,
目前会一点C语言、汇编、PHP、Python之类的编程语言,大部分只是停留在看得懂代码、会点小程序的阶段。Linux么,会点命令行,看过《鸟哥的linux私房菜》,也就会一点点了。平时都在用Mac。

数据结构、算法、操作系统、数据库、计算机网络、编译原理等等的理论知识都很匮乏。

最近,看了点Objective-c和Python的Doc,现在看Django框架。

我很喜欢学习,平时又比较无聊,想多学习点知识,特此求教V2EX的前辈么,如何学习比较好?(个人比较喜欢网络技术。)

我个人想了几个方案:

1、先从数据结构、算法开始学习,什么都学,可能掌握的不是很好,走马观花。

2、从Linux/Unix底层C编程入手,对着《UNIX环境高级编程》,学一些底层的原理。

3、从Python开始,多实践。

4、忽略所有的,做好前端本职工作~~~ - -!!这种肯定不是我想要的啦。
4030 次点击
所在节点    问与答
9 条回复
duoxing
2011-11-12 18:40:57 +08:00
个人觉得,如果喜欢网络技术方面的话,可以多花心思去研究网络安全,因为那涉及的知识面可能比较广,然后那样再根据自己的兴趣爱好深入的研究一门。
clowwindy
2011-11-12 18:43:41 +08:00
选一个你最感兴趣的技术,做一些项目。
glume
2011-11-12 19:24:35 +08:00
按照自己的教训,觉得学什么不是最重要,最重要的是要系统的学,否则学了很多可能一点成就都没有。
dreampuf
2011-11-12 19:36:35 +08:00
了解一些大致方向.SC还算是特别偏应用的专业,根据应用然后回头补课不难.但似乎很难继续重拾哪些数学,物理.

推荐一本书: 搜索引擎-信息检索实践
无论你是否打算进入搜索方向,但里面由潜入深的各个方面还是把SC的各类课程给用上了.起码一些文献索引还是含金量很够的.

同为Coder向SCer看齐的苦逼程序员一枚.这年头能够沉下心来从每个字节,每个位开始计算规模的人太少了.相反,连一门语言API都认识不全的架构师门在1k PV下大谈1kW PV下的架构搭建该是如何如何的太多.
haohaolee
2011-11-12 19:45:46 +08:00
做好本职工作和学习不矛盾吧,工作之余坚持学习就行了。不那么功利的话,这些都不是问题
andrewhxism
2011-11-12 19:49:02 +08:00
如果想做网络技术的话,最好去通信公司。基础就是C、数据结构、操作系统的知识。不过天天看协议改代码可能会有点厌烦,要做好准备。
qianleilei
2011-11-12 20:02:12 +08:00
@glume 这么样才算是系统的学呢?

@andrewhxism 换工作倒是没考虑过。只是想多学点基础之类的。
glume
2011-11-12 20:50:39 +08:00
@qianleilei 大学课程安排的本身就是系统的学习。不要觉得学的东西没用,那是因为没学够。
我现在倒非常想再进学校学习。
clc3123
2011-11-12 20:56:36 +08:00
1、一定要多学多看,扩大知识面。至少看过的编程大师的故事,少不了会几种语言这条。。。

2、专攻的那门,学了就要用,用了才能精;其它看看有时就行了,有时间做点小程序挺不错。

说说自己:
自学编程一年来,前端三大样,ruby,ror,自以为学了不少。比如JS,好书看了不少,看别人的代码,要是能明白思路,其中再高深的技巧,都看得懂;可是要写,写不出来,用的太少啦,不过学了好处大大的,一个web项目,没有JS搞毛啊,懂是必须的。
最近折腾ruby的eventmachine,突然觉得很崩溃,就是觉得linux底层的机制都不懂,有时人家说的概念,神马epoll,懵懵懂懂,心想计算机专业就好啦。。。即使你去搜索英文,资料也不多,结果只能RTFM!觉得嘛,ruby这个社区,有unix编程经验的高手是有,但整体视角还是比较“高”,个人觉得这个社区的能量在于创意和工程方面。别人不看unix,会用就行,但如果你有兴趣,我觉得嘛还是看看吧,心理明白不纠结~
总的来说,我觉得用到了再学,有目的性,平白无故去学算法,数据结构,个人菜鸟经历来说,还没觉得有啥必要

把你的4个方案融合以下,event-driven study

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/21302

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX