Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 資訊概論 蕭立人. 2 程式設計的重要性 Flash => 提昇互動性 –Action Script Maya 3D Models => 電腦遊戲 –C++ & DirectX –C# & XNA –Vertool HTML 網頁 => 商業網站 –PHP & MySQL –ASP.Net &

Similar presentations


Presentation on theme: "1 資訊概論 蕭立人. 2 程式設計的重要性 Flash => 提昇互動性 –Action Script Maya 3D Models => 電腦遊戲 –C++ & DirectX –C# & XNA –Vertool HTML 網頁 => 商業網站 –PHP & MySQL –ASP.Net &"— Presentation transcript:

1 1 資訊概論 蕭立人

2 2 程式設計的重要性 Flash => 提昇互動性 –Action Script Maya 3D Models => 電腦遊戲 –C++ & DirectX –C# & XNA –Vertool HTML 網頁 => 商業網站 –PHP & MySQL –ASP.Net & SQL Server 手機 => 行動應用 –Java –Android PDA 嵌入式系統 –ARM IC 與 電路設計 –HDL –FPGA

3 3 學習程式設計的良性循環 問題 思考 解決 興趣

4 4 語法只是工具,工具不會自己解決問題 – 從頭到尾先對語法整體了解一次 – 瀏覽語言所支援的功能,語法大略知道即可 – 大部份時間用於程式設計的演練 – 利用程式設計的演練來熟悉語法 熟悉語 法與功 能 Tools can not Solve Problems 寫程式

5 5 Just do it! – 為何你的 Game 玩得那麼好 – 就是要寫 Trial and Error – 嚐試錯誤 – 久病終會成良醫 提昇 功力 Just do it! 嚐試 錯誤 心有 所感

6 6 別讓頭腦太孤單 身體也可以幫助記憶 劍隨意轉 心動不如馬上行動 Body Memory

7 7 Searching and Thinking – 多搜尋、多讀 、多看、多思考 Figure out a better one – 怎麼樣!我的方法更炫! Resting is working – 總在半夢半醒之間 ~ z zZ I Can Beat You

8 8 程式設計的境界 演算法 + 資料結構 = 程式 (Wirth) 電腦程式設計不只是技術, 也是藝術 (Knuth)

9 9 電腦程式設計的學習進程 程式設計 ( 一 ) – 基本程式語言 C 程式設計 ( 二 ) – 物件導向語言 C++ 資料結構 – 資料結構 資料如何表示、儲存與使用 Java 程式設計 –Java 視窗程式設計 – 視窗程式設計 Borland C++ 物件導向程式設計 – 視窗程式設計 Visual Studio C#

10 10 電腦程式設計的學習進程 資料庫系統管理系統 –SQL Server 網頁程式設計 –HTNL, JavaScript, PHP, MySQL XML 程式設計 –XML, XHTML, ASP.Net, Ajax, Web2.0 嵌入式系統程式設計 – 手機, PDA 程式設計 網路通訊程式設計 –Internet 程式, Socket 電腦遊戲製作 – 實作 3D 遊戲 演算法 – 如何解決問題、設計解決問題的方法

11 11 C 程式語言的要點 演進:傳統 C → ANSI C → C++ → C# 傳統 C –Multics System→Unix Systems(Bell Lab.) –ANSI C C++ –Hybrid-Language 傳統 C + 物件導向語言 (Object Oriented Language) 基本功, 必須要會 – 指標 (Pointer) 、參考 (Reference) – 遞迴程式 (Recursive Programming) – 檔案開檔、關檔、讀檔、寫檔 (File Manipulation)

12 12 Java 的特性 演進:傳統 C → Objective C → Java Java – 純粹物件導向語言 (Pure Object-Oriented) – 跨平台 (Across Platforms) –Java 虛擬機器 (JVM, Java Virtual Machine) – 類別庫 (Class Library ) AWT, Swing – 行動裝置程式 (Mobile Device Programming) 例如 Android 證照: SCJP

13 13 視窗程式設計 視窗程式設計以下列兩種為主 –BCB(Borland C++ Builder) –Visual Studio C# 視窗程式的學習要點 – 表單程式 (Window Form) – 物件導向 (Object-Oriented) – 事件處理 (Event Handling) – 資料庫連接 (Database Connection)

14 14 網頁程式主從架構 (Client-Server Concept) 用戶端 –IE Browser –Firefox Web 伺服器 –Apache –IIS(Web+FTP+SMTP) 資料庫伺服器 (Database Server) –Access –SQL Server –MySQL 用戶端 網頁伺服器資料庫伺服器

15 15 網頁程式設計 - 用戶端 HTML→DHTML –DOM(Document Object Model) XML→XHTML –XML +CSS JavaScript→Ajax→Web 2.0 Ajax – 部份擷取 – 非同步傳輸 動態網頁 –Flash –XMAL(SiverLight)

16 16 網頁程式設計 - 伺服器端 兩種主要配合 –PHP+MySQL –ASP.Net + SQL Server C#, C++, VB 一定要學會 – 與資料庫連結

17 17 資料結構 時間複雜度 (Time Complexity) 陣列位址計算 (Array) 堆疊與佇列 (Stack & Queue) 鏈結串列 (Linked List) 遞迴 (Recursive) 樹結構 (Tree) 圖形結構 (Graph) 排序法 (Sorting) 搜尋法 (Searching)

18 18 時間複雜度 頻率計次 (Step Frequency) 範例 – 給一個正整數 n, 找出正整數解 (x,y) 使得 x 2 +y 2 =n 2 – 請比較 Program1 與 Program 2 的速度

19 19 Program 1 for (x=1; x<n-1; x++) for (y=x; y<n; y++) if (x*x+y*y==n*n) { printf(“(%d,%d)”,x,y); exit(0); } printf(“not found”);

20 20 Program 2 x=1; y=n-1; while (x<y) { if (x*x+y*y==n*n) { printf(“(%d,%d)”,x,y); exit(0); } else if (x*x+y*y<n*n) x++; else y—; } printf(“not found”);

21 21 演算法 貪婪法 (Greedy) – 真貪心!蛋糕總是拿最大的 各個擊破 (Divide-and-Conquer) – 一群人打不贏,那挑落單的呀! 動態程式規劃 (Dynamic Programming) – 柿子先挑軟的吃 迴溯法 (Backtracking) – 行不通!就換條路吧 分支設限 (Branch-and-Bound) – 小心!不要越走越遠 NP Completeness – 碰到難題,就說是難題

22 22 Tower of Hanoi

23 23 Cisco CCNA( 思科 ) 為什麼是 Cisco? 區域網路 –Discovery 1 & 2 廣域網路 –Discovery 3 & 4 證照 –CCNA, CCNP, CCIE

24 24 電腦遊戲製作 所需之基礎 –C++ – 物件導向觀念 可從 C++, C# 或 Java 等課程學習 –DirectX 程式設計 – 顯示卡圖形處理器 (GPU) 程式設計 入門可以先學 –Visual C# + XNA Game Studio –Virtools


Download ppt "1 資訊概論 蕭立人. 2 程式設計的重要性 Flash => 提昇互動性 –Action Script Maya 3D Models => 電腦遊戲 –C++ & DirectX –C# & XNA –Vertool HTML 網頁 => 商業網站 –PHP & MySQL –ASP.Net &"

Similar presentations


Ads by Google