本文档提供了关于OSSU计算机科学课程中系统化程序设计(SPD)课程实现的全面指南。它涵盖了课程设置、进度要求、技术配置和项目规范。
有关包含SPD在内的更广泛的核心编程课程的信息,请参阅 核心编程。有关一般入门指南,请参阅 入门指南。
系统化程序设计课程由UBC开发,并通过edX提供,它教授系统化的编程方法,而不是侧重于特定的编程语言。该课程使用Dr. Racket和Beginning Student Language (BSL)来强调适用于各种编程语言的基本设计原则。
来源: coursepages/spd/README.md1-7
SPD课程遵循结构化的进度,分为多个阶段,并有特定的项目和里程碑。
来源: coursepages/spd/README.md18-27
| 组件 | 描述 | 位置 |
|---|---|---|
| 核心视频 | 第一周A至第六周A内容 | edX平台 |
| 题库 | 额外的练习题 | edX平台 |
| 太空侵略者 | 中期项目 | spd-starters/final/space-invaders-starter.rkt |
| 进阶视频 | 第六周B及之后内容 | edX平台 |
| 额外内容 | 补充视频播放列表 | YouTube |
| TA求解器 | 期末项目 | spd-starters/final/ta-solver-starter.rkt |
来源: coursepages/spd/README.md19-25
来源: coursepages/spd/README.md35-46
该课程需要特定的Dr. Racket配置以匹配课程表示法
true false empty来源: coursepages/spd/README.md35-41
太空侵略者项目是两个主要课程部分之间的中期里程碑
spd-starters/final/space-invaders-starter.rktspace-invaders-instructions.png来源: coursepages/spd/README.md20-21
TA求解器是最后的顶点项目
spd-starters/final/ta-solver-starter.rkt来源: coursepages/spd/README.md23-24
来源: coursepages/spd/README.md25-26
OSSU课程特别推荐已存档的edX版本,原因如下
来源: coursepages/spd/README.md16-18 coursepages/spd/README.md67-82
| 限制 | 变通方法 |
|---|---|
| 启动文件链接损坏 | 从 spd-starters 仓库下载 |
| 无练习提交 | 使用“显示答案”进行自我检查 |
| 无题库提交 | 与提供的示例解决方案进行比较 |
| 视频访问问题 | 提供备用YouTube频道 |
来源: coursepages/spd/README.md25-27 coursepages/spd/README.md47-48
该课程为不同课程阶段提供专门的Discord频道
https://discord.gg/RfqAmGJhttps://discord.gg/kczJzpm来源: coursepages/spd/README.md29-31
对于需要随机值测试的函数,课程提供
check-random来源: coursepages/spd/README.md97-99
为什么选择BSL而不是行业标准语言?
该课程出于几个教学原因故意使用BSL
来源: coursepages/spd/README.md57-65
SPD与How To Code (HTC)版本对比
来源: coursepages/spd/README.md67-87
可以使用其他IDE吗?
课程强烈推荐Dr. Racket,因为
来源: coursepages/spd/README.md93-95
SPD课程在OSSU核心编程序列中起着至关重要的作用,它提供了
来源: coursepages/spd/README.md5-6 coursepages/spd/README.md51-65