众所周知,一名本科生要获得现实大学所认可的学士学位,需要在这所大学修够毕业规定课程的学分。而现今大学生普遍面临的一大矛盾是,无论是前沿知识还是工业领域应用,学院开设的课程,在内容上均存在不同程度的脱节。
针对这样的脱节,借助于互联网与开源社区,无论理论前沿还是现实应用,我们都有全世界最为庞大的知识网络和大量优质的学习资源,这是一般大学计算机专业课内难以做到的状态。由此我也写下这个帖子:多人协同方式构造计算机专业学习 Wiki 的设想 - 0xFFFF,尝试通过不断演进的 Wiki,解决优质资源难以寻找的问题。
帖子 如何看待学院在大三的两个学期开设大学物理课程? 让我突然意识到,学院教育改革的出发点更多在于建设 “一流大学”、“一流学科” 等时髦称号,以获得上层老板们更多的资源倾斜,在资源倾斜后再带来影响与进步,过程是漫长的。至于当下的学生面临的各种压力与心理状态,大部分时候是放在最末端考虑。这是它的局限性所在。
由此也想到本科生中存在的更深一层次的矛盾:学生在 高考千军万马过独木桥的惯性 下来到大学,还没读两年书、适应过大学的节奏,立马就得为未来去向做准备(工作?考研?保研?留学?)。大部分同学本科毕业是直面社会的,四舍五入下来,真正能安心下来学习探索的时间一般不过两年。
人生而有涯,而知也无涯。相比于“如何寻找优质资源”,更核心的问题在于:为了在大学生活得到更好的收获,这可能不到两年的时间应该如何安排?
从华师计院大三突然增加大物课程、这两年搞“非正式课程”等各种有点急躁的改革可以看出,光靠学院和学校培养计划的时间安排开展学习,似乎不是太妥。两年时间很容易就被各种事情给消耗掉,为了减少这样的痛苦,我们必须有一个强有力的自我意识,克服这样的被动和随大流。如 @Bintou 老师写下的,我们需要尽早确立目标。
大学生如何寻找目标? - 0xFFFF
更具体来说,我想或许我们应该明确一个 属于自己的“培养计划”,结合自身情况,以及现实中的压力(比如为了获得学校的学位认可不得不上“水课”的毕业压力、职业路线要求的工程能力的压力),作出必要的调整。
在规划的形态上,大致需要明确自己内心真正的“专业方向”,接下来需要明确走上这个“专业方向”所需要的知识、对应的好的导师与课程材料,明确需付出的学时,再具体到要放在在哪一个学期完成,再明确大概的学习计划。
在这份属于个人的“培养计划”的设计上,我们可以参考 ACM/IEEE 的 CS2013 所列出的 CS 毕业生需要的特质和一些关键知识结构的要求,结合自己的兴趣和职业的规划去选取合适的课程目标和学习资源。在这份独一无二的“培养计划”的设计中,有遇到任何的困难,通过我们的社区讨论,或求助于老师解决。
对于社区来说,我们可以一起维护一些动态更新的“计算机各专业方向”的课程路线,梳理各个方向比较不错的课程、学习和练习资料,并且对所需的时间和精力的消耗有一个大致的评估。比如说我所了解的 PingCAP 的面向分布式数据库方向的 Talent Plan,在这方面做的十分用心。但计算机还有许许多多的专业方向(比如说我所在的 Web 开发领域),在专业计划设计上依然有着非常大的发展空间。
Talent Plan - 希望是最好的分布式系统和分布式数据库实践课程 - V2EX
实际执行上,我们可以用 XMind 之类的脑图软件做个“技能树”,标注各种学习进度,记录自己的成长。就像刚看到的一篇,正在给 Tencent/TSW 贡献代码的鹅厂同学写下的 前端之路。
洋洋洒洒脑洞了很多,感谢阅读~ 欢迎留下你的想法 😃