|
发表于 2014-2-9 10:47:59
|
显示全部楼层
本帖最后由 codegear 于 2014-2-9 10:49 编辑
数学好会加分很多。不过如果只是做一般开发,可以脱离数学。学计算机并且打算献身计算机的小盆友务必学好一门面向对象的语言:C++或Java(更推荐C++),现在的开发么还是模块化为主;除此之外一定要熟悉1-2门脚本语言,Python, PHP, Ruby, JS都好,适合自己做adhoc开发;如果想学到系统相关的东西,请务必多写C语言(不是C++),这样你就知道一个程序的内存映射如何如何,怎样避免memory leak,此时如果能配合看看linux源码什么的,你就可以学到无数的奇技yin巧,比如怎么用C模拟一个泛型结构。
以上是值得自学的内容,其实学校的很多课程还是值得学习的。就我的感觉而言,最重要的课按重要性排序是:操作系统>计算机网络>Linux内核分析blabla>算法>编译原理。
操作系统:focus在concurrency和自己实现一个os上。
计算机网络:以*nix为实验平台,多试试raw_socket,用c写一个自己的扶墙、写一个tcp协议栈、写一个静态路由。
Linux内核分析:以观赏为主,时不时地可以简单hack一下源码,学学autoconf, make,编译源码等等。
算法:数学说得过去就要好好学。如果只做开发,那么可以着重看一下图论上的一些算法。
编译原理:科普一下正则表达式的解析原理以及LL、LR文法的特性。可以用flex+bison+c(不是c++)实现一个c子集语言的编译器,主要目的是理解call convention、学习汇编、练习c语言。
鄙人不才,祝mjj小盆友好运

|
|