Berkeley 61B 和 Princeton Algorithm 在地里被广为推荐,可以二选一。如果时间充分,建议都上。
尤其说下UC Berkeley CS61B。据地里Berkeley校友反映:这个老师是berkeley计算机系本科教课最清楚的老师之一,所有的lecture video都在youtube上,notes都可以自由下载。作业和projects也都在网上,可以自己练习。这门课程是给大一新生上的,并不高深,里面也推荐了head first java。
另一个选择是coursera的algorithm课程,Princeton大学Robert Sedgewick教授开的,算法跟数据结构都有了,作业不错,也是用Java。这门课放在全球最大的MOOC网站coursera上,好处是可以得到及时的feedback,而CS61b这类传统的video下载观看模式,你只能闷头做题,作对作错都不知道。
如果你们学校有类似课程,你也可以去选课或者旁听,但是一定要做作业、练习编程!否则这门课就算是白上了!
熬到这里为止,你已经具备最基本的能力了!如果这些你早就会了,恭喜!你的书没白念!