羅大佑、王傑、童安格、張學(xué)友……還(hái)有一路紅到現在的周傑倫,上紀世九十年代的這(zhè)些歌星,你可買過(guò)他們的碟片?
和很多當年的音樂發(fā)燒友一樣(yàng),1980年出生于石獅的蔡金程,就是周傑倫的一枚鐵粉,收集過(guò)周傑倫的很多作品。
出生于海邊的蔡金程,除了追逐過(guò)音樂的美好(hǎo)時光,還(hái)特愛讀詩,自小就對(duì)傳統國(guó)學(xué)、雜文一類的書籍涉獵廣泛。隻是誰也沒(méi)有想到,這(zhè)個标準的文青,後(hòu)來居然考的是大學(xué)裡(lǐ)很剛的計算機專業。
正像一句老話說的,你讀過(guò)的書、走過(guò)的路、見過(guò)的人,都(dōu)會寫在你的人生印記裡(lǐ)。當年的積累,讓蔡老師講起(qǐ)課來左右逢源,枯燥的編程課在他那裡(lǐ)居然帶著(zhe)美美的人文氣息。
蔡金程所提倡的“以文入理”,把音樂、詩歌、典故、哲學(xué)等元素巧妙地融入了Python語言的編程課,形象、有趣、诙諧的講解,總讓學(xué)生聽得絲絲入扣、欲罷不能(néng)。
本期《泉大的課》,我們就一起(qǐ)來分享蔡老師是如何講好(hǎo)一堂課的。
“1989年,‘龜叔’開(kāi)始設計Python,它吸收和融合了各種(zhǒng)語言的優點……”
如果這(zhè)樣(yàng)開(kāi)講,學(xué)生是不是就要打瞌睡了?一起(qǐ)來看看蔡老師的打開(kāi)方式——
“同學(xué)們,你們愛聽周傑倫的歌嗎?”
“愛,愛,愛!我愛聽他的《稻香》。”
……
一陣小小的歡樂,瞬間傳來。
蔡老師輕輕點開(kāi)了視頻,正是周董的《以父之名》《愛在西元前》《簡單愛》。
“周傑倫的歌好(hǎo)聽,就在于音樂元素豐富,善于吸收和融合。而Python也一樣(yàng),它是在吸收和融合了C語言和shell腳本的許多優點發(fā)展起(qǐ)來的。Python身世和特點,就好(hǎo)像周傑倫的這(zhè)三首歌。先一起(qǐ)來聽聽這(zhè)美妙的音樂吧。”
都(dōu)聽完了,那就來看看蔡老師是怎麼(me)導入正題的——
“《以父之名》裡(lǐ)面(miàn)有一句經(jīng)典歌詞:榮耀背後(hòu)刻著(zhe)一道(dào)孤獨。這(zhè)像極了Python之父‘龜叔’的人生,他榮耀的背後(hòu)也刻著(zhe)一道(dào)‘孤獨’,那就是ABC語言沒(méi)有成(chéng)功流行起(qǐ)來……”
“《愛在西元前》,講述的是古巴比倫一個國(guó)王和王妃的愛情故事(shì)。在西元前,國(guó)王用楔形文字寫下了愛的誓言。‘龜叔’對(duì)Python的愛,沒(méi)那麼(me)遙遠,他寫在了1989年……”
“《簡單愛》這(zhè)首歌寫的是無憂無慮、簡簡單單的愛情故事(shì)。Python的設計理念,就是優雅、明确、簡簡單單……”
就這(zhè)樣(yàng),周董的三首歌,讓一堂課保持著(zhe)滿滿的元氣。
來看看同學(xué)們是怎麼(me)說的——
“我愛了,太愛聽你講課了。”
“Python現在是我最喜歡的課程了。”
“老師認真負責,很有責任心,授課生動有趣。”
導入音樂,容易引起(qǐ)學(xué)生的學(xué)習興趣。蔡老師在這(zhè)方面(miàn)的嘗試還(hái)有不少——
閉合函數是高級函數中的一個難點,這(zhè)可如何解說?蔡老師給學(xué)生們來了《還(hái)珠格格》裡(lǐ)的歌曲《你是風兒我是沙》,“看看,内外函數的‘纏綿’就好(hǎo)像是風和沙的關系,外函數爲内函數提供變量環境,内函數返回自身引用給外函數,這(zhè)就好(hǎo)比風和沙的關系……”
而Python的另一個難點,就是面(miàn)向(xiàng)對(duì)象三大特征,不好(hǎo)學(xué)。蔡老師就用上了周傑倫《威廉古堡》裡(lǐ)畫面(miàn)感超強的歌詞,“通過(guò)歌詞裡(lǐ)面(miàn)描述許多人物角色設計基類和派生類以及對(duì)應的實例對(duì)象,并通過(guò)虛拟兩(liǎng)個遊戲情節,設計面(miàn)向(xiàng)對(duì)象的編程代碼,進(jìn)而讓學(xué)生掌握面(miàn)向(xiàng)對(duì)象程序設計的知識。”
其實,除了音樂,蔡老師“以文入理”的課件,還(hái)嘗試融入典故、成(chéng)語、詩歌等元素。
比如《從“庖丁解牛”到分解“模塊”》,他從庖丁解牛的典故講起(qǐ),引出學(xué)生要反複實踐,掌握Python的客觀規律,編程就能(néng)得心應手、運用自如。
比如《當Python遇上成(chéng)語》,他用三個成(chéng)語“接龍”python程序的三大結構,用“循次漸進(jìn)”“拐彎抹角”“周而複始”三個成(chéng)語分别對(duì)應“順序結構”“選擇結構”“循環結構”,并結合PPT有趣的圖片,引出程序結構、條件語句、循環語句和其他常用語句的講解。
最後(hòu),讓我們一起(qǐ)來看看蔡老師改寫自林夕《愛情轉移》歌詞的《編程轉移》——
徘徊過(guò)多少窗口 駐過(guò)多少内存
才會覺得01也并不簡單
代碼是用來浏覽 還(hái)是用來珍藏
好(hǎo)讓日子天天都(dōu)過(guò)得難忘
熬過(guò)了多少Bug 黑了幾圈眼眶
才能(néng)知道(dào)熬夜是“愛”的遺産
流浪幾個IDE 換過(guò)幾次硬盤
才讓變量義無反顧的交換
把一種(zhǒng)語言的愛 轉移到另一個的shell
讓上次犯的錯Debug出夢想
每個人都(dōu)是這(zhè)樣(yàng) 享受過(guò)當機循環
才拒絕做IT待罪的羔羊
回憶是學(xué)不會的算法握緊就變黑暗
讓虛假的敲打消失于鍵盤
代碼在腦海流轉 等所有BUG被(bèi)原諒
編程不停站 想開(kāi)往地老天荒
需要多勇敢
機房照亮了晚餐 照不出個答案
編程不是簡單地敲敲鍵盤
屏幕上鋪滿花瓣 擁抱讓它成(chéng)長(cháng)
太擁擠就開(kāi)到了别的網站
循環需要人接班 方差換來期望
期望帶來數學(xué)的惡性循環
短暫的總在RAM 漫長(cháng)需要外存
燒完美好(hǎo)CPU換一個電腦
把一種(zhǒng)語言的愛 轉移到另一個的shell
讓上次犯的錯Debug出夢想
每個人都(dōu)是這(zhè)樣(yàng) 享受過(guò)當機循環
才拒絕做IT待罪的羔羊
回憶是學(xué)不會的算法握緊就變黑暗
讓虛假的敲打消失于鍵盤
代碼在腦海流轉 等所有BUG被(bèi)原諒
編程不停站 想開(kāi)往地老天荒
需要多勇敢
把一種(zhǒng)語言的愛 轉移到另一個的shell
讓上次犯的錯Debug出夢想
每個人都(dōu)是這(zhè)樣(yàng) 享受過(guò)當機重啓
才拒絕做IT待罪的羔羊
回憶是學(xué)不會的算法握緊就變黑暗
讓虛假的敲打消失于鍵盤
代碼在腦海流轉 等所有BUG被(bèi)原諒
編程不停站 想開(kāi)往地老天荒
需要多勇敢
你不要失望 聰明“絕頂”是爲了
最美的平凡
蔡金程(智能(néng)智造學(xué)院講師、計算機工學(xué)學(xué)士、會計碩士):
随著(zhe)數據、算法和算力的迅速發(fā)展,AI技術開(kāi)始應用到各個行業,AI+的新時代已經(jīng)來臨。泉州市職業技術教育中心智能(néng)制造學(xué)院,開(kāi)設了計算機應用工程、軟件工程等本科專業,努力探索將(jiāng)傳統制造技術和AI技術相結合的人才培養方向(xiàng)。Python被(bèi)稱爲是人工智能(néng)時代的編程語言,目前大部分主流AI算法框架都(dōu)提供了Python接口。但實際教學(xué)中一些學(xué)生學(xué)習Python的積極性不高,不能(néng)很好(hǎo)地理解吸收該課程的知識。所以本人在教授編程中,盡量“以文入理”,化繁爲簡,以通俗易懂的方式講解編程知識,讓學(xué)生重點把握編程的原理和本質,觸類旁通。同時鼓勵學(xué)生學(xué)好(hǎo)編程技術的同時兼修“武德”,鼓勵學(xué)生多看書、開(kāi)闊視野,不斷提高編程思想的覺悟。