V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qianleilei
V2EX  ›  问与答

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

  •  
  •   qianleilei · 2011-11-12 17:53:23 +08:00 · 4099 次点击
    这是一个创建于 4754 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先说下我的情况:
    大四,找到了工作,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、忽略所有的,做好前端本职工作~~~ - -!!这种肯定不是我想要的啦。
    9 条回复    1970-01-01 08:00:00 +08:00
    duoxing
        1
    duoxing  
       2011-11-12 18:40:57 +08:00
    个人觉得,如果喜欢网络技术方面的话,可以多花心思去研究网络安全,因为那涉及的知识面可能比较广,然后那样再根据自己的兴趣爱好深入的研究一门。
    clowwindy
        2
    clowwindy  
       2011-11-12 18:43:41 +08:00
    选一个你最感兴趣的技术,做一些项目。
    glume
        3
    glume  
       2011-11-12 19:24:35 +08:00
    按照自己的教训,觉得学什么不是最重要,最重要的是要系统的学,否则学了很多可能一点成就都没有。
    dreampuf
        4
    dreampuf  
       2011-11-12 19:36:35 +08:00
    了解一些大致方向.SC还算是特别偏应用的专业,根据应用然后回头补课不难.但似乎很难继续重拾哪些数学,物理.

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

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

    @andrewhxism 换工作倒是没考虑过。只是想多学点基础之类的。
    glume
        8
    glume  
       2011-11-12 20:50:39 +08:00
    @qianleilei 大学课程安排的本身就是系统的学习。不要觉得学的东西没用,那是因为没学够。
    我现在倒非常想再进学校学习。
    clc3123
        9
    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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5508 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:14 · PVG 15:14 · LAX 23:14 · JFK 02:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.