程式設計與行動裝置軟體開發基礎
Programming Language and Fundamentals for Mobile Application Development
| 節 | 週一 |
|---|---|
5 13:20–14:10 | 程式設計與行動裝置軟體開發基礎 ED710 3 節連堂 |
6 14:20–15:10 | |
7 15:30–16:20 |
* 根據陽明交大上課時間表所列
本門課以iOS平台(如Apple iPAD或iPhone)為主,教授SWIFT行動裝置程式開發語言,期望能提昇土木系學生程式語言能力,以及現今極為普及行動裝置平台上應用軟體之開發能力,以符合業界聘人選擇交大人之既有期待。 由於3C產業的快速進步,現今如智慧型手機或平版之行動裝置已具備代替傳統電腦之資料儲存及任務處理之角色,加上行動裝置給予使用者隨身移動隨時連上雲端的便利性,再加上其普遍具備多點觸控、加速規、坨螺儀、GPS定位、相機、燈光、距離感測器等,更讓手機app程式應用的範圍超過電腦。 現今,全球行動裝置的數量也已超過電腦加上筆電的數量,在加上Apple App Store或Android Google Play Store的概念,可以讓個人自行開發app,很簡單地行銷至全球而無需煩腦會計、關稅、物流等公司行政問題,具備app開發能力不僅能提昇學生的履歷能力,也是學生升學時研究能力的一種表現;於職場上創造個人特色定位的利器,用以協助就職企業;也是個人或與同學合作創業或業餘接案的工具。 Objective-C程式語言是專門用以開發Apple可在Mac, iPhone, iPod Touch, iPAD等系列產品上執行的app程式。Objective-C是C, C++的延伸語言,因此也用到了許多如C的指標及C++物件導向設計的概念。本課程假設學生不具備C語言基礎,前半學期著重在Objective-C語法(如資料、變數、判斷、迴圈、生命週期、陣列、指標、物件導向)的教授及實作,後半學期則著重在iPhone使用者界面應用(如按鈕、文字方塊、多頁面、轉軸選擇器)的設計,以及小型專案的開發。藉由Objective-C程式語言的訓練,不僅直接培養學生開發Mac電腦或iPhone等app的能力,有助於有志於Android或Windows智慧行動裝置平台上開發app的學生,因為這些語言皆是C++(JAVA)延伸的語言。 Apple於WWDC 2014年正式公開發表Swift程式語言,它是一個集各家精華的高階程式語言,此門課將改以Swift語言為主,但會提供Objective-C對應之程式碼供有興趣的學生參考。 上完此課會將會有利用Swift程式語言,學習程式語言共有的資料型別、條件判斷、控制與迴圈、物件導向設計,以及於iPhone手機模擬程式上實作應用App的能力。 類似本課的內容的課程在校外學習學費皆不便宜,學校Mac開發環境的支援也較少,因此對於修課人數有所限制,也期望修課同學能珍惜資源,真正有興趣、願意朝此方向努力的同學才來修,iPhone程式設計的學習包羅萬象,無法於一、兩門課內全部授完,同學的學習成效越好,於課堂中我能給予的講題及練習就越多樣。開授此本課,我除了期望培養交大土木系同學的資訊能力之外,也期望能藉此培養未來有志進入研究所從事土木與資訊整合之跨領域研究生力軍。 本門課沒有考試,只有平常的作業實作練習及專題報告。由於缺課學習會影響後面的學習,課堂中的練習也有評分,因此預期常缺課的同學請勿修本課程,以免影響成績以及整體課程的學習進度。
計算機概論或任何電腦程式語言 本門課使用Mac OS的Swift語言開發環境,由於學校資訊中心不提供Mac,因此欲修課學生需自備Mac筆電,並自行下載安裝Xcode。人數不上限
1.學期作業 依單元進度不定期課堂程式設計實作作業 2.期中專題(簡報檔案及期中口頭報告) (1) 在不用考慮程式開發功力下,構思你心目中的App主題,蒐集市場現有類似的App,比較分析之間的差異,說明你的App的獨特(或優勢)。 (2) 利用quick prototyping tools(如Fluid),設計規劃你心目中的App使用界面,並說明其使用之情境、方法,及欲解決的問題。 3. 期末專題(簡報檔案、程式及期末口頭報告) 利用本學期教授之程式設計技巧,自行設計一個App,自已撰寫程式展示成果。評分的重點在於(1)主題創意與UI設計之適切性、(2)使用技巧種類之多寡,及(3)程式碼之數量,另外若有使用自學未教之技巧則額外加分。(4)心得(如遇上的困難、解決方法、未來建議事項) 繳交內容:以學號命名之檔案夾,內含(1) 程式碼專案資料夾(2) PowerPoint ppt (敘述主題、使用流程、使用之程式技巧) 4. 評量方法 考評方式採用百分考評 平時作業與參與(55%)、期中(20%)和期末專題(25%)
- 智慧行動裝置平台及程式語言和開發工具介紹
- Swift程式設計導論
- 程式設計基礎
- 物件導向程式設計
- UI設計元件
- 專題與實作
| 週次 | 主題 |
|---|---|
| 第 2 週 | 各類智慧行動裝置平台(Android, Windows, iOS)及各類程式語言和開發工具介紹、Swift語言特色 |
| 第 3 週 | Xcode開發環境等介紹、第一個iPhone應用程式、MVC(Model-View-Control)設計概念 |
| 第 4 週 | 資料類別、變數、運算元 |
| 第 5 週 | 程式判斷、迴圈控制、Debug |
| 第 6 週 | 陣列、字串 |
| 第 7 週 | 函式呼叫 |
| 第 8 週 | 物件導向程式設計基本概念(物件、屬性與訊息、類別定義、類別物件、方法)、指標基本概念 |
| 第 9 週 | 物件導向程式設計基本概念(繼承、封裝、多型) |
| 第 10 週 | 期中專案報告與討論 |
| 第 11 週 | iPhone/iPAD UI (User Interface)元件介紹、UIKit、UIView、UILabel |
| 第 12 週 | 文字方塊(UITextField)、影像視窗(UIImageView) |
| 第 13 週 | 提示訊息視窗(UIAlertView)、滑桿(UISlider) |
| 第 14 週 | UISwitch、進度呈現(ProgressView) |
| 第 15 週 | UITableView 其它特別UI |
| 第 16 週 | 期末專題討論 |
| 第 17 週 | 期末專題報告與展示 |
| 第 18 週 | 端午節 |
無