Section Name Description
Page 网上对cs61a评价

    

URL 杭电学生写的学习cs61a经验
教材&参考资料 URL 教材 Composing Programs中文翻译

https://composingprograms.netlify.app/

教材pdf下载 通过网盘分享的文件:讲义
链接: https://pan.baidu.com/s/1CEm_Xgy3qy7rdM5RRqRkgQ?pwd=hd31 提取码: hd31 
--来自百度网盘超级会员v7的分享

URL 本课程采用cs61a 2020spring前半学期python内容。推荐学习次序:上课(看lecture),看教材,做lab,做hw,做proj(做之前必须看tutorial pdf或网页文档,lab00 那里有所有的打包下载百度云链接)。

https://www.bilibili.com/video/BV1s3411G7yM 这个链接是所有不同年份cs61a中最全的,60+小时,除了lecture外,涵盖了lab和hw辅导等,大家可以按需学习,也可以一睹名校师生的整个教学学习过程。

https://web.archive.org/web/20210104105406/https://cs61a.org/

URL 教材 Composing Programs 英文版 不用翻墙就可阅读
URL 参考资料 Nanjing University SICP fa2021
URL UCB CS61A Structure and Interpretation of Computer Programs
URL python官方教程
URL 精译【UC Berkeley 公开课-CS61A (Spring 2021)】-中英双语字幕
URL 【中文精翻|中文语音】[2023·CS61A
评分标准&成绩查询 Page 评分标准

本课程采用cs61a 2020spring前半学期python内容

  1. 根据6次HW,5次LAB,自愿撰写题库(Moodel coderunner 题),每个合格题目,平时成绩+1分,平时成绩加到 100 分为止(因为 DeepSeek 的出现,平时成绩主要根据机试给出)。
  2. 目前 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-modulesintern 标签的任务,选择感兴趣的任务进行认领。
    • 技能要求:熟悉 Python 编程,了解 Linux 基本操作和 Git 使用。

    🔖 其他可能涉及 Python 的小组

    除了 SIG-python-modules,以下小组的实习任务也可能涉及 Python:
    • SIG-BigData:大数据组件开发,部分任务使用 Python 进行脚本编写或组件集成。
    • SIG-Dev-Utils:开发工具、SDK 和库,部分工具可能使用 Python 开发
       
    建议直接访问 openEuler 实习官网,查看最新发布的实习任务列表,选择感兴趣的任务并联系导师报名参与。实习积分多少分,平时成绩加分*2,平时成绩加到 100 分为止。
     
  3. 蓝桥杯 python省赛 一等奖,平时成绩+10 分,二等奖+5 分,三等奖+2 分,平时成绩加到 100 分为止。
  4.  3个项目proj( 实验课),每次满分100分,(项目)实验成绩占比25%。未经过答辩满分80 分,经过答辩和现场代码补全成绩85-100。每迟交一天满分扣2分, 最多扣 40 分。
  5.  平时考试,机试 3 次,满分 100 分(占比 25%)
  6. 期末考试,笔试,满分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/ 进行抄袭检测。

URL 查看历次成绩-腾讯文档链接
加分:moodle coderunner 题库 xml 文件撰写指南 Page xml撰写指南

 官方手册: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 准备考试题了)。

01 Introduction & 技能补缺 Page HW00 shell cmd git
Page lab00 环境配置说明(网址要翻墙,或见pdf),只有最后一步4.4判分命令--sumbit改--local不一样
File lab00 环境配置说明(网址要翻墙,或见pdf),只有最后一步4.4判分命令--sumbit改--local不一样
URL lab hw proj tutorials 百度云打包下载 (第一次是lab00)
URL lab hw proj code模板 百度云打包下载 已更新新OK (第一次是lab00.zip)
URL python代码风格要求
File python3速查卡cheetsheet
File 01 introduction
File 01 实验室demo
Page 教师主页及本科生进实验室说明

教师个人主页及研究简介

https://teacher.gdut.edu.cn/lidong/zh_CN/index.htm

大一升二暑期前标准完成下列课程作业0,其后标准为完成作业0、1、3、4.

https://courses.gdut.edu.cn/course/view.php?id=1602

02 Names, Functions & Control URL 可接受任意数量参数的函数;*:别只把它当乘号,还能打包和解包
Page Lab 01: Variables & Functions, Control tutorial 不能打开的用下方百度云下载pdf
URL Hw 01: Variables & Functions, Control tutorial 不能打开的用下方百度云下载pdf
URL lab hw proj tutorials 百度云打包下载
URL lab hw proj code模板 百度云打包下载 已更新新OK
File 02-Names-and-Functions
File 03 control
File lab00 lab01讲解
File HW01讲解
03 Higher-order Functions & Env Diagrams 1 URL Lab 02: Higher-order Functions
File 04-Environment-Diagrams
File lab02
Page 高阶函数(嵌套定义函数) pythontutor 环境图
04 Higher-order Functions & Env Diagrams 2 URL Hw 02: Higher-order Functions
File 04-Environment-Diagrams
File hw02讲解
Page 匿名函数 lamda
URL 装饰器:不修改代码,就能改变函数功能的强大特性
05 Recursion (Examples) & Containers URL Lab 03: Recursion and Tree Recursion
URL Hw 03: Recursion and Tree Recursion
File lecture 06
File lecture 07
040506 周 Proj 01: The Game of Hog URL Proj 01: The Game of Hog 提交 deadline 10.16 24 点 后面每晚一天扣 2 分 最多扣40分。
Page proj 提交说明

https://leedong64.cn2.quickconnect.cn/homework/

用户名:qq 群公布的 密码:qq 群公布的

作业提交,不要压缩。

0.找到课程名称对应目录,本课程为2025python

1.找到对应的目录,例如proj1等。进入该目录。再进入 1 班或 2 班目录。

2. 新建自己的目录,例如3120001234张三;或更改本地要上传到文件夹名为3120001234张三

3. 将所有需要上传的文件或文件夹拖进刚刚新建的自己的目录下,或将本地3120001234张三拖进当次作业目录下(如lab00)

目录下包括

1.ok评分截图(如下图的例子通过几个测试就相当于评分,另外截图要截到系统时间),按题号命名(新加入目录的文件)。

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

07 Data Abstractions File lecture 08-Containers
File 09-Data-Abstractions
08 Trees URL Lab 04: Data Abstraction, Lists, and Trees
URL Hw 04: Data Abstraction, Lists, and Trees
File 10-Trees
File Trees
08 Mutability File 11 mutable values
File Mutability-cn
URL Q&A
080910 周 Proj 02: Autocorrected Typing Software URL proj02: Autocorrected Typing Software
09 Iterators & Lazy Evaluation URL Lab 05: Nonlocal, Iterators, and Generators
URL Hw 05: Nonlocal, Iterators, and Generators
File 13-Iterators
File 13-Lazy-Evaluation
File Iterators-cn
File Generators-cn
File 补充讲义4.2 隐式序列
111213 周 Proj 03: Ants vs. Some Bees URL Proj 03: Ants vs. Some Bees
12 Object Oriented Programming File 14 OOP
File Objects
File Attributes-cn
Page Q&A
13 Inheritance URL Hw 06: OOP and Inheritance
File Lecture20Inheritance-cn
File Lecture21Representation-cn
File 15-Inheritance
15 周 复习资料、期末考试 Page 题库部分试题讲解
Folder 试卷题库(cs61a网站为准,这里可能不全)
补充资料 Page 面向对象编程,一定要知道的类变量、类方法(装饰器 @classmethod)、静态方法@staticmethod

URL 生成器:处理大量数据时,节省内存和时间
URL 专用方法/魔法方法
File Special methods 专有方法