iT邦幫忙

2021 iThome 鐵人賽

DAY 3
1
Software Development

溫柔學姐的Kotlin補課/教學系列 第 3

寢室的秘密授課(二):程式概念

  • 分享至 

  • xImage
  •  

因為一開始還需要稍微等待專案同步設定,兩人便開始聊起之前沒談到的補課細節。

「那麼,妳對哪裡比較沒有把握?」因為察覺到寢室內還有其他人在休息,唯心的音量壓低到只有她身旁的詩憶才聽得到的程度。

詩憶沒多想就決定實話實說。「學姐,其實我失憶了——沒有大學入學以來的任何記憶。」她著重強調沒有入學以來的記憶,是因為擔心這門課需要其它知識的根基。

聽過詩憶的話,唯心露出微妙的表情,盯著詩憶的臉好一陣子,彷彿在確認對方有沒有說謊。大概是覺得盯太久有點不好意思,唯心臉有點紅地低下頭,在隨身包裡摸索著取出手札和筆,邊寫邊說:「原來如此,那麼補課的日程要排緊湊點了。」

詩憶雖然好奇唯心在上面寫了些什麼,但眼下更在意另一件事。「學姐似乎很快就相信我失憶的事?」

「噢,我有個情報通朋友,他跑來告訴我一些妳昨天的詭異行徑,比如在資電館裡遊蕩之類的。我本來以為是在找人,沒想到是失憶啊。」唯心想起詩憶現在可能不知道資電館是指什麼,於是補充說明:「資電館就是我們昨天上課的大樓,因為是資訊工程系和電機工程系共用,資工系的同學都這麼喊,如果是電機系的同學就會反過來喊電資館。」她笑了笑:「忘光了其實也沒什麼問題,教授會把這門課開放給大一新生選修,考試內容自然沒有要求太複雜的資料結構和演算法,寫出的程式能執行,能輸出正確答案就有基本分數。」

「資料結構?演算法?」詩憶一臉驚恐,她在系上大二大三的必修課程表上有看到這兩門課,沒想到還沒上課就會用到相關概念嗎!

唯心思索了一下,解釋道:「一般來說,程式是帶著特定目的去控制電腦或是機械從事重複性或大量的計算工作,而優良的資料結構和演算法能縮短工作時間或是硬體成本,就像是物理學的槓桿原理。」一邊說著,她一手握拳,一手平放在上,做了一個略顯俏皮的動作。「給我一個支點,我就能撬起整個地球?」

詩憶也笑了。「所以像是老師改考卷、作業這樣的很適合用程式呢。」這麼一想,之前的大學測驗和登記分發應該也是使用程式作業。

唯心愉快的向詩憶眨眨眼。「對,所以身為一個資工系助教,你們的考試和作業我就是用程式評分的唷。」

詩憶獻上崇拜的星星眼。「那,學姐可以告訴我怎麼取得高分囉?」

「其實也沒什麼秘密,就是我會寫幾個測試案例,通過越多測試案例分數越高。」唯心想了想,換了個說詞。「也就是我預先準備幾道題目和對應的答案去考驗妳的程式,當妳程式輸出的答案和我的答案相同時就能拿到分數。」說到這裡,唯心突然換成嚴肅的口氣。「但是我是不會洩題的唷,這是基本的職業道德。」

「這不是當然的嗎?而且,我還希望這堂課學好的話,其他課程會更容易理解。不過,聽起來和以前高中的考試沒兩樣呀?」詩憶提出她的疑問。

「差別在於是妳寫的程式回答,不是妳來回答。要說的話,就像是妳家小孩要出去比賽,家長緊張的心情?」

唯心的比喻太貼切,詩憶瞬間體會到業界工程師們的巨大壓力。「我可以在學程式之前先看看妳的測試案例嗎?我是說妳之前用在作業上的。」

唯心點點頭。「可以啊,妳先等一下,我寄測試案例程式,不,還是寄程式碼給妳好了。」

「程式和程式碼差在哪裡呢?」

唯心愣了一下,沒想到詩憶會問這個基本問題,但越基本的問題越難解釋,她苦惱了一會兒,最後終於想到類似的例子。「妳可以想成程式碼是妳的基因,它們組成妳的身體。若妳有共享基因的雙胞胎姐妹,長相自然一樣;但是與妳長得一模一樣的陌生人,基因和妳不會相同。啊,這麼一提,雙胞胎因環境差別所產生的改變,也可以反過來想成手機品質的差異使相同的App跑出不同的速度。」

詩憶的手機恰巧在此時震動起來,她看了看發亮的螢幕,才想起等下十點有課,她差不多該準備出門了。

唯心用手機拍下詩憶貼在桌上的課程表後,提議道:「等妳課程結束,五點一起吃個晚餐,再來研究測試案例到晚上九點?」

詩憶沒有異議,反正現在她除了學姐以外也沒有比較熟悉的人能約吃飯。


上一篇
寢室的秘密授課(一):環境安裝
下一篇
寢室的秘密授課(三):測試案例 Test Case
系列文
溫柔學姐的Kotlin補課/教學31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言