! j" b3 s6 y5 c2 \" k& B数据结构和算法-这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时)。很多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。 * l4 l S3 A; P3 E0 x) r6 M% f8 c3 y8 i [
软件工程-这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。# A9 A5 ^; v9 U0 R P% \
# E4 v9 M; J2 Q" O! T* d
Windows 程序设计-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。 * K1 B& n. `' O3 ~ ^3 \* [2 X1 j+ v# j) a" `9 _7 ~6 U& M$ O
上面的几门课程我认为是必学的重要课程(如果你想做Windows 程序员)。: z! D( c& z$ q1 N" c
/ I: k b3 k& P' l对于其它的课程有这样简单的选择方法:如果你是计算机系的,请学好你所有的专业基础课。如果不是,请参照计算机系的课程表。如果你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。如果一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽可能多的在计算机上实践一种理论或者算法。# ]% }4 W. u; v$ A0 t' ?9 t
F7 d: x2 r/ Q' u- b你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书。3 @0 x) J2 N2 @5 P
6 ^ c* x. J* f' x- h' O
日三省乎己6 x4 R2 v9 ~9 m* Y0 [
I, d$ K9 p; O. E6 K6 G
每天读的书太多,容易让人迷失方向。一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣,在一本书上花的时间太长还是不够等等。同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。 ) w6 ^6 r7 R% Q/ M* } T& G1 C& t" k5 h. b1 [
把最多的时间花在学习上) v. N. I- Q0 e8 }
: N' V) U9 n" w# c' s3 k% F这是对初学者最后的忠告。把每个星期玩SC或者CS的时间压缩到最少,不玩它们是最好的。同时,如果你的ASP技术已经能够来钱,甚至有公司请你兼职的话,这就证明你的天份能够保证你在努力的学习之后取得更好的收益,你应该去做更复杂的东西。眼光放长远一些,这无论是对谁都是适用的。: m6 F- B7 q& t; c
( |0 j7 }5 _% h, M& k H" E
相信你已经能够决定是否学习C#或者什么时候去学它了。 ! U3 U/ k5 F" X, q& v t/ b7 h: f# V u
! _) U- e* H3 m( [
# n K% g3 q2 G: V O* Q2 [+ g7 M s; q9 P" k
. D. m/ P# w1 [0 e& |
# L5 b& o, m' T1 Y( G% h" z7 V& c
</TD></TR></TABLE>