資訊概論 蕭立人
程式設計的重要性 <ul><li>Flash =>  提昇互動性 </li></ul><ul><ul><li>Action Script </li></ul></ul><ul><li>Maya 3D Models =>  電腦遊戲 </li><...
學習程式設計的良性循環 問題 思考 解決 興趣
<ul><li>語法只是工具,工具不會自己解決問題 </li></ul><ul><ul><li>從頭到尾先對語法整體了解一次 </li></ul></ul><ul><ul><li>瀏覽語言所支援的功能,語法大略知道即可 </li></ul></...
<ul><li>Just do it! </li></ul><ul><ul><li>為何你的  Game  玩得那麼好 </li></ul></ul><ul><ul><li>就是要寫 </li></ul></ul><ul><li>Trial a...
<ul><li>別讓頭腦太孤單 </li></ul><ul><li>身體也可以幫助記憶 </li></ul><ul><li>劍隨意轉 </li></ul><ul><li>心動不如馬上行動 </li></ul>Body Memory
<ul><li>Searching and Thinking </li></ul><ul><ul><li>多搜尋、多讀 、多看、多思考 </li></ul></ul><ul><li>Figure out a better one  </li><...
程式設計的境界 <ul><li>演算法 + 資料結構 = 程式  (Wirth) </li></ul><ul><li>電腦程式設計不只是技術 , 也是藝術  (Knuth) </li></ul>
電腦程式設計的學習進程 <ul><li>程式設計 ( 一 )  </li></ul><ul><ul><li>基本程式語言  C </li></ul></ul><ul><li>程式設計 ( 二 )  </li></ul><ul><ul><li>物...
電腦程式設計的學習進程 <ul><li>資料庫系統管理系統 </li></ul><ul><ul><li>SQL Server </li></ul></ul><ul><li>網頁程式設計 </li></ul><ul><ul><li>HTNL, J...
C  程式語言的要點 <ul><li>演進:傳統  C -> ANSI C -> C++ -> C# </li></ul><ul><li>傳統 C </li></ul><ul><ul><li>Multics System->Unix Syste...
Java  的特性 <ul><li>演進:傳統  C -> Objective C -> Java </li></ul><ul><li>Java </li></ul><ul><ul><li>純粹物件導向語言 (Pure Object-Orien...
視窗程式設計 <ul><li>視窗程式設計以下列兩種為主 </li></ul><ul><ul><li>BCB(Borland C++ Builder) </li></ul></ul><ul><ul><li>Visual Studio C# </...
網頁程式 主從架構 (Client-Server Concept) <ul><li>用戶端 </li></ul><ul><ul><li>IE Browser  </li></ul></ul><ul><ul><li>Firefox </li></...
網頁程式設計 - 用戶端 <ul><li>HTML->DHTML </li></ul><ul><ul><li>DOM(Document Object Model) </li></ul></ul><ul><li>XML->XHTML </li><...
網頁程式設計 - 伺服器端 <ul><li>兩種主要配合 </li></ul><ul><ul><li>PHP+MySQL </li></ul></ul><ul><ul><li>ASP.Net + SQL Server </li></ul></u...
資料結構 <ul><li>時間複雜度 (Time Complexity) </li></ul><ul><li>陣列位址計算 (Array) </li></ul><ul><li>堆疊與佇列 (Stack & Queue) </li></ul><u...
時間複雜度 <ul><li>頻率計次 (Step Frequency) </li></ul><ul><li>範例 </li></ul><ul><ul><li>給一個正整數  n ,  找出正整數解  (x,y)  使得   x 2 +y 2 =...
Program 1 <ul><ul><li>for (x=1; x<n-1; x++) </li></ul></ul><ul><ul><li>for (y=x; y<n; y++) </li></ul></ul><ul><ul><li>  if...
Program 2 <ul><ul><li>x=1; y=n-1; </li></ul></ul><ul><ul><li>while (x<y) </li></ul></ul><ul><ul><li>{  </li></ul></ul><ul>...
演算法 <ul><li>貪婪法 (Greedy) </li></ul><ul><ul><li>真貪心!蛋糕總是拿最大的 </li></ul></ul><ul><li>各個擊破 (Divide-and-Conquer) </li></ul><ul...
Tower of Hanoi
Cisco CCNA( 思科 )  <ul><li>為什麼是 Cisco? </li></ul><ul><li>區域網路 </li></ul><ul><ul><li>Discovery 1 & 2 </li></ul></ul><ul><li>...
電腦遊戲製作 <ul><li>所需之基礎 </li></ul><ul><ul><li>C++ </li></ul></ul><ul><ul><li>物件導向觀念 </li></ul></ul><ul><ul><ul><li>可從  C++, C...
Upcoming SlideShare
Loading in …5
×

投影片1 - Ming Chuan University Network Post Office

706 views

Published on

  • Be the first to comment

  • Be the first to like this

投影片1 - Ming Chuan University Network Post Office

  1. 1. 資訊概論 蕭立人
  2. 2. 程式設計的重要性 <ul><li>Flash => 提昇互動性 </li></ul><ul><ul><li>Action Script </li></ul></ul><ul><li>Maya 3D Models => 電腦遊戲 </li></ul><ul><ul><li>C++ & DirectX </li></ul></ul><ul><ul><li>C# & XNA </li></ul></ul><ul><ul><li>Vertool </li></ul></ul><ul><li>HTML 網頁 => 商業網站 </li></ul><ul><ul><li>PHP & MySQL </li></ul></ul><ul><ul><li>ASP.Net & SQL Server </li></ul></ul><ul><li>手機 => 行動應用 </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>Android </li></ul></ul><ul><li>PDA 嵌入式系統 </li></ul><ul><ul><li>ARM </li></ul></ul><ul><li>IC 與 電路設計 </li></ul><ul><ul><li>HDL </li></ul></ul><ul><ul><li>FPGA </li></ul></ul>
  3. 3. 學習程式設計的良性循環 問題 思考 解決 興趣
  4. 4. <ul><li>語法只是工具,工具不會自己解決問題 </li></ul><ul><ul><li>從頭到尾先對語法整體了解一次 </li></ul></ul><ul><ul><li>瀏覽語言所支援的功能,語法大略知道即可 </li></ul></ul><ul><ul><li>大部份時間用於程式設計的演練 </li></ul></ul><ul><ul><li>利用程式設計的演練來熟悉語法 </li></ul></ul>Tools can not Solve Problems 熟悉語法與功能 寫程式
  5. 5. <ul><li>Just do it! </li></ul><ul><ul><li>為何你的 Game 玩得那麼好 </li></ul></ul><ul><ul><li>就是要寫 </li></ul></ul><ul><li>Trial and Error </li></ul><ul><ul><li>嚐試錯誤 </li></ul></ul><ul><ul><li>久病終會成良醫 </li></ul></ul>Just do it! 提昇功力 嚐試 錯誤 心有所感
  6. 6. <ul><li>別讓頭腦太孤單 </li></ul><ul><li>身體也可以幫助記憶 </li></ul><ul><li>劍隨意轉 </li></ul><ul><li>心動不如馬上行動 </li></ul>Body Memory
  7. 7. <ul><li>Searching and Thinking </li></ul><ul><ul><li>多搜尋、多讀 、多看、多思考 </li></ul></ul><ul><li>Figure out a better one </li></ul><ul><ul><li>怎麼樣!我的方法更炫! </li></ul></ul><ul><li>Resting is working </li></ul><ul><ul><li>總在半夢半醒之間 ~ z zZ </li></ul></ul>I Can Beat You
  8. 8. 程式設計的境界 <ul><li>演算法 + 資料結構 = 程式 (Wirth) </li></ul><ul><li>電腦程式設計不只是技術 , 也是藝術 (Knuth) </li></ul>
  9. 9. 電腦程式設計的學習進程 <ul><li>程式設計 ( 一 ) </li></ul><ul><ul><li>基本程式語言 C </li></ul></ul><ul><li>程式設計 ( 二 ) </li></ul><ul><ul><li>物件導向語言 C++ </li></ul></ul><ul><li>資料結構 </li></ul><ul><ul><li>資料結構 資料如何表示、儲存與使用 </li></ul></ul><ul><li>Java 程式設計 </li></ul><ul><ul><li>Java </li></ul></ul><ul><li>視窗程式設計 </li></ul><ul><ul><li>視窗程式設計 Borland C++ </li></ul></ul><ul><li>物件導向程式設計 </li></ul><ul><ul><li>視窗程式設計 Visual Studio C# </li></ul></ul>
  10. 10. 電腦程式設計的學習進程 <ul><li>資料庫系統管理系統 </li></ul><ul><ul><li>SQL Server </li></ul></ul><ul><li>網頁程式設計 </li></ul><ul><ul><li>HTNL, JavaScript, PHP, MySQL </li></ul></ul><ul><li>XML 程式設計 </li></ul><ul><ul><li>XML, XHTML, ASP.Net, Ajax, Web2.0 </li></ul></ul><ul><li>嵌入式系統程式設計 </li></ul><ul><ul><li>手機 , PDA 程式設計 </li></ul></ul><ul><li>網路通訊程式設計 </li></ul><ul><ul><li>Internet 程式 , Socket </li></ul></ul><ul><li>電腦遊戲製作 </li></ul><ul><ul><li>實作 3D 遊戲 </li></ul></ul><ul><li>演算法 </li></ul><ul><ul><li>如何解決問題、設計解決問題的方法 </li></ul></ul>
  11. 11. C 程式語言的要點 <ul><li>演進:傳統 C -> ANSI C -> C++ -> C# </li></ul><ul><li>傳統 C </li></ul><ul><ul><li>Multics System->Unix Systems(Bell Lab.) </li></ul></ul><ul><ul><li>ANSI C </li></ul></ul><ul><li>C++ </li></ul><ul><ul><li>Hybrid-Language </li></ul></ul><ul><ul><ul><li>傳統 C + 物件導向語言 (Object Oriented Language) </li></ul></ul></ul><ul><li>基本功 , 必須要會 </li></ul><ul><ul><li>指標 (Pointer) 、參考 (Reference) </li></ul></ul><ul><ul><li>遞迴程式 (Recursive Programming) </li></ul></ul><ul><ul><li>檔案開檔、關檔、讀檔、寫檔 (File Manipulation) </li></ul></ul>
  12. 12. Java 的特性 <ul><li>演進:傳統 C -> Objective C -> Java </li></ul><ul><li>Java </li></ul><ul><ul><li>純粹物件導向語言 (Pure Object-Oriented) </li></ul></ul><ul><ul><li>跨平台 (Across Platforms) </li></ul></ul><ul><ul><li>Java 虛擬機器 (JVM, Java Virtual Machine) </li></ul></ul><ul><ul><li>類別庫 (Class Library ) </li></ul></ul><ul><ul><ul><li>AWT, Swing </li></ul></ul></ul><ul><ul><li>行動裝置程式 (Mobile Device Programming) </li></ul></ul><ul><ul><ul><li>例如 Android </li></ul></ul></ul><ul><li>證照: SCJP </li></ul>
  13. 13. 視窗程式設計 <ul><li>視窗程式設計以下列兩種為主 </li></ul><ul><ul><li>BCB(Borland C++ Builder) </li></ul></ul><ul><ul><li>Visual Studio C# </li></ul></ul><ul><li>視窗程式的學習要點 </li></ul><ul><ul><li>表單程式 (Window Form) </li></ul></ul><ul><ul><li>物件導向 (Object-Oriented) </li></ul></ul><ul><ul><li>事件處理 (Event Handling) </li></ul></ul><ul><ul><li>資料庫連接 (Database Connection) </li></ul></ul>
  14. 14. 網頁程式 主從架構 (Client-Server Concept) <ul><li>用戶端 </li></ul><ul><ul><li>IE Browser </li></ul></ul><ul><ul><li>Firefox </li></ul></ul><ul><li>Web 伺服器 </li></ul><ul><ul><li>Apache </li></ul></ul><ul><ul><li>IIS(Web+FTP+SMTP) </li></ul></ul><ul><li>資料庫伺服器 (Database Server) </li></ul><ul><ul><li>Access </li></ul></ul><ul><ul><li>SQL Server </li></ul></ul><ul><ul><li>MySQL </li></ul></ul>用戶端 網頁伺服器 資料庫伺服器
  15. 15. 網頁程式設計 - 用戶端 <ul><li>HTML->DHTML </li></ul><ul><ul><li>DOM(Document Object Model) </li></ul></ul><ul><li>XML->XHTML </li></ul><ul><ul><li>XML +CSS </li></ul></ul><ul><li>JavaScript->Ajax->Web 2.0 </li></ul><ul><li>Ajax </li></ul><ul><ul><li>部份擷取 </li></ul></ul><ul><ul><li>非同步傳輸 </li></ul></ul><ul><li>動態網頁 </li></ul><ul><ul><li>Flash </li></ul></ul><ul><ul><li>XMAL(SiverLight) </li></ul></ul>
  16. 16. 網頁程式設計 - 伺服器端 <ul><li>兩種主要配合 </li></ul><ul><ul><li>PHP+MySQL </li></ul></ul><ul><ul><li>ASP.Net + SQL Server </li></ul></ul><ul><ul><ul><li>C#, C++, VB </li></ul></ul></ul><ul><li>一定要學會 </li></ul><ul><ul><li>與資料庫連結 </li></ul></ul>
  17. 17. 資料結構 <ul><li>時間複雜度 (Time Complexity) </li></ul><ul><li>陣列位址計算 (Array) </li></ul><ul><li>堆疊與佇列 (Stack & Queue) </li></ul><ul><li>鏈結串列 (Linked List) </li></ul><ul><li>遞迴 (Recursive) </li></ul><ul><li>樹結構 (Tree) </li></ul><ul><li>圖形結構 (Graph) </li></ul><ul><li>排序法 (Sorting) </li></ul><ul><li>搜尋法 (Searching) </li></ul>
  18. 18. 時間複雜度 <ul><li>頻率計次 (Step Frequency) </li></ul><ul><li>範例 </li></ul><ul><ul><li>給一個正整數 n , 找出正整數解 (x,y) 使得 x 2 +y 2 =n 2 </li></ul></ul><ul><ul><li>請比較 Program1 與 Program 2 的速度 </li></ul></ul>
  19. 19. Program 1 <ul><ul><li>for (x=1; x<n-1; x++) </li></ul></ul><ul><ul><li>for (y=x; y<n; y++) </li></ul></ul><ul><ul><li> if (x*x+y*y==n*n) </li></ul></ul><ul><ul><li>{ </li></ul></ul><ul><ul><li>printf(“(%d,%d)”,x,y); </li></ul></ul><ul><ul><li>exit(0); </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>printf(“not found”); </li></ul></ul>
  20. 20. Program 2 <ul><ul><li>x=1; y=n-1; </li></ul></ul><ul><ul><li>while (x<y) </li></ul></ul><ul><ul><li>{ </li></ul></ul><ul><ul><li>if (x*x+y*y==n*n) </li></ul></ul><ul><ul><li>{ printf(“(%d,%d)”,x,y); </li></ul></ul><ul><ul><li>exit(0); } </li></ul></ul><ul><ul><li>else if (x*x+y*y<n*n) x++; </li></ul></ul><ul><ul><li>else y—; </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>printf(“not found”); </li></ul></ul>
  21. 21. 演算法 <ul><li>貪婪法 (Greedy) </li></ul><ul><ul><li>真貪心!蛋糕總是拿最大的 </li></ul></ul><ul><li>各個擊破 (Divide-and-Conquer) </li></ul><ul><ul><li>一群人打不贏,那挑落單的呀! </li></ul></ul><ul><li>動態程式規劃 (Dynamic Programming) </li></ul><ul><ul><li>柿子先挑軟的吃 </li></ul></ul><ul><li>迴溯法 (Backtracking) </li></ul><ul><ul><li>行不通!就換條路吧 </li></ul></ul><ul><li>分支設限 (Branch-and-Bound) </li></ul><ul><ul><li>小心!不要越走越遠 </li></ul></ul><ul><li>NP Completeness </li></ul><ul><ul><li>碰到難題,就說是難題 </li></ul></ul>
  22. 22. Tower of Hanoi
  23. 23. Cisco CCNA( 思科 ) <ul><li>為什麼是 Cisco? </li></ul><ul><li>區域網路 </li></ul><ul><ul><li>Discovery 1 & 2 </li></ul></ul><ul><li>廣域網路 </li></ul><ul><ul><li>Discovery 3 & 4 </li></ul></ul><ul><li>證照 </li></ul><ul><ul><li>CCNA, CCNP, CCIE </li></ul></ul>
  24. 24. 電腦遊戲製作 <ul><li>所需之基礎 </li></ul><ul><ul><li>C++ </li></ul></ul><ul><ul><li>物件導向觀念 </li></ul></ul><ul><ul><ul><li>可從 C++, C# 或 Java 等課程學習 </li></ul></ul></ul><ul><ul><li>DirectX 程式設計 </li></ul></ul><ul><ul><li>顯示卡圖形處理器 (GPU) 程式設計 </li></ul></ul><ul><li>入門可以先學 </li></ul><ul><ul><li>Visual C# + XNA Game Studio </li></ul></ul><ul><ul><li>Virtools </li></ul></ul>

×