CS 193P iPhone Application Development 是美國史丹佛大學在iTuneU開的公開課,由Paul Hegarty所教授,熱門度一直是數一數二。
用英文上課,不過有原文字幕。但要選修這門課的學生,建議先前修過C語言的課程。
上這堂課要交作業給老師(當然是指史丹佛的正式生),不過遠在海外還是可以跟著一起實做,所以我也手癢跟著玩。
第一堂課要做的作業是RPN Calculator(可以將數值Enter入存在陣列中累算),老師開頭講一些基礎,然後會有一些要額外加入的功能。
這作業對工科的學生不難,算是理解objective C和MVC的第一步。
以下是我的解法:
這題要解決當輸入"." 的時候,計算機如何因應。比方按了兩次".",只能讓它出現一次。我的做法是當一按下就偵測,之後再按的全部直接用subString()刪掉。
教授建議變數可以用一看就懂得的命名法,但這樣讓我的判斷式顯得"落落長"...
這題加入其他運算子,用內建函式就可以解決。它額外問為何pi Enter 3 * + 會出現不同結果,這是因為我們將運算元都存在陣列中,所以多按一次運算子會將先前堆疊的運算元再算一次。是可以限定一次只能堆兩個運算元,不過我想反正之後會將history顯示在螢幕,不改也沒關係。
顯示history,這改一下display就可以。
成功完成作業後,我想上傳到史丹佛有沒人會理我,所以放到部落格當學習筆記。
這系列的課程和其他的參考書比較,我覺得蠻重程式基本工的,參考書比較多著墨在storyboard和UI的運用上。但都會有上課的PPT可以下載,所以聽不懂的部分可以找Doucment複習。
接下來後面的課程應該還會改造這個計算機,等全部做好再來設計一下UI。
最近在看這本Beginning iOS 5 Games Development,若有心得筆記也會放上來。