FrontSeat 是一个口号,是一个挑战,是一种精神,将来也会是一个以技术为核心的社区。在这里,我们会学习计算机科学基础;在这里,我们会发现需求开发产品;在这里,科技与艺术将结合为一体;在这里,我们将从前所未有的角度出发,通过近似亲身感受的体验,和我们一同探索不一样的技术世界。
我们是李忻阳和谢伟超,两个非科班出身的全职前端工程师。我们对技术有着浓厚的兴趣。但因为计算机科学基础知识的欠缺所以在职业道路上总感觉学习新的技术时并不那么的顺畅。所以我们决定完成下面的挑战。在未来的一年内我们将完成等同于美国计算机大学本科学生需要在四年内完成的全部课程。这些课程包括计算机科学入门课程,数学,程序设计,算法,编程范例,软件测试,软件架构,理论,软件工程,计算机架构,操作系统,计算机网络,数据库,云计算,密码学,编译器设计,用户体验设计,计算机图形,机器学习,自然语言处理,大数据,数据挖掘等。
课程均来自于 Edx 与 Coursera 平台,我们也只完成课程的免费版本,也就是说我们在完成这一年挑战的过程中不会在课程上花费任何费用。我们的费用只会花费在购买课本和其他必要的学习材料(软件或者书籍)上。
我们会每天记录我们所学的知识,并将其以知识大纲和视频的形式展现与大家分享也同时记录我们自己的成长轨迹。
我们相信在完成了这个挑战后,一定会收获很多。
如果你可以完成英文的各类课程,也欢迎加入我们的挑战!我们会尽可能的帮助你解决你所遇到的问题。下面是我们挑战中包含的课程,整个挑战需要大约 2653 个小时完成。
以下为课程目录:
课程 | 时长 | 所需精力 |
---|---|---|
Introduction to Computer Science and Programming Using Python | 9 周 | 15 小时/每周 |
From Nand to Tetris (Part 1) | 6 周 | 5-10 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Effective Thinking Through Mathematics | 9 周 | 5 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
How to Code: Systematic Program Design - Part 1 | 5 周 | 8-12 小时/每周 |
How to Code: Systematic Program Design - Part 2 | 5 周 | 8-12 小时/每周 |
How to Code: Systematic Program Design - Part 3 | 5 周 | 8-12 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Mathematics for Computer Science | 12 周 | 5 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Algorithms, Part I | 6 周 | 6-12 小时/每周 |
Algorithms, Part II | 6 周 | 6-12 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Functional Programming Principles in Scala | 7 周 | 5-7 小时/每周 |
Object Oriented Programming in Java | 6 周 | 4-6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Software Testing | 4 周 | 6 小时/每周 |
Software Debugging | 8 周 | 6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Calculus One | 16 周 | 8-10 小时/每周 |
Calculus Two: Sequences and Series | 7 周 | 9-10 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Software Architecture & Design | 8 周 | 6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Automata | 6 周 | 8-10 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Software Processes and Agile Practices | 4 周 | 6-8 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Introduction to Probability - The Science of Uncertainty | 16 周 | 12 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Computer Architecture | - | 5-8 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Operating Systems and System Programming | 10 周 | 2-3 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Computer Networks | - | 4–12 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Databases | 12 周 | 8-12 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Introduction to Cloud Computing | 4 周 | 1 hour/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Coding the Matrix: Linear Algebra through Computer Science Applications | 10 周 | 7-10 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Cryptography I | 6 周 | 5-7 小时/每周 |
Cryptography II | 6 周 | 6-8 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Introduction to Cyber Security | 8 周 | 3 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Compilers | 9 周 | 6-8 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Heterogeneous Parallel Programming | 11 周 | 8-10 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
UX Design for Mobile Developers | 6 周 | 6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Computer Graphics | 6 周 | 12 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Artificial Intelligence | 12 周 | 15 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Machine Learning | 11 周 | 4-6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Natural Language Processing | 10 周 | 8-10 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Introduction to Big Data | 3 周 | 5-6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
Pattern Discovery in Data Mining | 4 周 | 4-6 小时/每周 |
课程 | 时长 | 所需精力 |
---|---|---|
The Internet of Things | 4 周 | 2 小时/每周 |
声明:课程大纲来源于 GitHub 开源项目 open-source-society/computer-science,感谢他们提供如此全面的资源总结。