ic语言班好过吗?
我2017年读的IC语言学习,现在来总结一下我的课程和经历吧! 先说一下本人情况,本科学的是理工科(物理)专业,英语四六级,大二时曾自学过C和CPP,但是都很浅显,没有认真写程序。 大一偶然的机会在B站上看了韩顺平的C语言入门课,跟着他学了C(虽然后来发现他的教程比较陈旧,很多语法已经过时了,但是他仍然是我学习的引路人),高二暑假把韩老师的C语言入门及提高学完并写了课后习题答案,然后高中毕业参加了IC的夏校,学习了数据结构和函数式编程,大学期间读了《操作系统》和《计算机网络》,大三大四分别学习了《编译原理》与《操作系统》的进阶版,同时也学了《算法导论》和《编码:信息和密码学简明手册》。
我在IC的学习生活中没遇到太多困难,感觉大家都很友好,上课也很精彩,尤其是Lecture,老师会讲很多知识点并且举例说明,Practice则由学生轮流上去做PPT讲解题过程(类似code review),非常锻炼人。这里我想说的是如果同学们对某门学科感兴趣的话建议去听一下这门课的Lecture,可能你会收获很多知识;而Practice则是对该门知识体系的一个概括和整理,有助于你理解知识点,掌握解题方法。
我参加过两次IC Mosaic项目,第一次是暑假,第二次是寒假。Mosaic项目是IC学生们自己组织的一个暑期学校,有面向初中生的,也有面向高中生和大学生的。我参加的面向高中学生的项目分为Math和CS两个方向,其中math的项目主要学微积分、线性代数等数学学科,cs的项目主要学编程。这两个项目的课程安排很紧凑,每天从早上9点到下午6点都有课,而且都是小班授课,每个班大概8-10人,老师能关注到每一位同学,有什么疑问都可以随时发问。
因为Mosaic是一个项目制的学习方式,所以学习内容完成之后会有个project需要完成,这个project就是做一个course project,可以选择研究性课题(research project)或者实用型课题(industry project),当然最终的结果都是写出一篇合格的论文。我选择的课题是基于之前写过的C代码实现一个简单的浏览器,然后编写相应的页面并实现网页的前后端交互。整个项目的3周时间里,我们一共完成了两篇paper,分别是用于汇报成果的final paper和介绍过程步骤的middle paper。