Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

learn-python-the-smart-way-v2 #119

Open
3 tasks done
anine09 opened this issue Mar 5, 2023 · 14 comments
Open
3 tasks done

learn-python-the-smart-way-v2 #119

anine09 opened this issue Mar 5, 2023 · 14 comments

Comments

@anine09
Copy link

anine09 commented Mar 5, 2023

你是否已经阅读并同意《Datawhale开源项目指南》?

你是否已经阅读并同意《Datawhale开源项目行为准则》?

项目简介

项目地址:https://github.com/datawhalechina/learn-python-the-smart-way-v2
聪明办法学 Python 第二版是 Datawhale 基于第一版教程的一次大幅更新。我们尝试在教程中融入更多计算机科学人工智能相关的内容,制作“面向人工智能的 Python 专项教程”。

我们的课程简称为 P2S,有两个含义:

  1. Learn Python The Smart Way V2,“聪明办法学 Python 第二版”的缩写。
  2. Prepare To Be Smart, 我们希望同学们学习这个教程后能学习到聪明的办法,从容的迈入人工智能的后续学习

立项理由

小雨姑娘在一年前创立了 聪明办法学 Python 第一版 的教程,并为其录制了视频课。第一版教程希望提供一个更快捷有效的 Python 入门途径,让同学们在最短时间内补充需要的知识技能,从而更快完成自己的目标。不仅教授 Python 知识,还教授聪明的办法。所以教程在 “快速”与“简明” 的核心思想下诞生了。

在这一年中,许多同学通过这门教程受益,同时也为教程提供了很多宝贵意见。在小雨姑娘当初编写教程时,可能内容写的稍微简短了些,导致同学们很难体会到其中的“聪明的办法”。以及由于学业压力,小雨姑娘无法投入太多时间用于教程的更新迭代。

骆秀韬在 2022 年暑假接触到第一版教程后,发现这个教程有很多值得改进的空间。在与小雨姑娘交流后,开始着手筹备新版教程的工作,收集了同学们在学习 Python 过程中的困惑和痛点,研究了其他高校关于 Python 入门的课程,重新规划了教程的编写方式,并在 Datawhale 高校联盟 中组建了 聪明办法学 Python 教学团队

项目受众

本教程面向零基础、非科班且想学习人工智能 Python 编程的高校同学或者社会从业者,作为《人工智能人才培养方案》的第一课

项目亮点

市面上有很多 Python 教程,我们希望对标国内部分高校的 Python 教学课堂内容,制作人工智能专项 Python 课程,探索一套完整的开源教学模式,不仅仅是文字与视频教程,我们希望囊括 Lab 和作业以及 Final Project,让非科班同学也能接受较为完整的训练

本课程亮点如下:

  • 直播课,预计 24 次课左右(12 次 Chapter,12 次 Talks)
  • 以第一版的内容作为文字教材,并在此基础上重新设计 Slides,接受反馈后再同步更新文字教程
  • 参考 CMU 15-112 等其他优质课程,并对其有针对性修改
  • 使用 Hydro.ac 进行在线作业评测,不使用类似《For 循环实验报告》的作业形式
  • 开设课程专属论坛进行在线答疑讨论,并安排 Office Hours
  • 结课作业为阅读《Make Your Own Neural Network》(一本非常通俗易懂的简易神经网络入门教材),并依照书上的内容完成 MNIST 手写数字识别
  • 尝试与 Datawhale 其他开源教程顺滑衔接

项目规划

目录(暂定)

  • Chap 0 安装
  • Chap 1 启航
  • Talks 0 Notebook与 Online Judge
  • Chap 2 数据类型与操作
  • Chap 3 变量与函数
  • Chap 4 条件
  • Chap 5 循环
  • Talks 1 代码风格
  • Talks 2 调试
  • Chap 6 字符串
  • Talks 3 图形界面初步
  • Chap 7 列表与元组
  • Talks 4 列表扩展
  • Chap 8 集合
  • Chap 9 字典
  • Talks 5 代码效率
  • Chap 10 面向对象初步
  • Talks 6 递归初步
  • Talks 7 递归进阶
  • Chap 11 面向对象进阶
  • Talks 8 异常
  • Talks 9 函数高阶
  • Chap 12 模块与常用库选讲
  • Talks 10 NumPy 初步
  • Talks 11 Pandas 初步
  • Talks 12 Matplotlib 初步
  • Chap X 结语

Chapter 系列主要由 @anine09 负责,Talks 系列主要由其他助教负责

预计完成日期

整个教程预计在 2023年9月后完成初版,2023年3月会根据实际情况招募新的贡献者

可预见困难

  • 由学生团队制作,受限于学业压力,制作进度缓慢
  • 课程内容较多,对于组队学习可能较长,会依据 D2L 的组队学习反馈做修改

项目负责人

骆秀韬,湖北第二师范学院,21 级材料物理本科在读
Github: @anine09
Email: epsilon_luoo@outlook.com

备注:发起立项申请后DOPMC将会在 72h 之内给出答复,如超时未答复请添加DOPMC负责人微信(微信号:at-Sm1les)问询~

  • 我已知悉上述备注
@ZhikangNiu
Copy link

  1. Python教程方面可以参考下廖雪峰老师的Python教程
  2. 结课作业是构造一个神经网络?使用numpy手写还是使用现有pytorch。如果使用pytorch的话,可以和现有的thorough-pytorch联系一下。

希望早日看见样稿,祝一切顺利。@anine09

@anine09
Copy link
Author

anine09 commented Mar 5, 2023

  1. Python教程方面可以参考下廖雪峰老师的Python教程
  2. 结课作业是构造一个神经网络?使用numpy手写还是使用现有pytorch。如果使用pytorch的话,可以和现有的thorough-pytorch联系一下。

希望早日看见样稿,祝一切顺利。@anine09

  1. 我们会广泛借鉴优秀教程的内容,还包括了菜鸟教程,Python 官网文档
  2. 原书中的内容好像是用纯 Python 来实现了一个简易的 nn,不太记得用没用 Numpy 了,我们可以专门做个简洁版本,用 Pytorch 实现的,然后过渡到 thorough-pytorch,我也希望在课程 Lab 上多多使用 thorough-pytorch 相关的内容

@GYHHAHA
Copy link

GYHHAHA commented Mar 5, 2023

课程之间尽量不要重叠,建议删去第12章,不要引入除了Python之外的理解复杂度,并且属于内容本身的部分要深入且聚焦,因为是要介绍Python的,可以加入其他Python的内容(如装饰器、迭代器、生成器、Type-Checking、常用标准库os,sys,json等的重要方法、with statement、测试框架pytest、asyncio等),参考fluent python 2nd version,现在应该只有你这一个python教程吧?

@GYHHAHA
Copy link

GYHHAHA commented Mar 6, 2023

刚刚看了一下你们网站的情况,比较规范很不错~,使用mkdocs生成文档的吗?这个工具能不能生成文档的同时执行代码(写在md里),然后把结果嵌入文档里?

@anine09
Copy link
Author

anine09 commented Mar 6, 2023

刚刚看了一下你们网站的情况,比较规范很不错~,使用mkdocs生成文档的吗?这个工具能不能生成文档的同时执行代码(写在md里),然后把结果嵌入文档里?

是的,每个页面是一个单独的 Markdown 文档,你可以看这个页面了解大概的实现方式。2月份更新网页的时候,我添加了对 Jupyter Notebook 的支持,现在它可以直接使用 Notebook 来当一个单独的页面了,我们会仿照 D2L 的方式来呈现更详细的文字教程,目前的 Notebook 是用于视频讲课的 Slides。

课程之间尽量不要重叠,建议删去第12章,不要引入除了Python之外的理解复杂度,并且属于内容本身的部分要深入且聚焦,因为是要介绍Python的,可以加入其他Python的内容(如装饰器、迭代器、生成器、Type-Checking、常用标准库os,sys,json等的重要方法、with statement、测试框架pytest、asyncio等),参考fluent python 2nd version,现在应该只有你这一个python教程吧?

目前是只有我们这个教程在积极更新,我们也在想,课程学到后期应该以一个什么知识点结束,这个内容可能还需要与各位多讨论讨论,这些建议都非常不错,特别是标准库的,也让我有了新的 idea:我们可以单独介绍一些常用的配置文件的格式,如 JSONYAMLTOML 这种。但是我个人认为,像装饰器、迭代器、生成器、Pytest、asyncio 的内容可能会超出非科班零基础同学的接受范围,我们需要慎重考虑,我们还是更希望先让大家快速成长成为一个“调包侠”,再去给出合适的学习资料和路线,引导他们进一步打怪升级,所以我们的教程在后面会与其他类型的教程,比如 joyful-pandas 有交叉,我们是打算简单介绍 pandas,给一两个基础任务让学习者练手,然后如果他们对这个有兴趣,希望在这方面学得更深入些,那我们会告诉他,你需要去看看 joyful-pandas,总之,我个人认为,像 《Fluent Python》这种教程,我们可以取一些大家的水平能接受的东西,但是更多的需要他们自己再往后走,这门课程的重点不在课程中,功夫都应该花在课下,我们希望培养大家一个良好的学习和编程的习惯,学习完课程后能够有能力自己再找到需要学的东西,能够自驱动地学习,特别是我们将尝试培养学习者的提问习惯,让他们正确地问出问题,所以相对于教程,我们不追求大而全,我们更追求教育的东西。

@GYHHAHA
Copy link

GYHHAHA commented Mar 6, 2023

好的ヽ( ̄▽ ̄)و

@qiwang067
Copy link

同意

6 similar comments
@zhanhao93
Copy link

同意

@andongBlue
Copy link

同意

@mba1398
Copy link

mba1398 commented Mar 13, 2023

同意

@ruyiluo
Copy link

ruyiluo commented Mar 16, 2023

同意

@skywateryang
Copy link

同意

@andongBlue
Copy link

同意

@Sm1les
Copy link
Contributor

Sm1les commented Aug 30, 2023

超过7天无反对意见自动通过

@Sm1les Sm1les added this to 筹划 in Datawhale开源项目看板 via automation Aug 30, 2023
@Sm1les Sm1les moved this from 筹划 to 立项 in Datawhale开源项目看板 Aug 30, 2023
@Sm1les Sm1les changed the title 聪明办法学 Python 第二版 learn-python-the-smart-way-v2 Aug 30, 2023
@Sm1les Sm1les added the 立项 label Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment