2020年社团学习的思考

原则:只做和社团成员成长有关的事情。

  • 导师机制完善

导师和学员的数据,以及导师对学员情况的跟踪

  • 贯穿学期的公开课

每学期的内容都可以变化,两周一次,不同的导师主讲,对社团外部开放。公开课在实验室或者教室开展,线上直播并录下来可以反复看。

  • 线上训练营

以Leetcode、FreeCodeCamp、MOOC为内容的在线学习打卡

  • 比赛组织

适合社团参与的比赛信息整理,融合到平时的学习。

  • 社团项目和经费

在不影响学习前提下,扩展社团成员参与项目,贡献社团经费。经费进行合理的投资,为社团发展提供支持。

  • 线上能力加强

建立不依赖于物理场地的线上学习交流社区。吸收外校成员。

MIT: The Missing Semester of Your CS Education

https://missing.csail.mit.edu/

Why we are teaching this class

During a traditional Computer Science education, chances are you will take plenty of classes that teach you advanced topics within CS, everything from Operating Systems to Programming Languages to Machine Learning. But at many institutions there is one essential topic that is rarely covered and is instead left for students to pick up on their own: computing ecosystem literacy.

Over the years, we have helped teach several classes at MIT, and over and over we have seen that many students have limited knowledge of the tools available to them. Computers were built to automate manual tasks, yet students often perform repetitive tasks by hand or fail to take full advantage of powerful tools such as version control and text editors. In the best case, this results in inefficiencies and wasted time; in the worst case, it results in issues like data loss or inability to complete certain tasks.

These topics are not taught as part of the university curriculum: students are never shown how to use these tools, or at least not how to use them efficiently, and thus waste time and effort on tasks that should be simple. The standard CS curriculum is missing critical topics about the computing ecosystem that could make students’ lives significantly easier.

The missing semester of your CS education

To help remedy this, we are running a class that covers all the topics we consider crucial to be an effective computer scientist and programmer. The class is pragmatic and practical, and it provides hands-on introductions to tools and techniques that you can immediately apply in a wide variety of situations you will encounter. The class is being run during MIT’s “Independent Activities Period” in January 2020 — a one-month semester that features shorter student-run classes. While the lectures themselves are only available to MIT students, we will provide all lecture materials along with video recordings of lectures to the public.

2019年招新活动及全体大会

随着2019届新生的入校,2019年iflab的招新活动也正式开始。

针对本次招新,由iflab的成员设计了相关的海报与传单。在海报与传单中,添加了社团招新申请表网页的二维码,新生通过扫描二维码即可进入网页中进行信息填写。

左:2019年iflab招新海报 右:2019年iflab招新传单
2019年iflab申请链接

紧接着,我们在食堂门前进行了招新宣传活动,在iflab的展位前布置了海报,并且在展位上发放招新传单给感兴趣的同学。除此之外,本次招新还制作了带有iflab logo的纪念品,同样发放给前来iflab展位的同学。

2019年iflab招新现场
2019年iflab招新纪念品

在招新宣传活动结束后,我们在iflab官方公众号上公布了2019年度招新的面试题目。今年的面试题目首创「多方面,多选择」的面试题,面试题目包含了:用C语言或html实现的自我介绍、产品的创意设计、历史作品展示、算法题、调研题、设计题、机器学习的算法介绍等面试题目,给予新同学多方面的选择。

在公布了面试题后不久,2019年iflab新生面试于2019年9月27号和9月28号晚上进行,新同学们分批进行了面试展示。本届报名iflab的新生们的素质普遍较好,同学们对于完成的面试题目都有很清晰的讲解说明,从中也涌现出一些极具特点的同学,给导师们留下了深刻的印象。

2019年iflab面试现场

在经过同学们的精彩面试之后,经过导师们的讨论, 最终确定了2019年新加入社团的成员名单,2019年的导师团名单也同时产生。

2019年iflab新生名单
2019年iflab导师团名单

根据历届情况,今年的新生在分配完导师后,我们采取了「跟踪制」每周对新生学习情况进行跟踪汇报。至此,2019年iflab招新活动落下了帷幕,

导师团「跟踪制」每周汇报

在招新活动完成之后,iflab于2019年10月22日进行了2019年全体大会。

2019年iflab全体大会现场

本次大会中除了由主席王仁泉介绍iflab的发展历程以及目前的研究方向以外,还邀请了历届的导师团成员来进行经验分享,曾老师也对社团的情况进行了介绍,也呼吁更多同学为社团的发展做出贡献。

主席王仁泉发言
前iflab导师团成员付尧

本次全体大会还邀请了校友-巴别时代联合创始人万龙师兄,万龙师兄分享的内容主要对于同学们的在校发展和个人提升上进行了建议,同时在游戏行业的领域,为感兴趣的同学们介绍了自己的发展历程同时也对同学们的学习路径和未来规划的不同路径作出了推荐,希望大家在学生期间就尽可能多的自己参加项目来扩充自己。

万龙师兄发言

之后就是本届的导师团成员分别进行介绍自身的研究方向以及项目内容,以及双选的流程以及系统的介绍。

在最后全体参会成员齐聚在一起合影留念,2019年iflab全体大会就这样落下了帷幕。希望在新的学期里,大家能够发挥各自的能力,共同学习,共同进步。

iflab全体参会成员合影

ifLab协助开源课项目辅导

本学期计算机学院的《开源软件开发技术》课程参考了康奈尔大学CS5152的课程设计,让选修课程的大二同学们分组完成开源项目,并邀请行业导师对小组进行指导。由于选课人数多达250多人,最后分为40多个项目小组,由10位校外行业导师进行指导,每位导师指导3-4个小组。

课程同时设计了3个周六的现场编程开发,各小组在9:00-17:00坐在一起完成各自的项目,通过这个集中时间高效实践。ifLab的导师们在这三天里轮流到编程现场辅导同学们编程,为同学们讲解开发开源软件的具体方法、工具,并解决开发中的问题。

提升我校同学们的技术实践能力一直是ifLab努力的方向,将课程和社团活动结合在一起是一种新的形式,课程提供了学习内容社团组织提供了了学习形式,内容和形式得到了结合。ifLab将在今后继续协助开源课进行项目实践,并欢迎其他技术课程来和我们合作。

新项目:大疆RoboMaster机甲大师赛

        今年起,社团将开始参加RoboMaster机甲大师赛。

关于参加竞赛这件事

        希望每一名竞赛项目的成员能记住:我们不是为了拿奖而参加竞赛。参加竞赛的初衷在于和其他学校的同学进行交流,提升技术,认清自己的能力差距,同时在备赛过程中学到自己不曾掌握的技能。最重要的是学会享受备赛这个过程,例如,对一个功能不断地迭代优化所带来的快感。

      我们也希望借参加竞赛弘扬【工程师文化】,希望每一位参加的同学能够在学习和备赛的过程中坚持下来,认真学习,认真备赛,提升能力和技术。

        备赛期间必然是艰难的,特别是对于初创队伍。可能会连续几天甚至几周刷夜,可能会遇到各种未知难度的坎,总之什么都可能会遇到,但是坚持下来就有可能成功,至少你经历了这个完整过程。吃苦耐劳和踏实肯干是工程师必备的素质,你的一生将会因此而受益。

关于这个比赛的参赛计划

        2020赛季:AI挑战赛、单项赛工程取弹项目、S1挑战赛

        2021赛季:继续参加前一年参赛项目,新参加单项赛其他项目

        2022赛季:继续参加以往参赛项目,开始参加对抗赛

注意:每一年的备赛工作都不是“调参数”!而是从头开始梳理功能需求和缺陷,优化设计,不断改进,甚至重构。

关于分工

        2020赛季由蔺晟杰、桂义勇、吴涵共同负责。

         根据个人意向进行选择方向,包括软件(嵌入式)、机械、算法等,还有项目管理、财务等。

        健翔桥的同学负责算法,小营的同学负责机械,共同负责软件(嵌入式)

        根据功能需求确定最终分组。

        特别强调:不接受抱!大!腿!

关于工作安排

        根据功能需求学习相关理论和技术,边学习边干,按照既定项目进度计划完成(根据参赛手册中的赛程安排确定的备赛进度安排)。树立责任意识和时间意识,按时按质按量完成任务。

关于管理

        设立专人负责管理资金,每周向所有成员通报使用情况。各项信息保持绝对的公开透明,对指导老师,对参加的所有成员。

       周报制度,汇报进度等所有情况。

       确定代码规范、文件命名规范、文件管理制度,为接下来的传承做好准备。

大家一起动起来,将这个竞赛项目进行下去!

新活动:Leetcode训练营

本学期社团和ACM集训队合作举办了Leetcode训练营。

随着就业形势日渐严峻,工作以及考研的面试,对算法水平的要求都逐渐提高。iflab很快意识到了这个问题,遂与学校acm集训队合作举办了leetcode训练营。acm集训队是代表学校参加国内acm-icpc和ccpc竞赛的团队(比赛详情可以百度搜“acm-icpc”的百度百科了解),活动初期由社团主席王仁泉同学以及iflab导师团成员兼acm集训队队长吴礼尉同学组织。

训练营每周举行一场为期一周的contest,contest包含5道6个题目,题目难度从易到难皆有涉及,以便循序渐进地提高同学们的算法水平。每周日晚上我们组织讲解上一周的题目,并且适当讲解一些知识点,比如目前讲的:二分法,C++中map的使用等。

活动举办初期,以leetcode题目开始,但是考虑到训练营的成员由低年级和高年级的同学组成,初期刷leetcode题目有点艰巨,于是我们初期先夯实基础,第一期的训练主要考察C语言基础语法,随后慢慢提高难度,经过四周的训练,难度已经逐步提升,预计这学期期末能开始刷leetcode题目。

就目前的情况来看,同学们的参加热情高涨,每周活跃人数30人左右,我们也希望有越来越多的人加入进来,提高自己的算法水平,为每周的训练安排献计献策。

我们希望能跟acm集训队加强合作,共同进步,提高同学们的程序设计能力,推动学校同学算法水平的提高,让大家在求职或者考研的过程中有更强的竞争力。

ifLab的方法和价值观

一开始,我们把社团当作一个技术培训的团体。技术好的同学教技术不好的同学,固定时间固定地点。我们希望同学们互相帮助,发展的更好,这是一个朴素的想法。

但是18岁的年轻人需要的不仅仅是技术,仅仅只是学习技术,也不能让我们成为更好的人。我们做对了一些事情,也做错了一些事情,思考和发展出了一些方法。遵循这些方法,社团开始走到了正确的方向,也没有偏离最初的想法。

多层结构

社团是三个层次的人群,内层是导师们大家,有共同的价值观,共同成长,效率最高网状结构;中间层是社团新人,通过导师-学员把知识和方法论传播到新人,效率次之树状结构;外层是学校的其他同学,社团通过比赛、辅导、讲座来传播,效率最低广播式。

扁平组织

我们不像一般的学生社团以职能来划分部门组织,也不像一般的技术社团以技术方向来划分技术组织。我们以人和人的联结方式来划分组织,没有管理层级不划分部门,组织的目的就是社团每个人的学习和成长。社团里的主要组织方式是导师和学员,不分年级有能力的都可以当导师,新入社团的都是学员。每个导师都可以完成多种工作,每个导师都可以有多个技术方向。

导师

一部分没有自制力的大学生还需要导师来监督。更重要的是,导师可以就宏观的人生问题或者具体的作业问题给予交流。但是大学里面并没有那么多的教师去关注每位有需求的大学生。所以我们设计了一个组织方法,让有能力的同学担任导师。每年社团招新会招入一百名左右的大一新生,社团内部推选十多名大二到大四的同学作为导师。每个导师会负责对接若干名学员。导师都是在自己的领域取得成绩的学生,他们并不一定给予学员具体的技术辅导,而更加重视和学员沟通学习方法、专业发展、职业路径,还有生活的其他方面,等等。如果学员需要某种技术的指导,导师会在整个导师群体中寻找可用的资源。

记录

没有记录的信息都会丢失。2019年秋季开始,我们决心认真记录社团。每一次活动都写新闻稿,这是对社团本身的记录;每位导师每周写周报,记录新招收的成员的情况,并做评估,这是对成员的记录。有了记录才能了解社团的整体,并作出优化。

从做中学

这是杜威的教育理念。对于计算机方向的学习更加如此。没有人能仅仅通过读书和写作业学会真正的编程。具体的项目,以及基于真实的实践是必须环节。社团建立之初以「实践」为名,意在让各位成员脚踏实地,认认真真的对待每一个技术点,对待每一件事,通过不断去解决技术上的问题,从而达到完善自身的目的。解决的问题越多,我们看待一件事情所拓展出的视野也就越宽广,对这个领域上的探索也就越深入。

文化

文化和价值观是一个组织凝聚力的来源。社团的导师们都具有优秀学生所必须的自我驱动力,学习习惯,工作方法,人生态度。通过导师们提供给各位新同学一个良好的氛围,让新生们真实的体会到学习不是为了老师和家长,不是为了比较,不是为了物质回报,而是为了成为一个完整的人。在社团这个大背景下,我们与优秀的人一起做有挑战的事。社团是一个由人构成的集体,集体荣誉感一直是社团所信奉的价值观,我们强调团队合作,也推崇特立独行。

形式与内容

大学生有一些日常要完成的学习任务。比如大创、比赛,发表论文、毕业设计等。社团开展针对这些学习任务的协作活动,让社团的力量助力同学们更好的完成日常任务。这基于一个简单的想法:如果有多个内容需要去做,那么尝试用一个形式把它们融合在一起,在同一个时间空间来完成,而不是孤立的单独进行。大学生们的实践任务就是内容,社团的组织和活动就是形式,我们将内容和形式进行结合。在学校的这些日常任务当中,我们希望成员能够在社团这个大环境下,发挥出各位成员的主观能动性,把自己的解决日常任务的经验进行传承和优化,帮助更多新生从容不迫的进入大学学习生活中。

技术方法论

纵观计算机行业发展史,新旧技术更迭,从来没有一门技术是「银弹」,我们希望将主流技术圈子的工具链,组织方法,积极的传播给社团的新成员,比如开源、结对编程等等。结合方法论与自身的个人经历来找到适合自己的技术成长路线。

多元化

这体现在性别上,社团努力的接纳女生成员,帮助女生学习技术;这也体现在对公益活动的热心参与上,给社团成员制造参与女子编程,少儿编程的机会,让成员体验回馈社会;这也体现在社团交流的不只是知识和技术,还会交流哲学、职业发展、社会等等话题。

ifLab2019秋季工作计划

ifLab新一任导师已经完成了招新工作。以下是本学年的工作计划。

1 对新生建立跟踪系统。每一个招新进来的新生,在第一学期,导师每周更新他的状态,学什么,有没有联系等等。这些信息全体导师可见。

2 为社团成员设立新的比赛目标清单。在社团毕业学长的帮助下,引导社团有能力的同学参加高等级比赛,改变学校每年都是那些低水平比赛的现状。

3 鼓励大家通过比赛、大创、项目来发表论文。请研究生学长来教大家怎么写好论文。

4 继续举办一次女子编程,举办一次编程马拉松。女子编程可以成为常规活动,看大家的热情

5 开始参与少儿编程公益活动志愿者。这个活动和校外的非营利组织合作开展,有丰富的企业界和教育界资源。

6  每个月出一份社团简报,大家集体来写,让社团大家知道社团发生了什么,在做什么,有什么新成绩