Stanford CS143 速通PA1教程
今天做完了CS143的PA1,感觉最难的地方在于官方没有具体的文档(edX),然后COOL语言调试比较困难,以下是我对同样打算入坑CS143的同学的一些帮助吧:
速通前的准备
- Virtual VM Setup:如果还没有搭好环境的,建议跟着官网的搭一下,我选择的是傻瓜式的搭建方法,就是用官方给的环境,这个最方便,也不容易出问题。
- PA1.pdf(见我的仓库):没有在edX找到文档,这是我从别人的仓库借鉴过来的,里面详细地说明了要求的。
- cool-manual.pdf(见我的仓库):同样是补充材料,很有用,在做之前可以先通读下,了解下COOL语言的语法,当然上课讲的几个例子(02-01 ~ 02-03)也需要过一遍。
- example里面的list.cl:这个很有用,因为它作为链表,利用头插的方式实现,与栈的思想是一致的,改一改就可以做成栈了。
我的体会
以上三个看完(manual可以作为语法的补充,用的时候看),就可以着手写了,当然写得还是比较难受,毕竟是一门新的语言,然后其实最大的坑在于,COOL的调试非常拉跨,所以很多时候你只是模糊地知道在某一行的附近发生了错误,我遇到的一些坑如下:
- if then else是一个整体,不能没有then,或者else
- 不能在代码段中声明变量
代码实现与资料:
上述资料和我的代码实现,都在这个仓库里面