code.cs61a.org是本课程中教授的所有三种语言(Python 3.9、61A Scheme 和 SQLite – SQL 的变体)的在线解释器。使用此解释器,您可以编辑、运行、调试、可视化和与课程人员分享代码。
入门
开始使用 61A Code 的最简单方法是访问code.cs61a.org并使用解释器。点击启动屏幕上的Start Python Interpreter
,并开始与python
交互!
请注意,该站点首次加载可能需要几秒钟的时间,因为它会将 Python、Scheme 和 SQL 的解释器下载到您的浏览器。在大多数现代浏览器中,这些解释器都被缓存了,所以后续的加载速度应该会快很多!此外,解释器在进入您的缓存后都会脱机运行,因此您即使没有互联网连接也可以工作!
创建文件
您可能希望编辑文件中代码,而不是直接在解释器中运行程序。为此,您可以
- 点击顶部菜单栏的
New
- 点击启动屏幕上的
Create new file
- 在交互式解释器中调用函数
editor
(editor()
在 Python、(editor)
Scheme 和.editor
SQL 中)
要运行文件中程序,请点击窗口右上角的绿色图标Run
。一个交互式解释器将被打开,显示您的代码的打印输出,这将允许您进一步与您的程序进行交互。您可以使用交互式解释器左侧的红色Stop
图标来停止长时间运行的程序。
要保存文件,请点击Ctrl/Cmd + S
或单击顶部菜单栏中的Save
/Save As
选项。您可以选择将代码副本下载为文件,或将其保存在本地浏览器中。如果您选择将其保存在浏览器中,则应为其指定一个有意义的名称。如果你给两个文件同名,旧的文件将被静默覆盖,所以要小心!
打开编辑器后,您可以使用三种语言中的任何一种编写代码,编辑器会自动检测该语言。如果要覆盖检测到的语言,请在文件顶部添加lang
注释:
#lang python
将强制解释器使用python
;lang scheme
将强制解释器使用scheme
--lang sql
将强制解释器使用sql
或者,您可以用.py
,.scm
或.sql
扩展名保存一个文件,迫使它用相应的语言运行。
加载文件
您可能希望使用 61A Code 与在别处编写的程序进行交互。为此,有多种选择:
- 单击顶部菜单栏的
Open
,通过将文件拖入放置区域或手动选择将文件上传到 61A Code。 - 单击启动屏幕上的
Open existing file
,然后使用前面说的对话框上传文件。 - 从
Recent Local Files
或OKPy Backups
中选择一个文件。 - 从课程主页打开一个文件。
打开文件时,在cs61a
目录中查找当前学期的 OKPy 备份。首次尝试执行需要 OKPy 身份验证的操作时,系统将提示您登录。您可以打开、编辑、运行和保存备份,它们将在 OKPy 上和您的合作伙伴同步。但是,您不能运行 OKPy 测试用例。
文件夹home
中的文件存在本地浏览器存储中。某些浏览器可能会定期清除此存储(已知 Safari 会执行此操作),因此请不要依赖它!存储在cs61a
文件夹中的文件作为 OKPy 备份被保存,因此即使您清除浏览器数据也可以访问,但在学期结束后将无法从 61A Code 访问(尽管它们将保留在 OKPy 上)。
要打开已保存在 61A Code 中的文件,您可以使用前面描述的Open
对话框打开以前保存的文件,或访问文件的直接链接(例如课程主页上的链接)。请注意,可公开访问的直接链接只能由课程工作人员创建。
格式化代码
要使您的代码更具可读性,请单击窗口右上角的蓝色Format
图标。特别是对于 Scheme,这可以使您的代码更易于阅读和调试,并且还会捕获简单的语法错误。
可视化数据结构
要可视化数据结构,请使用传入的数据结构作为其唯一参数调用draw
函数(draw(...)
在 Python 中或(draw ...)
在 Scheme 中)。列表和链表将绘制为盒指针图,而(两种类型的)树将以标准方式绘制。该Link
和Tree
数据结构,以及标准的树ADT功能,已经宣布在Python解释器使用。
您还可以调用该autodraw
函数来绘制交互式解释器中返回的所有数据结构。呼吁disable_autodraw
停止这种行为。
可视化程序
要可视化在编辑器中编写的代码,请单击右上方Run
图标旁边的黄色Debug
图标。
- 如果您正在编写 Python,可视化工具将使用 Python Tutor 绘制您代码的环境图。
- 如果您正在编写 Scheme,可视化工具将显示代码的树递归执行以及环境图。
- 如果您正在编写 SQL,可视化工具将让您与代码生成的表进行交互,并逐步执行大多数
SELECT
语句。
要可视化在交互式解释器中运行的代码,请调用visualize
函数(Python 中的visualize()
或 Scheme 中的(visualize)
)以查看所有代码在交互式解释器中运行的类似可视化。在 SQL 中,您可以单击控制台中的Step-By-Step
按钮来查看特定SELECT
语句的逐步运行结果。
讲座中的表格已预加载到 SQL 解释器中,因此您不必自己创建它们。运行.tables
或.schema
查看所有当前可用的表,运行.open --new
以删除所有的表。
请注意,虽然大多数代码在您的本地机器上运行,但 Python 和 Scheme 程序可视化工具在服务器上运行您的代码,因此存在一些限制,使您无法可视化运行时间非常长的程序。
分享代码
请记住,与您的项目合作伙伴之外的任何学生(即使是没有参加 CS 61A 的学生!)分享与 61A 作业相关的代码是违反课程政策的。
但是,您可能希望与工作人员分享代码以帮助调试。为此,请单击顶部菜单栏中的Share
按钮,为您的代码生成唯一的 URL,教职员工可以访问该 URL,但学生不能访问该 URL。工作人员应登录与学生共享文件。从共享菜单共享文件时,所有协作者都可以看到编辑内容。
高级
要摸索解释器的内部结构,请单击顶部菜单栏的Console
。您将能够与最小的终端式界面进行交互。键入 help
查看已启用的命令。特别要注意的是,您可以使用rm
删除文件.
要将文件保存在目录中,请在Save As
对话框中写入完整路径,而不仅仅是文件名。
故障排除/报告错误
如果您遇到错误,请尝试使用其他浏览器。此工具在 Google Chrome 中进行了最广泛的测试,但应该可以在大多数现代浏览器中使用。您还应该考虑清除浏览器的缓存和 本地存储。如果错误仍然存在,请在 Piazza 上发帖或联系课程工作人员。
留言