这一门课相当于就是一门算法刷题课,使用的教材是大名鼎鼎的 《Cracking the coding interview》:一学期分为三个阶段:Java, Python和Javascript,在每一个阶段的学习的时候,class exercise,homework以及shuffle interview都需要用对应的语言去完成。之前24Spring的时候在Berkeley听过CS 170 (Efficient Algorithms and Intractable Problems 。Berkeley的这一门课更加理论,可以理解为有点偏CS Theory,学的内容甚至涉及到了虚数等概念。CMU的这门课就更加偏实践,每周的workload并不是很大, 在Codio平台完成作业的基础上稍微费一点时间的就是需要去约mock interview(每周自己需要作为面试官和面试人分别和不同的同学进行Shuffle Interview);一学期中还需要和教授和TA进行Interview。在第三阶段学习Javascript的时候,因为确定了以后主要往前端方向发展并且觉得Python在实际工业开发中应用得不是很广泛,于是将刷题从Python切换到了Javascript。另外,值得一提的是,这门课除了一些要求的线下interview,其他包括作业考试等都是在Codio这个在线平台完成的。每个人每学期需要交50刀来充值使用这个平台,但是相比于纸质的考试我个人还是更喜欢这种形式。
课程成绩 (94.47% -- A)
这门课是Curve的一门课,也就是说最后的 Letter Grade 是根据学生的位次来设置的 threshold。最后也算运气比较好,刚好达到了 94.41% A 的门槛。实际上在中期的时候只有B+的水平:因为第一次考试是用的Java,自己当时对Java没有特别熟练再加上研究生阶段没有像本科的时候将绩点和考试看得那么重要,于是第一次考试也就没有很理想。在半期之后的两次考试(分别使用Python和Javascript)之后成绩还算令人满意,尤其期末考试使用JS因为题目不是很难再加上语言比较熟悉,拿到了满分的成绩。