计算机科学自学教育
开源社区大学计算机科学课程中文项目(OSSU CS CN)旨在为英语能力有待提高的中文学习者提供全中文的在线本科计算机科学学习课程。消除学习者在自学计算机课程中遇到的语言障碍。请注意本课程并不是英文课程的对照翻译,而是在其基础上结合地区实际情况提供全中文的在线教育。值得注意的是,我们仍然推荐学有余力者在学习完本课程后系统学习和掌握英语技能。
借助广泛的在线学习资源,该课程提供了全面的计算机科学教育。拥有着由世界范围内的共同学习者提供的社区支持,该课程不只针对寻求职业培训或者专业发展的人,而且针对需要从零开始构建成熟的计算机知识构架的人群,以及拥有自律、意愿以及良好习惯从而依靠自己来获得知识的人。
除开非本专业的大学基础课程,本课程根据本科计算机技术与科学的学术课程要求设计。本课程假定学习者已经掌握了基础教育知识和其他非专业的大学基础知识。
本项目的中文课程来自国内外顶尖的大学和教育机构,比如清华大学,北京大学,麻省理工学院,哈佛大学等等,除此之外,本项目的课程必须满足以下条件:
课程必要条件:
- 开放注册
- 定期开班(最好是以自主安排模式开课,否则至少每季度开班一次)
- 满足本项目的学术要求
- 适合本项目的学习进度和学生的知识水平以及适合的难度
- 在教学方法和材料上面,课程总体质量上乘。
- 课程完全针对中文使用人群。课程的其他材料(例如作业,考试均有提供中文资料)
课程组织安排 课程以如下方式安排组织
- 导论:针对初步了解以决定是否继续学习计算计算机科学的学生。
- 核心课程: 大致为大学前3年的课程,包括所有被要求掌握的科目。
- 高级课程:大学的最后一年的课程,根据学生的兴趣选学。
- 毕业设计:一个用于检验、巩固和展示知识水平的项目。将会被全球范围的共同学习者评价。
- 进阶课程:供达到研究生水平的学生在完成以上课程后酌情选修。
学习周期 完成所有课程需要相当长的时间,试着每天投入一些时间,你将收获更多的经验与喜悦。
学习成本 本课程绝大部分的科目都可以免费获取,然而一些课程将会为你的证书或者课业项目收取费用。注意,Coursera 提供了经济援助(英文页面) 请根据你的时间或者预算来决定投入。注意,购买并不能购买成功!
内容政策 如果你打算公开分享你的课业成果,请注意你只能分享你被允许分享的文件。请不要违反每一个科目的规则。
怎么帮助我们 请发pull request来帮助我们。我们建议最好使用英文在pull requests和issue中发表,这样可以使更多的人参与讨论。
课程版本: 0.0.1dev
(更新日志)
- 计算机科学导论
- 数学与数学思维
- 程序设计方法论
- 离散数学
- 算法
- 编程范式
- 软件测试
- 微积分
- 软件体系结构
- 自动机理论
- 软件工程
- 概率论
- 计算机体系结构
- 操作系统
- 计算机网络
- 数据库
- 云计算
- 线性代数
- 密码学
- 安全
- 编译器
- 并行计算
- UX
- 计算机图形学
- 人工智能
- 机器学习
- 自然语言处理
- 大数据
- 数据挖掘
- 物联网
课程 | 总体时长 | 时间需求 |
---|---|---|
Introduction to Computer Science - CS50 | 12 weeks | 10-20 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Effective Thinking Through Mathematics | 9 weeks | 5 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
How to Code: Systematic Program Design - Part 1 | 5 weeks | 8-12 hours/week |
How to Code: Systematic Program Design - Part 2 | 5 weeks | 8-12 hours/week |
How to Code: Systematic Program Design - Part 3 | 5 weeks | 8-12 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Mathematics for Computer Science | 12 weeks | 5 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Algorithms, Part I | 6 weeks | 6-12 hours/week |
Algorithms, Part II | 6 weeks | 6-12 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Functional Programming Principles in Scala | 7 weeks | 5-7 hours/week |
Object Oriented Programming in Java | 6 weeks | 4-6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Software Testing | 4 weeks | 6 hours/week |
Software Debugging | 8 weeks | 6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Calculus One | 16 weeks | 8-10 hours/week |
Calculus Two: Sequences and Series | 7 weeks | 9-10 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Software Architecture & Design | 8 weeks | 6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Automata | 6 weeks | 8-10 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Software Processes and Agile Practices | 4 weeks | 6-8 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Introduction to Probability - The Science of Uncertainty | 16 weeks | 12 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Computer Architecture | - | 5-8 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Operating Systems and System Programming | 10 weeks | 2-3 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Computer Networks | - | 4–12 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Databases | 12 weeks | 8-12 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Introduction to Cloud Computing | 4 weeks | 1 hour/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Coding the Matrix: Linear Algebra through Computer Science Applications | 10 weeks | 7-10 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Cryptography I | 6 weeks | 5-7 hours/week |
Cryptography II | 6 weeks | 6-8 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Introduction to Cyber Security | 8 weeks | 3 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Compilers | 9 weeks | 6-8 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Heterogeneous Parallel Programming | 11 weeks | 8-10 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
UX Design for Mobile Developers | 6 weeks | 6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Computer Graphics | 6 weeks | 12 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Artificial Intelligence | 12 weeks | 15 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Machine Learning | 11 weeks | 4-6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Natural Language Processing | 10 weeks | 8-10 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Introduction to Big Data | 3 weeks | 5-6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
Pattern Discovery in Data Mining | 4 weeks | 4-6 hours/week |
课程 | 总体时长 | 时间需求 |
---|---|---|
The Internet of Things | 4 weeks | 2 hours/week |
该课程组织为一个线性计划,意味着你每一次应当只完成一个课程,他们已经被安排好了恰当的顺序,因此直接从第一个课程开始吧,
是的! 该文件展示的即为你需要至少完成的所有课程
- 课程创始人: Eric Douglas
- 课程维护者: Eric Douglas and Zachary Wang
- 贡献者: 贡献者列表
- 中文版译者: CherryMill