1 / 24

資訊概論

資訊概論. 蕭立人. 程式設計的重要性. 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. 學習程式設計的良性循環. 思考. 問題. 解決. 興趣.

salaam
Télécharger la présentation

資訊概論

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 資訊概論 蕭立人

  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. 學習程式設計的良性循環 思考 問題 解決 興趣

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  22. Tower of Hanoi

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

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

More Related