利用线上和线下的开源社区,从没有学习机会的青少年,成为编程学习者

程序源代码

共 4944字,需浏览 10分钟

 ·

2021-11-27 02:38

丨作者:陈俊雁 艾克
丨编辑:Miya刘于瑜

本文内容源自陈俊雁、艾克在 2021 中文学生开源年会上的演讲,由讲者供稿,freeCodeCamp 团队整理编辑。


编辑推荐语


2019 年,一位朋友介绍我认识实务学堂创始人欧阳艳琴校长和志愿者陈一帅老师,说他们正在使用 freeCodeCamp 的编程课程。我阅读了很多关于这所面向 16-18 岁农民(工)子女或城市边缘青少年的公益学校的资料,关注它的动态。学堂和 freeCodeCamp 一样致力于“推动教育公平”,老师和同学们的善良与活力深深感动着我。想要了解学堂故事的朋友可以阅读《为什么我们要培养珍贵的普通人?| 欧阳艳琴 @TEDxGuangzhou》。


在前几天的一次活动上,我和中文学生开源年会总召、电子科技大学学生朱芮捷聊天,他告诉我他觉得来自实务学堂的讲者比他在大学里认识的绝大部分同学都优秀。此前,我读过很多老师、同学、媒体、家长、用人单位对实务学堂学生的评价,却是第一次从一位他们的优秀同龄人口中听到这么高的评价!我当时觉得非常激动,也非常惊喜,想要把他们的故事分享给更多人。把这个评价转达给欧阳时,她说 “Miya,谢谢你,虽然从来没有见过,我从你这里感受到太多温暖、支持”。哈哈,温暖是相互的吧。


当然,芮捷同学善于发现周围人们的优点,并且率直地表达认同,这本身也很值得称赞。


谢谢实务学堂让我们看到教育的另一种可能。



作者简介

“编程给我带来的喜悦,更多的并不是完美运行的结果,而是编程教我思考的过程”

陈俊雁,17 岁,实务学堂学习者,初中毕业后来到实务学堂,现担任编程课助教,正在带领 5 位同龄人学习编程

“在编程的过程中会遇到很多问题,解决它们时会让我有一种喜悦,也会有成就感”

艾克,18 岁,实务学堂学习者,卢旺达难民,在中国长大,15 岁来到实务学堂,现担任“周末编程”沙龙主持人,正在互联网工作室实习

陈俊雁的故事

大家好,我是来自实务学堂的陈俊雁,今年 17 岁。我于 2019 年来到实务学堂,在这里学习编程已经有两年多了。

实务学堂的老师和同学们(第一排左一为创始人欧阳艳琴,第二排左三为陈俊雁)

实务学堂是一个面向 16-18 岁农民(工)子女或城市边缘青少年的非学历职业教育公益项目,2018 年 3 月创立于北京,2020 年迁址广州市海珠区小洲村,以「培养珍贵的普通人」为使命,创立全新的「实务教育」体系。「珍贵的普通人」,核心是自立、利他的人。「实务教育」包括三个维度:健康的身心、「像入职三个月职场新人」的职业素养、可以就业的一技之长。——编辑摘自《实务学堂 2021 年秋季招生简章》

「实务教育」体系的课程版块

我先后在这里学习了 Java、C++、HTML、CSS、JavaScript、React 等编程技能,目前担任编程课助教,正在带领 5 位同龄人学习编程。

今天我演讲的主题是《利用线上和线下的开源社区,从没有学习机会的青少年,成为编程学习者》。

我是如何开始学习编程并进入开源世界的

三年前,我对自己未来要做什么感到很迷茫,一开始我打算去玩音乐,当时看了很多的音乐节目,感觉很不错。后来我的爸爸给我推荐实务学堂,第一次我是拒绝的, 后来我也不知道自己想要干什么,第二次爸爸又来问我,我感觉自己对未来的计划还没有详细的打算,于是我就选择了来到实务学堂。

这里面有好多的专业课程, 比如编程、平面设计等等。我先去试着去接触编程。我接触的第一门编程语言是 Java,老师使用斯坦福大学的课程资源,线上给我们授课,用循环打印一个火箭,用函数来做处理数据,做一个签到程序,等等…...我还自己一个人去搞了一 个电影购票系统项目。我每天把大部分时间花在了这个项目上,一边复习学到的知识,一边探索新的知识,每天去不断的升级,解决 bug。记得我当时写了一千 多行代码,就这样,我的兴趣萌芽逐渐开始生长。

疫情过后,真正的进入开源世界

为什么是疫情过后?2020 年,在疫情期间,我们的全部课程改成了线上。那个学期我们学习 Web 前端编程,因为是上网课,我就对着屏幕,注意力非常容易不集中,然后越往后就越听不懂了,当时我就想退课了。一直到学期末回顾了一下这整个学期,好像 Web 开发什么也没有学会。

接着就到了小学期。小学期像是一个集训,巩固上学期学过的知识。因为当时小学期不是必须要上的,我就没有选择去上小学期,而是选择了去一个洗车店打工,当时是想自己挣钱买一台电脑,也正好体验一下生活。然后假期结束,爸爸给我买了一台电脑,我在洗车店挣的钱就当是我的零花钱了。


2020 年 9 月初, 疫情好转了好多,秋季学期也随之开始了。同学们都已经学有所成,老师也要讲新的知识了,可是我还什么都不会。之前和我在深夜并肩作战 debug 的 Eric 鼓励我说“加油,这些很简单”,我准备重振旗鼓,在最短的时间内和 Eric 到一个起跑线上。

我开始每周制定计划,去执行,一开始我从 w3school 里面去学习,在 freeCodeCamp里做练习。当然我在学习时会遇到很多的问题,我先会在搜索引擎上去搜索, 然后去找同学们和老师们讨论。好几次我和陈一帅老师(点击阅读陈老师的分享《全人教育背景下,探索资源受限高中生的编程教育》)讨论到深夜,他不仅帮我解决了 bug,还给了我新的思路。渐渐的,我追赶上老师讲课的进度,甚至进行了突破,这个学期我学得很充实。

陈一帅老师和实务学堂的同学们

希望大家不要轻易放弃任何一件事情,不去试试,怎么知道自己不可以?学会利用各种开源社区,想象将变为现实。

在今年的小学期,我去了一个图书馆,任图书管理员一职,因为来这里的人很少,我就有很多的时间去学习编程。

我的领导看到我在学习编程,也支持我,她和我说“你可以给我们做一个官网吗?”我的领导也就是我们学堂曾经的性教育课老师韩雪梅老师。我想都没有想张口就来,就回了句“可以的”,然后我的领导把有关的资料给了我。我看了一下,是北京希希儿童关爱中心的资料,更多的可能是性教育方面的。我就想最近在学习 React,那就试着用 React 开发吧,原子化组件式开发,想实现一个什么样的效果,就使用搜索引擎看很多社区的讨论,多看多参与几个社区的讨论就了解得更多。

在这个小学期,我通过实习和开源社区,学到了很多新的技能,并开发了一个初版的公益网站(https://xixi-college.vercel.app/),之后我会持续更新。

学习资源


线上,对我来说这几个资源的意义比较大:

- freeCodeCamp 有一套全面的系统的学习路线,还有开源的课程和练习,可以帮助初学者明确应该从哪个方面入手,有目的地去学习和练习。

- GitHub 是几乎所有开发者都在用的代码托管平台,上面有很多的开源项目,把别人的项目 pull 下来学习他是如何实现的,也可以很快地学习。

- 搜索引擎,可以搜索到很多的开源社区,查看并参与别人的讨论,积少成多,从多个开源社区得到的信息就会更丰富。

线下:

我觉得实务学堂就是离我最近的开源社区。实务学堂有来自不同领域的专业老师和优秀的同学们:北京交通大学的硕导陈一帅老师,《Linux 内核安全模块深入剖析》的作者李志老师等,还有我的好朋友 Eric。我们在一起学习和分享。
由实务学堂同学们组织的一场全员运动会

我们每周会有一个编程沙龙分享,Eric 担任主持人(一会儿会由他来介绍这个编程沙龙)。

Kido-CodeLab

我目前带领着我的团队 Kido-CodoLab(https://kido-code-lab.vercel.app/),希望让同学们对编程充满兴趣,更简单地理解它,让实务学堂的编程课还能继续活下去。

我们接过老师的材料——基于纽约 CodeNation 和伯克利 WDD 的学习资源,准备通过小项目,介绍 HTML、 CSS、JavaScript、React 等前端基础知识。我们会通过一个个好玩的小游戏项目,带大家动手,逐步掌握 Web 前端编程的基本技能,并爱上编程。当然同学们也很给力,敢于探索,靠着丰富的想象力把编程当作一个游戏,玩的东西是五花八门,和他们在一起我也很开心。

以上就是我的分享,谢谢大家。

更多信息

这是关于俊雁同学的专访,欢迎大家阅读。

艾克的故事

大家好!我叫艾克,今年 18 岁。我是来自蝌蚪实务学堂的学生。今天我来分享我通过利用线上和线下的开源社区,从没有学习机会的青少年,成为编程学习者,并从中找到自己的节奏的经历。


在 2019 年上半年的秋季学期,我加入了实务学堂,开始学编程。刚开始的时候我们学的是前端的 HTML 和 CSS、后端的 Java。那时候教前端的老师用的是 freeCodeCamp 开源的系统课程和 MOOC 大学的 Web 前端开发课程。

freeCodeCamp.org 是一个开源的免费的编程教育社区,自 2014 年成立以来,以“帮助人们免费学习编程”为使命,创建了大量优质的编程教程,包括交互式课程、视频课程、专栏文章等,内容涵盖 JavaScript、Python、SQL、数据科学等等,所有内容向公众免费开放。学员可以通过线上聊天室和线下社区活动(Coffee and Code)相互帮助。


Java 老师用的是 MOOC 的《零基础学 Java 语言》的系统课程,还有用 GitLab 等工具。老师会带领我们利用这些课程学习、讨论。因为我是刚开始学,以前也没接触过编程,有的时候感觉听不懂,会因为一个知识点都纠结半天。

2019 年下半年,因为新同学的加入,我们重新开始学习,这样正好也可以巩固基础知识,也可以教新生,和他们讨论。

2020 年上半年春季学期,因为疫情的原因,我们不得不在家线上学习。我们继续学习前端的 JS 部分,jQuery 学习得比较多。我们的前端老师用的是 CodeNation 的课程,他也会把这些课程路程视频上传到 B 站。我们也开始学习后端的 C/C++。

陈一帅老师在 bilibili(账号:yishuaichen)分享很多趣味编程课程

虽然一直在上网课,但我们之间讨论得也很多,在学习的过程中也做了很多伯克利 WDD 提供的很多小项目,比如朋友圈、租车网站等。


在期末的时候,我和几位同学合作做了一个售票网站,还有一些同学做了其他的小项目,比如购物车页面。我记得当时做购物车页面的几位同学把页面做得非常的丰富,写了很多行代码都觉得不够。当时我和几位同学做售票网站,我是负责分工,带领他们完成这个售票网站。分工方法就是,因为当时对 GitHub 不是很熟练,只会 push 和 pull,就把一些功能拆分开,分成一些函数,然后让他们实现。

我和同学合作做的售票网站

到了 2020 年秋季学期,我们学完 jQuery,继续学习 C/C++,也开始计算机基础/Linux,我和 4 位同学和老师的带领下经常会一起切页面,切百度主页、苹果主页,每周限时八小时,第一周就是轮廓,第二周细节,第三周响应式,第四周合作、分工切页面。


2021 年,我们继续学习 JavaScript,我们会在 W3 每周刷题、每周打卡。随后 4 月份我们开始学习 React,用伯克利 WDD 和 CodeNation,还有 freeCodeCamp 的教程,学习 React 基础。学习完基础,还会用 React 实现一些小项目,比如番茄定时器、待办事项、个人网站。

暑假,我在互联网工作室实习,做 React 的前端开发。我和同学们也会在每周六的讨论会上分享每周都做了什么,学了什么知识点,有什么困惑,然后我们一起讨论,一起解决问题。

我未来的想法就是做博客,在 B 站把我学习到的知识分享出去,也会参加一些开源社区的讨论,因为我很喜欢给同学分享我学到的知识。

我的分享就到这里,谢谢大家。

更多信息

这是关于艾克同学的专访,欢迎大家阅读。

浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报