Skip to main content

前言

注意

为自己的行为负责,这是成熟的标志。学习是一种持续的苦差事,它需要毅力耐心。不要指望,学习之路一帆风顺,艰难困苦不可避免,既然选择了开始就不要轻言放弃。愿你历尽艰辛,最终收获满载。

我是谁

我是一名自学编程后,成功转行成为后端开发的非科班人士,至今已有超过8年的工作经验。我并非所谓的大佬,对于我个人的事情,其实并没有太多值得一提的。我只是希望通过分享我的亲身经历,告诉大家:只要你有决心,有耐心,坚持学习,掌握编程技能,甚至找到一份开发工作,都是完全可能的。另外,我想强调的是,计算机学科的核心基础知识真的非常重要,我至今仍在努力弥补这方面的不足。如果大家在学习过程中遇到困惑找不到合适的人咨询,欢迎与我交流。但是请注意,我并不是一个合格的老师,我所说的可能都是错的,我只能通过自己的学习和工作经验来分享一些经验,希望对大家有所启发。

为什么要做CS自学社区

作为一名非科班出身,通过自学编程成功转行的程序员,我深刻理解计算机学科基本功的重要性。因此,我强调的是全面学习计算机学科,而不仅仅是编程。我明白许多初学者可能会感到迷茫,不知道如何开始学习,或者在掌握了一门编程语言的基础知识后,不知道如何进一步提升。有些同学在学校完成了所有的计算机学科课程,但在毕业时却无法明确自己的技能和发展方向,甚至不得不花费高昂的学费参加培训班。如果在开始学习的时候,就有一份重点核心课程的清单——掌握这些课程能够达到一流大学CS专业本科毕业水平,以及一个有效的学习规划,那么学习的过程中就可以避免很多弯路。

实际上,要真正完成并掌握这些课程(尤其是实验和项目)是非常具有挑战性的,即使是一流大学的本科生,完成这些实验和项目也并非易事,更何况他们还有同学可以一起交流和学习。因此,我创建了计算机科学自学社区。在这个社区中,我们提供所有这些课程的资料,组织大家制定学习计划,跟踪学习进度,并提供一些额外的支持,如翻译和答疑等。我们的目标是将正在学习的同学聚集在一起,进行交流和学习,避免你在面对这些挑战时感到孤独和无助。CS自学社区期待你的加入,一起学习,一起进步。

应该学习哪种编程语言

有两种常见的误解导致人们提出这个问题。第一种是实际上存在适合学习的“最佳”编程语言,第二种是你学的第一门语言将决定你未来编程职业的模样。 实际上,并不存在最佳的起步语言,你学的第一门语言几乎不会对你最终的职业产生持久影响。编程语言在表面上可能看起来差异很大,但绝大多数基本概念都能在不同语言之间转移。随着时间的推移,学习新语言也会变得更容易 —— 对于初学者来说,可能需要数月时间才能熟悉他们的第一门语言;而对于经验丰富的程序员来说,熟悉一门新语言可能只需数天时间。

学习一门特定的编程语言和学习计算机科学的一个领域完全不在一个维度——相比之下,学习语言容易且缺乏价值,可以在学习的空当中习得语言。所有程序员理想情况下都应该具有多种类型语言的经验。一旦你熟悉一门语言,就可以转而学习另一门在某些基本方面有所不同的语言。随着学习更多语言,你将更有能力为手头的任务选择合适的工具,这是一个优秀程序员的标志。由于编程概念最为重要,所以我们的社区叫CS自学社区而不是叫编程自学社区。我们的目标是两到三年的时间里建立起坚实的计算机基础,掌握后端技术栈,具备强大的编程能力和自学能力,可以轻松按需拓展学习计算机学科其它专业与应用,例如人工智能、大数据、图形学等。

关于有人还是放不下“XX 编程语言怎么样?”的心结

如果你在这里仍然对语言有所纠结,那么这个社区可能并不适合你。你可以去查阅具体的语言培训大纲,那里可能会有你所期待的内容。记住,选择适合自己的学习路径是非常重要的,祝你学习顺利!。

关于课程资源

路线图中所涉及的课程,网上都可以免费获取到。我们深知许多国内的同学在英文方面可能会有一些困难,因此,我们的社区会对英文教材进行逐个翻译。这包括视频教程的精确翻译字幕,视频教程的中文配音,以及课程配套的阅读资料,作业,实验等相关学习资料。我们希望通过这些努力,帮助每一位同学克服语言障碍,更好地学习和理解计算机科学。

关于费用

人人为我,我为人人,社区提供的所有学习资源均可以通过本站免费获取(请注意是所有)。为了保证社区的长期稳定运营,会考虑接受赞助和提供少量收费服务,以支持社区的运营成本。 请根据自己的时间和预算决定要花多少。请记住,你不能购买成功!

特别鸣谢

CS自学社区所有课程都来自免费的在线开放课程,路线图参考了大量前辈大佬们的思路,谨以最高的崇敬对他们表示感谢。

学习交流群

学习是一个不断探索和进步的过程,而交流则是我们获取新知识、拓宽视野的重要途径。为了方便大家交流学习,社区官方创建了交流群,加群请到社区版块。