菜单

编程入门课程

相关源文件

目的与范围

本文档提供了编程入门课程的详细实现指南。这些课程是为那些在学习核心计算机科学导论课程之前需要额外准备的学生设计的可选先修课程。这些课程特别针对那些几乎没有编程经验或完全没有编程经验,觉得主要 计算机科学导论 课程具有挑战性的学生。

内容涵盖了两种可选的学习路径:CS50P(哈佛大学的Python课程)和Python for Everybody(密歇根大学),以及它们的技术设置要求、评估方法和与更广泛的OSSU课程流程的整合。

课程选择决策流程

编程入门课程作为OSSU课程体系中的一个可选预备步骤。学生根据在核心计算机科学导论课程中的表现来决定是否选择。

来源: coursepages/intro-programming/README.md1-6 coursepages/intro-cs/README.md11-13

CS50P:Python编程入门

技术架构

CS50P通过哈佛大学的基于云的开发环境和评分基础设施运行,需要特定的设置和交互模式。

来源: coursepages/intro-programming/README.md7-22 coursepages/intro-programming/README.md25-34

课程结构和要求

CS50P遵循一个结构化的10周课程进度,通过实践性的问题集涵盖基础编程概念。

主题课程资料评估
0函数、变量cs50.harvard.edu/python/2022/weeks/0/问题集 0
1条件语句cs50.harvard.edu/python/2022/weeks/1/问题集 1
2循环cs50.harvard.edu/python/2022/weeks/2/问题集 2
3异常处理cs50.harvard.edu/python/2022/weeks/3/问题集 3
4cs50.harvard.edu/python/2022/weeks/4/问题集 4
5单元测试cs50.harvard.edu/python/2022/weeks/5/问题集 5
6文件 I/Ocs50.harvard.edu/python/2022/weeks/6/问题集 6
7正则表达式cs50.harvard.edu/python/2022/weeks/7/问题集 7
8面向对象编程cs50.harvard.edu/python/2022/weeks/8/问题集 8
9等等cs50.harvard.edu/python/2022/weeks/9/最终项目

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

实施说明

CS50P课程需要特定的设置流程并遵循定义的学习流程模式。

  1. 环境设置:学生必须登录 CS50 codespace并观看 VS Code 设置视频
  2. 学习周期:每周,学生观看讲座,阅读笔记,并完成问题集。
  3. 支持渠道:主要通过 OSSU Discord 进行支持,并通过 CS50 Discord 进行次要支持。

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

Python for Everybody (PY4E)

技术架构

Python for Everybody 通过一个自托管的平台运行,该平台集成了Google身份验证和作业跟踪功能。

来源: coursepages/intro-programming/README.md36-53 coursepages/intro-programming/README.md57-73

课程完成要求

在OSSU课程体系中,Python for Everybody具有特定的范围限制。

  • 必需内容:第1-12课(从安装Python到正则表达式)
  • 可选内容:第13-17课(网络编程、Web服务、面向对象编程、数据库、数据可视化)
  • 身份验证:需要在 py4e.com 进行 Google 账户登录。
  • 评估:每节课后进行自动评分的作业。

来源: coursepages/intro-programming/README.md49-53

技术修复和兼容性问题

PY4E课程包含针对Python版本冲突的文档化兼容性修复。

BeautifulSoup4 Python 3.10+ 修复

对于在BeautifulSoup4课程中遇到Collections库错误的同学,提供了一个兼容性修复。

此修复解决了Python 3.10+版本与课程材料中引用的Collections库的兼容性问题。

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

与OSSU课程体系的整合

先决条件评估逻辑

编程入门课程根据学生在核心计算机科学导论课程中的表现评估结果,作为有条件的先修课程。

来源: coursepages/intro-cs/README.md11-13 coursepages/intro-programming/README.md1-6

支持基础设施整合

两门课程均通过专用的频道与OSSU的Discord支持基础设施集成。

  • CS50P支持discord.gg/cBkssaJy5g (OSSU 管理)
  • PY4E支持discord.gg/syA242Z (OSSU 管理)
  • CS50P 次要支持discord.gg/cs50 (哈佛大学维护,非OSSU关联)

来源: coursepages/intro-programming/README.md20-22 coursepages/intro-programming/README.md52