LZ,你可以按照CS名校的基础入门课程来学。
首先你得学stanford的CS106A和CS106B 打好编程基础。
楼主硬件基础应该可以,如果硬件基础一般,想了解CPU的话,建议LZ学一下Berkeley的CS61C。里面从C语言到MIPS汇编到单周期CPU制作等。注意CS61C近年改革,你可以参考2010年的课程内容。
然后是CS专业基础课程。
1.Data Structure推荐Berkeley CS61B, CS170讲算法。itunes U上有对应视频,建议先看书和PPT,看不懂的就听课吧,毕竟看视频很耗时间。
2.如果想进一步了解算法,推荐MIT的Introduction to Algorithm.按照老师的课程计划来,看书,听视频课,做题。
3.Operating System。BerkeleyCS162是操作系统的课程,自己对着学。
4.Database。 http://openclassroom.stanford.edu/MainFolder/HomePage.php
里面Introduction to Database. Jennifer Widom讲的,讲得很好。书就按课程推荐的,也是Jennifer Widom写的那本 A first course in database system.
学了好这些课,你已经CS基础相对入门了。其他的课程,到这个时候你慢慢也会有所了解,也大概知道怎么学了。
自学Java或Python等语言的话可以参考uc berkeley selpace .
伯克利EECS的课程:http://www-inst.eecs.berkeley.edu/classes-eecs.html
from
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=32407&page=2#pid474638