Section outline
-
-
https://composingprograms.netlify.app/
教材pdf下载 通过网盘分享的文件:讲义
链接: https://pan.baidu.com/s/1CEm_Xgy3qy7rdM5RRqRkgQ?pwd=hd31 提取码: hd31
--来自百度网盘超级会员v7的分享 -
https://www.bilibili.com/video/BV1s3411G7yM 这个链接是所有不同年份cs61a中最全的,60+小时,除了lecture外,涵盖了lab和hw辅导等,大家可以按需学习,也可以一睹名校师生的整个教学学习过程。
https://web.archive.org/web/20210104105406/https://cs61a.org/
-
-
-
本课程采用cs61a 2020spring前半学期python内容
- 根据6次HW,5次LAB,自愿撰写题库(Moodel coderunner 题),每个合格题目,平时成绩+1分,平时成绩加到 100 分为止(因为 DeepSeek 的出现,平时成绩主要根据机试给出)。
-
目前 openEuler 社区里,专门以 Python 为主的实习小组是SIG-python-modules(Python 模块特别兴趣小组https://www.openeuler.openatom.cn/zh/sig/sig-python-modules)。根据社区最新信息,该小组正在进行的实习任务主要有:
🐍 SIG-python-modules 的实习任务
-
Python 软件包维护与升级:维护 openEuler 发行版中的 Python 软件包,包括修复 bug、升级版本、处理依赖关系等。
-
新 Python 软件包引入:将社区用户需要的 Python 包引入 openEuler,确保兼容性和稳定性。
-
Python 软件包测试:使用社区测试框架(如 mugen)编写测试用例,确保软件包质量。
🎯 如何参与
-
官网:访问 openEuler 开源实习官网 查看最新的实习任务和报名方式。
-
任务认领:在 src-openeuler 组织仓库 搜索带有 intern-python-modules 或 intern 标签的任务,选择感兴趣的任务进行认领。
-
技能要求:熟悉 Python 编程,了解 Linux 基本操作和 Git 使用。
🔖 其他可能涉及 Python 的小组
除了 SIG-python-modules,以下小组的实习任务也可能涉及 Python:-
SIG-BigData:大数据组件开发,部分任务使用 Python 进行脚本编写或组件集成。
-
SIG-Dev-Utils:开发工具、SDK 和库,部分工具可能使用 Python 开发。
建议直接访问 openEuler 实习官网,查看最新发布的实习任务列表,选择感兴趣的任务并联系导师报名参与。实习积分多少分,平时成绩加分*2,平时成绩加到 100 分为止。 -
- 蓝桥杯 python省赛 一等奖,平时成绩+10 分,二等奖+5 分,三等奖+2 分,平时成绩加到 100 分为止。
- 3个项目proj( 实验课),每次满分100分,(项目)实验成绩占比25%。未经过答辩满分80 分,经过答辩和现场代码补全成绩85-100。每迟交一天满分扣2分, 最多扣 40 分。
- 平时考试,机试 3 次,满分 100 分(占比 25%)
- 期末考试,笔试,满分100分,考试成绩占比50%。考试范围平时 HW、LAB题库和https://cs61a.org/resources/ cs61a官方对应章节历史试题。(重点发现、审核考试成绩和平时成绩不统一的学生平时代码是否存在抄袭)。考试AB卷 每个题库每卷 3题,总计 6 题。AB卷题目完全不重合。HW、LAB题库数量参考平时 HW、LAB 数量;历史试题题库范围为2020 年midterm1 和 midterm2 (4套卷子25题左右)对应于授课章节的题目(考到面向对象和继承)。题库题目所在试卷以mt.pdf、mt1.pdf或mt2.pdf结尾。
如何避免抄袭/抄袭标准:最低标准为看过答案或他人代码后确保充分理解后,关闭所有参考代码,再开始coding。不要反复多次频繁查看。禁止复制粘贴任何他人代码。
本课程会对学生提交的代码采用https://theory.stanford.edu/~aiken/moss/ 进行抄袭检测。
-
-
官方手册:https://trampgeek.github.io/moodle-qtype_coderunner/
官方 python xml 模板 https://github.com/trampgeek/moodle-qtype_coderunner/blob/master/samples/python3demoquizquestions.xml
1.题目类型:python3_cosc121。这是一种复杂的 Python3 题型,坎特伯雷大学 COSC121 课程的几乎所有题目都使用了这种题型。学生提交的题目首先要经过pylint 源代码分析器,如果 pylint 出现任何错误,则提交的题目会被拒绝。否则,测试将照常进行。显然,pylint需要安装在沙盒服务器上。这种题型需要使用许多不同的模板参数(请参阅“模板参数”部分了解这些参数的含义),以便将其用于解决各种不同的问题。例如,可以将其配置为要求或禁止特定的语言结构(例如,要求学生将for循环重写为while 循环),或将函数大小限制为给定值,或从学生的代码中剥离主函数,以便单独测试支持函数。有关如何使用此题型或任何其他题型的详细信息,可以通过展开题型编辑页面中的“题型详情”部分 找到。
2.Moodle CodeRunner 题目的 XML 结构示意图
<question type="coderunner">
│
├─ <name> … </name> # 题目名字 命名规则 腾讯文档 作业号+题号+题目+分值+学号后四位 如 lab0101Fix the Bug (100pts)1234
│
├─ <questiontext format="html"> # 题目描述
│ └─ <text><![CDATA[ … ]]></text>
│
├─ <generalfeedback format="html"> … </generalfeedback>
│
├─ <defaultgrade> … </defaultgrade> # 分值
├─ <penalty> … </penalty>
├─ <hidden> … </hidden>
│
├─ <coderunnertype> … </coderunnertype> # 使用的 CodeRunner 题型
├─ <prototypetype> … </prototypetype>
├─ <allornothing> … </allornothing>
├─ <penaltyregime> … </penaltyregime>
├─ <precheck> … </precheck>
├─ <showsource> … </showsource>
│
├─ <answerboxlines> … </answerboxlines> # 答题框行数
├─ <answerboxcolumns> … </answerboxcolumns>
├─ <answerpreload> … </answerpreload>
├─ <useace> … </useace> # 是否用 Ace 编辑器
│
├─ <answer><![CDATA[ … ]]></answer> # 标准答案
│
├─ <validateonsave> … </validateonsave>
│
├─ <templateparams><![CDATA[{ … }]]></templateparams>
│ # JSON 格式参数,如 requiredconstructs / proscribedconstructs
│
├─ <testcases> # 测试用例集合
│ ├─ <testcase … >
│ │ ├─ <testcode><text>…</text></testcode>
│ │ ├─ <stdin><text>…</text></stdin>
│ │ ├─ <expected><text>…</text></expected>
│ │ ├─ <extra><text>…</text></extra>
│ │ └─ <display><text>SHOW</text></display>
│ │
│ └─ <testcase … > … (更多测试)
│
└─ </question>3. 测试用例,除了 cs61a hw lab 提供的测试用例,要求至少多自创 1 个测试用例。
4. 考试前一周合格一题加 2 分,后面到考试前的周六加 1 分,临近的周日开始不加分(老师这时候已经开始自己动手改 xml 准备考试题了)。
-
-
-
-
-
补充:闭包和装饰器WWPP pythontutor
-
-
-
https://leedong64.cn2.quickconnect.cn/homework/
用户名:qq 群公布的 密码:qq 群公布的
作业提交,不要压缩。
0.找到课程名称对应目录,本课程为2025python
1.找到对应的目录,例如proj1等。进入该目录。再进入 1 班或 2 班目录。
2. 新建自己的目录,例如3120001234张三;或更改本地要上传到文件夹名为3120001234张三

3. 将所有需要上传的文件或文件夹拖进刚刚新建的自己的目录下,或将本地3120001234张三拖进当次作业目录下(如lab00)
目录下包括
1.ok评分截图(如下图的例子通过几个测试就相当于评分,另外截图要截到系统时间),按题号命名(新加入目录的文件)。

2.代码(要所有文件,包含当次如 proj1 整个模板目录 下所有文件)。
-
-
-

