個人資料
正文

第一次Hackathon

(2019-02-25 12:56:48) 下一個

(1)

猶豫了半天,最後還是決定跟學生一起參加在舊金山GitHub辦公樓舉行的Hackathon。這些孩子隻學了幾個月的編程,一點兒HTML一點兒CSS一點兒JQuery 。

以我們傳統保守的教育習慣來講,怎麽可能用這點兒小技術做出一個比賽?我自己不抱任何希望,隻是隨便去看看。

這個活動是由Code Nation主辦的。Code Nation是幫助低收入社區的孩子接觸編程的義工組織。組織的原稱是ScriptEd,七八年前發源於紐約市,兩三年前擴展到舊金山灣區,並正在向芝加哥地區擴展。被幫助的學校,一般有高於75%的學生來自低收入家庭。

高中九年級或者十年級的學生可以報名參加Code Nation提供的課外課程。課程分三年,每周兩次課,每次課一到兩小時不等。第一年為基礎課,第二年為高級課,第三年基本上是去高科技公司上實習課。暑假期間,最優秀的學生可以得到去公司做短期工作的機會。

每年也會有幾個學生在申請大學時選擇計算機相關的專業。但學校的老師告訴我們,對大多數的孩子來說,跟他們說選擇未來的發展方向為時尚早,我們的目標是讓他們有機會接觸計算機編程,並在這個過程中跟學生建立相互信任的關係。這些孩子需要成年人的關注。

我工作的學校CCPA位於Oakland體育場附近,大部分學生是墨西哥裔,孩子們經常用西班牙語交流,大概是不想讓不懂西班牙語的老師聽懂他們在說什麽。

學校主管計算機老師的老師原本是臉書的白人帥哥工程師,他三年前辭去工程師的工作來到貧困的奧克蘭學區當老師,想必心裏充滿愛。

跟我同事的另一位義工也是年輕的工程師,他本人是在南加州Palm Spring地區長大的墨西哥裔,大學畢業後一直跟合夥人做自己的Startup,他們的產品幫助Getty Center, de Young Museum, Asian Art Museum以及一些飛機場解決了三維地圖和三維展示方麵的問題。他來回饋社區,幫助跟他有類似成長環境的孩子。

我們學校CCPA隻有三個女生參加在這次Hackathon,幾個很機靈的男孩兒都沒來。這幾天也趕上Oakland 公立學校教師罷工,學生不必上課,不少人乘機休個長假,不知去哪兒了。平時在課堂上,孩子們也不是總能認真學習,他們喜歡說話聊天兒,拒絕做更多的功課。他們一點兒也不比南灣的孩子笨,但身邊沒有強大的競爭氛圍和教育支撐。

(2)

比賽場裏我們被分到5號攤位。另一所學校也有三個學生參加,與我們相鄰,在4號攤位。

4號攤位的帶隊老師提議兩個攤位合並一下,反正一般來說每組需要6到8人。

跟我們一起來的,還有CCPA自己一位很可愛的女老師。老師有三個孩子,但她本人看上去還像個大學新生,在美國白人普遍早熟的環境裏很罕見。她丈夫是房地產經紀人,他們家每兩年換一次房子搬一次家,可以從自住房的增值中獲取免稅的優惠,從而積累家庭財富。我認為他們家的這種自救方式,是對加州公立教育的曲線救援,否則在公立學校任教,不足以讓老師在灣區正常生存下去。

 

(3)

比賽開始,由我們第四、第五兩個小隊合在一起的新組取名“4.5戰隊”,原4隊的義工輔導老師說四加五除二等於四點五。取好名字,他又拿出幾張大紙貼在牆上,自己率先在紙上畫了幾個方框代表網頁。他說網頁設計首先要布局,他畫第一幅的框架,然後把筆交給學生,讓他們輪流畫自己想象的下一副布局。

(4)

這是頭腦風暴的起點。接下來孩子們開始討論怎麽選題,女老師提出孩子們日常生活裏有很多選擇,明顯某些選擇比其它選擇對地球危害更大,我們的選題應該從自身的選擇出發。

有學生提出要以信息板的方式給瀏覽網頁的人一些環保教育。另外有學生說做成遊戲更有吸引力。

一陣七嘴八舌,找不到明確方向的時候,女老師提出,做這種項目,我們應該先確定最後一頁的最終結果是什麽,然後倒著往前推,前麵的頁麵就比較容易設計了。

一番討論後,大家同意最後一頁應該給讀者一個分數,讓對方一路選擇之後看到一個結果。

(5)

這樣討論了一陣子後,確定我們要做一個簡單的遊戲。

以學生一天的生活為主題,玩兒遊戲的人選擇從早上起來洗澡開始,去學校的交通工具,在學校做功課、吃午飯,放學後去哪兒,最後上床睡覺時,得到一天對地球環境的影響評估。

(6)

組裏兩個會畫畫兒的女孩兒立刻設計了主頁的中心圖。

一天的各項活動分成幾個頁麵,孩子們自主領取一到幾個頁麵。

願意當主管的孩子除了設計自己領導的頁麵,也負責協調所有同學之間的合作。

(7)

中午吃飯前,女老師笑嘻嘻地說根據討論的情況,估計這組能贏,然後又縮回去一句:不知道其它組都做些什麽主題的。

(8)

女老師要提早離開,CCPA的三個女孩兒也各自找了個借口要跟老師提前回去。我計劃在這兒一整天,晚上可以送她們回去。可是女孩兒們要待在一起,誰也不想單獨行動,老師也就把她們都帶走了。

午飯後,隻有三個孩子要完成剩下的任務,他們倒是一點兒也不氣餒,老師也鼓勵他們說三個人能做完整個項目。

(9)

其實需要寫的程序並不多,更多的工作是把要做的工作羅列清楚,並且按時互相交流。

有的孩子在網上選擇合適的圖片,有的孩子決策最後對地球的影響分幾個檔次,有的孩子專門負責網頁的色彩,字體的大小,圖片的布局。

(10)

下午工作了一個半小時後,孩子們第一次總結進度。看上去隻完成了一半的工作,後邊還有一個多小時,照比例,應該可以按時完成後一部分。程序測試也需要一定時間,學生們還沒有這個概念。他們信心十足。

(11)

後邊總結交流的頻率改成每半個小時一次,如果有些東西實在沒時間做,可以從網頁中刪去,如果時間富裕,還可以增加新的內容。

我對他們最大的幫助,大概是催著他們測試不同的選項。程序完成後,走一趟各個頁麵的選擇,直到最後一頁似乎都很順,可是再換一些選擇,就會跳出來各種預想不到的失敗。

(12)

下午四點,比賽結束。計算機上交回去。等待裁判組檢查每個組的項目成果。

等待期間,孩子們心滿意足,覺得這趟比賽無論結果如何,他們都經曆了很多讓自己興奮的過程,各種恍然大悟,各種沒想到。最沒想到的是自己居然做出了一個能用的小遊戲。

我也沒想到。

(13)

裁判饒有興趣地看孩子們展示自己的程序。裁判們被學生要求選擇早上洗澡的用水習慣,上學是走路騎車還是坐汽車,學校糟糕的午飯是吃下去還是悄悄扔了,放學後是回家還是逛商店,手機表麵摔壞了是修理還是買新的。

裁判一邊選擇,一邊開心地笑。這種互動式的評判過程讓我們組占足了優勢。

我們進入初級組的前三名,得到了給全體參賽學生老師在大講台上展示的機會。

(14)

午飯給的量很少,晚飯則很多很多。估計是怕午飯太飽後容易犯困。

我們組的成果在大舞台上的講解時也需要觀眾做出選擇,場上氣氛在互動中活躍起來,各種會心一笑從各個角落傳出來。

主講的黑人女孩兒自信大方,還帶著孩子的好勝。每個人說出自己都做了些什麽時,她介紹完程序部分突然跟評選團說:首頁上那個裝著地球的購物車是她自己畫的。

最後的問答環節,評選團問了幾個問題後,也繞回到那個購物車:你是如何把自己畫的購物車放進網頁的?

女孩兒對答如流。

(15)

我估計他們贏了。

雖然整個項目用到的技術很少,邏輯也很簡單,但主題很貼切全場學生的生活。藝術設計部分除了女孩兒自己畫的購物車,最後一頁的各種結論,女孩兒也在網上選擇了簡單明快的圖案和動畫,視覺效果很好。

展示的過程也比其它項目引人入勝,其它組有些做得繁複的頁麵,講的人很用力,聽的人也很疲勞,效果並不討好。

(16)

宣布結果的時候從第三名開始念名字,念第二名之前我問旁邊當組長的孩子,你覺得自己會贏嗎?他搖頭,並抬起屁股、準備聽到第二名的名字後起身去領獎。但第二名不是他們,他低頭感歎、偷著樂。坐在他另一側的孩子,是組裏比較憨的一個,停了好幾秒鍾才意識到自己贏了,側過頭衝著組長張大了嘴表示不敢相信。黑人女孩兒篤定地微笑。

(17)

我的收獲可能跟他們不相上下,也可能我的收獲更大。

多年的工作中,我總是在追究細節,這也是工程師必須做的。但一個項目的成敗,一大半在設計、規劃時已經決定了,一小半在跟客戶的互動中決定了。中間那些細節,是在幫助完成一盤大棋。

(18)

Go, Code Nation!

 

[ 打印 ]
閱讀 ()評論 (0)
評論
博主已隱藏評論
博主已關閉評論