菜单

课程特定指南

相关源文件

本文档为OSSU计算机科学课程中需要额外设置、配置或解释的复杂课程提供了详细的实施指南。这些指南通过实践技术指导、项目要求和故障排除信息,补充了主要的课程结构。

有关课程的总体结构和进度,请参阅课程结构。有关补充学习材料,请参阅补充资源

目的与范围

课程特定指南解决了学生尝试独立完成某些课程时遇到的技术实施挑战。与侧重于课程选择和学术标准的课程主旨不同,这些指南提供了

  • 开发环境设置步骤
  • 项目特定要求和限制
  • 工具配置和兼容性问题
  • 分步实施流程
  • 针对不同技能水平的替代方法
  • 常见技术问题的故障排除

课程指南架构

课程特定指南系统围绕包含全面的实施文档的各个课程目录进行组织。

来源:coursepages/ostep/README.md1-199 coursepages/spd/README.md1-104 coursepages/intro-programming/README.md1-87 coursepages/intro-cs/README.md1-45

实现工作流程

课程特定指南遵循标准化的工作流程,涵盖从先决条件到项目完成的完整实施周期。

来源:coursepages/ostep/README.md42-53 coursepages/spd/README.md14-32 coursepages/intro-programming/README.md16-22

操作系统课程 (OSTEP)

OSTEP课程指南提供了课程中最全面的实施文档,为不同的学生目标提供了基础和扩展方法。

实现方法

方法持续时间先决条件项目目标受众
基础80 小时基础 C 知识作业练习通用 CS 学生
扩展版 (Extended)200+ 小时高级 C、Nand2Tetris、x86 汇编完整的 xv6 内核项目系统专家

基础方法实施

基础方法侧重于通过 OSTEP 教材和作业练习进行概念理解。

来源:coursepages/ostep/README.md12-40

扩展方法实施

扩展方法涉及完整的 xv6 内核编程,并进行全面的工具链设置。

来源:coursepages/ostep/README.md41-134

进程 Shell 实施

processes-shell项目展示了为复杂实施提供的详细技术指导。

内存管理要求

来源:coursepages/ostep/Project-2A-processes-shell.md23-46

系统化程序设计课程

SPD课程指南解决了使用 Dr. Racket 环境和初级学生语言 (BSL) 的独特挑战。

Dr. Racket 配置

该课程需要特定的 IDE 配置,以匹配课程期望并实现正常功能。

配置设置目的
语言BSL/ISL 变体课程特定语法
常量样式true false empty符号兼容性
自动括号已启用生产力增强
重新缩进Ctrl+I 快捷键代码格式化

项目实施结构

来源:coursepages/spd/README.md14-31 coursepages/spd/README.md34-47

BSL语言的理由

该课程出于特定的教学原因,特意使用了初级学生语言,而不是行业标准语言

  • 学术重点:强调设计模式而非特定语言的语法
  • 简化语法:移除样板代码,专注于算法思维
  • 通用概念:设计模式可迁移到任何编程语言
  • 研究背景:Lisp 变体是计算机科学研究的标准

来源:coursepages/spd/README.md55-66

编程入门课程

入门编程指南为不同编程背景的学生提供了替代的学习路径。

课程选择矩阵

来源:coursepages/intro-programming/README.md5-14

CS50P 实施细节

CS50P 使用哈佛大学的开发环境和评估系统提供了全面的入门介绍。

开发环境设置

组件实现访问方式
IDECS50 Codespacecs50.dev 登录
语言Python 3预配置环境
评估自动化测试内置验证
支持Discord 社区discord.gg/cs50

课程材料结构

来源:coursepages/intro-programming/README.md16-34

Python for Everybody 替代方案

Python for Everybody 提供了自定进度的替代方案,具有不同的教学方法和评估方法。

平台差异

方面CS50PPython for Everybody
托管哈佛基础设施py4e.com
进度结构化每周自定进度
身份验证CS50 账户Google 账户
完成通过正则表达式强制完成可选的高级主题
评估自动化验证样本解决方案比较

兼容性问题

本指南解决了实际使用中遇到的特定技术兼容性问题

来源:coursepages/intro-programming/README.md76-86

计算机科学入门课程

MIT 6.100L 课程指南解决了从入门编程到正式计算机科学教育的过渡问题。

课程状态与替代方案

由于对没有编程经验的学生难度评估,该课程目前正在审查中。该指南提供了清晰的备选方案

来源:coursepages/intro-cs/README.md11-41

作业集计划

与自定进度课程不同,MIT 6.100L 遵循结构化的时间表,学生必须适应自学

作业集目标完成时间讲座依赖性
PSET 0第 1 讲之前先决条件
PSET 1第 9 讲之前基础概念
PSET 2第 12 讲之前控制结构
PSET 3第 16 讲之前函数/模块
PSET 4第 20 讲之前面向对象编程
PSET 5第 25 讲之前高级主题

来源:coursepages/intro-cs/README.md20-28