mirror of
https://github.com/conanhujinming/comments-for-awesome-courses.git
synced 2026-04-14 02:20:07 +08:00
Init commit
This commit is contained in:
21
LICENSE
21
LICENSE
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 conanhujinming
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
65
README.md
Normal file
65
README.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# 名校公开课程评价网
|
||||
|
||||
## 前言
|
||||
|
||||
近几年来,越来越多的名校课程选择公开课程的资源供大家学习。学习这些课程不仅能够让我们很好地学习和掌握知识,更能培养我们的学习兴趣和学习能力。公开的资源包括且不限于授课录像、课件(slide)、课程阅读资料(reading)、课程作业(lab)、自动评测系统(autograder)、期中期末试卷等等。因此,我们很幸运地能够免费地享受到这些最顶级的教育资源。另一方面,国内本科阶段的大部分课程的质量一言难尽,这也让我们更需要使用这些顶级的公开课程来学习知识。
|
||||
|
||||
我在过去的数年间就大大受益于这些公开的课程,前前后后自学了有几十门各种各样的课程,受益无穷。也因此,我也一直在不遗余力地推广我所学过的优质课程。在学习课程的过程中,我发现自学这些课程终究还是存在一些困难,如:
|
||||
|
||||
1. 有多所名校公开了某门课程的资源,那么该用哪门课程学习呢?它们相互比较各有什么优缺点呢?
|
||||
2. 我想学一门课程,但是这门课程的难度如何呢?适合现阶段的我吗?
|
||||
3. 这门课程公开的资源有哪些呢?是否有视频呢?是否有自动评测系统呢?
|
||||
4. 自己完成作业的时候常常碰到很多坑,又没有助教TA可以询问这些坑,导致常常在一些没意义的地方浪费大量时间。如果有前人总结出来有哪些坑、如何绕过就好了......
|
||||
5. 学这门课之前,需要有哪些前置课程呢?这门课学完之后,又有哪些合适的进阶课程可以学习呢?
|
||||
6. 这门课程的授课质量如何呢?值得花时间去好好观看吗?
|
||||
7. 这门课有没有非官方的优秀资源呢?(如课堂内容的中文翻译)
|
||||
|
||||
.......
|
||||
|
||||
正是因为有这些问题存在,我在写文章的时候往往也力求能给出这些问题的回答,帮助后人能够更高效更合理地去学习这些课程资源。然而写文章终究还是太散乱了,且一个人的力量终究是有限的。受启发于[CS公开课程学习群](https://zhuanlan.zhihu.com/p/253232863)一位同学的建议与[浙江大学课程攻略共享计划](https://github.com/QSCTech/zju-icicles),我们创立了这个项目,来整合大家对于高质量公开课程的评价、总结、与建议等等,期望这些评价能对后来的同学在选择、学习课程的时候能有一些帮助。
|
||||
|
||||
## 特性
|
||||
|
||||
本项目的目标是收录以下内容:
|
||||
|
||||
- 课程资源链接
|
||||
- 是否有视频
|
||||
- 有哪些作业(homework)、实验(lab/assignment)
|
||||
- 是否有自动测评程序(autograder)
|
||||
- 课程简介,包括前置课程知识,适合哪个阶段学习等等
|
||||
- 课程评价,包括难度、有趣程度、讲课质量、作业难度与质量等等
|
||||
- 非官方的优质课程资源链接(如笔记、课程内容翻译等等)
|
||||
- 后续课程推荐
|
||||
|
||||
等等。由于一门课程可能会有多个评价,大家可以在提供个人评价的时候附上自己的相关信息(如ID或主页)。
|
||||
|
||||
## 贡献
|
||||
|
||||
**欢迎贡献!**
|
||||
|
||||
Issue、PR、纠错、资料、攻略,各种欢迎!
|
||||
|
||||
来自大家的关注、维护和贡献,才是让这个项目质量越来越好的动力~
|
||||
|
||||
### 警告
|
||||
|
||||
下列内容为不适合上传的内容。如果你认为缺少这些资料将会影响资源的完整性,请优先考虑放在校内资源平台,或联系你的教师并由教师发布。建议你撰写一个 README 文档并放置一些链接或指引文字来帮助找到这些资源。
|
||||
|
||||
- 盗版电子书/付费电子书
|
||||
- 盗版/破解版/绿色版付费软件及其安装包
|
||||
|
||||
如果你认为本仓库的一些文件侵犯了您的权益,请 [向我们发送邮件](jinminghu233@qq.com) 。我们将会从仓库中彻底清除这些文件。
|
||||
|
||||
## 许可
|
||||
|
||||
由贡献者编写部分的许可如下:
|
||||
|
||||
[CC-BY-NC-SA:署名-非商业性使用-相同方式共享](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)
|
||||
|
||||
> 资料仅供参考,请自己判断其适用性。
|
||||
|
||||
其他部分的版权归属于其各自的作者。
|
||||
|
||||
## 致谢
|
||||
|
||||
感谢提出这个想法的同学@itwangashao,同时本项目大量参考了[浙江大学课程攻略共享计划](https://github.com/QSCTech/zju-icicles),一并感谢~
|
||||
3
mkdocs.yml
Normal file
3
mkdocs.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
site_name: 名校公开课程评价网
|
||||
theme: readthedocs
|
||||
repo_url: https://github.com/conanhujinming/comments-for-awesome-courses/
|
||||
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
mkdocs
|
||||
61
update.py
Normal file
61
update.py
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
from urllib.parse import quote
|
||||
|
||||
EXCLUDE_DIRS = ['.git', 'docs', '.vscode', '.circleci', 'site']
|
||||
README_MD = ['README.md', 'readme.md', 'index.md']
|
||||
|
||||
TXT_EXTS = ['md', 'txt']
|
||||
TXT_URL_PREFIX = 'https://github.com/conanhujinming/comments-for-awesome-courses/blob/master/'
|
||||
BIN_URL_PREFIX = 'https://github.com/conanhujinming/comments-for-awesome-courses/raw/master/'
|
||||
|
||||
|
||||
def list_files(course: str):
|
||||
filelist_texts = '## 文件列表\n\n'
|
||||
readme_path = ''
|
||||
for root, dirs, files in os.walk(course):
|
||||
files.sort()
|
||||
level = root.replace(course, '').count(os.sep)
|
||||
indent = ' ' * 4 * level
|
||||
filelist_texts += '{}- {}\n'.format(indent, os.path.basename(root))
|
||||
subindent = ' ' * 4 * (level + 1)
|
||||
for f in files:
|
||||
if f not in README_MD:
|
||||
if f.split('.')[-1] in TXT_EXTS:
|
||||
filelist_texts += '{}- [{}]({})\n'.format(subindent,
|
||||
f, TXT_URL_PREFIX + quote('{}/{}'.format(root, f)))
|
||||
else:
|
||||
filelist_texts += '{}- [{}]({})\n'.format(subindent,
|
||||
f, BIN_URL_PREFIX + quote('{}/{}'.format(root, f)))
|
||||
elif root == course and readme_path == '':
|
||||
readme_path = '{}/{}'.format(root, f)
|
||||
return filelist_texts, readme_path
|
||||
|
||||
|
||||
def generate_md(course: str, filelist_texts: str, readme_path: str):
|
||||
final_texts = ['\n\n', filelist_texts]
|
||||
if readme_path:
|
||||
with open(readme_path, 'r') as file:
|
||||
final_texts = file.readlines() + final_texts
|
||||
with open('docs/{}.md'.format(course), 'w') as file:
|
||||
file.writelines(final_texts)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if not os.path.isdir('docs'):
|
||||
os.mkdir('docs')
|
||||
|
||||
courses = list(filter(lambda x: os.path.isdir(x) and (
|
||||
x not in EXCLUDE_DIRS), os.listdir('.'))) # list courses
|
||||
|
||||
for course in courses:
|
||||
filelist_texts, readme_path = list_files(course)
|
||||
generate_md(course, filelist_texts, readme_path)
|
||||
|
||||
with open('README.md', 'r') as file:
|
||||
mainreadme_lines = file.readlines()
|
||||
|
||||
with open('docs/index.md', 'w') as file:
|
||||
file.writelines(mainreadme_lines)
|
||||
Reference in New Issue
Block a user