slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
資訊概論 PowerPoint Presentation
Download Presentation
資訊概論

Loading in 2 Seconds...

play fullscreen
1 / 24

資訊概論 - PowerPoint PPT Presentation


  • 159 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '資訊概論' - salaam


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

資訊概論

蕭立人

slide2
程式設計的重要性
  • 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
slide3
學習程式設計的良性循環

思考

問題

解決

興趣

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

寫程式

熟悉語法與功能

just do it
Just do it!

為何你的 Game 玩得那麼好

就是要寫

Trial and Error

嚐試錯誤

久病終會成良醫

Just do it!

嚐試

提昇功力

錯誤

心有所感

body memory
別讓頭腦太孤單

身體也可以幫助記憶

劍隨意轉

心動不如馬上行動

Body Memory
i can beat you
Searching and Thinking

多搜尋、多讀 、多看、多思考

Figure out a better one

怎麼樣!我的方法更炫!

Resting is working

總在半夢半醒之間~ zzZ

I Can Beat You
slide8
程式設計的境界
  • 演算法+資料結構=程式 (Wirth)
  • 電腦程式設計不只是技術,也是藝術 (Knuth)
slide9
電腦程式設計的學習進程

程式設計(一)

基本程式語言 C

程式設計(二)

物件導向語言 C++

資料結構

資料結構 資料如何表示、儲存與使用

Java程式設計

Java

視窗程式設計

視窗程式設計 Borland C++

物件導向程式設計

視窗程式設計 Visual Studio C#

slide10
電腦程式設計的學習進程

資料庫系統管理系統

SQL Server

網頁程式設計

HTNL, JavaScript, PHP, MySQL

XML程式設計

XML, XHTML, ASP.Net, Ajax, Web2.0

嵌入式系統程式設計

手機, PDA 程式設計

網路通訊程式設計

Internet 程式, Socket

電腦遊戲製作

實作 3D 遊戲

演算法

如何解決問題、設計解決問題的方法

slide11
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)
slide12
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
slide13
視窗程式設計
  • 視窗程式設計以下列兩種為主
    • BCB(Borland C++ Builder)
    • Visual Studio C#
  • 視窗程式的學習要點
    • 表單程式(Window Form)
    • 物件導向(Object-Oriented)
    • 事件處理(Event Handling)
    • 資料庫連接(Database Connection)
client server concept
網頁程式主從架構(Client-Server Concept)
  • 用戶端
    • IE Browser
    • Firefox
  • Web伺服器
    • Apache
    • IIS(Web+FTP+SMTP)
  • 資料庫伺服器(Database Server)
    • Access
    • SQL Server
    • MySQL

用戶端

網頁伺服器

資料庫伺服器

slide15
網頁程式設計-用戶端
  • HTML→DHTML
    • DOM(Document Object Model)
  • XML→XHTML
    • XML +CSS
  • JavaScript→Ajax→Web 2.0
  • Ajax
    • 部份擷取
    • 非同步傳輸
  • 動態網頁
    • Flash
    • XMAL(SiverLight)
slide16
網頁程式設計-伺服器端
  • 兩種主要配合
    • PHP+MySQL
    • ASP.Net + SQL Server
      • C#, C++, VB
  • 一定要學會
    • 與資料庫連結
slide17
資料結構
  • 時間複雜度(Time Complexity)
  • 陣列位址計算(Array)
  • 堆疊與佇列(Stack & Queue)
  • 鏈結串列(Linked List)
  • 遞迴(Recursive)
  • 樹結構(Tree)
  • 圖形結構(Graph)
  • 排序法(Sorting)
  • 搜尋法(Searching)
slide18
時間複雜度
  • 頻率計次(Step Frequency)
  • 範例
    • 給一個正整數 n , 找出正整數解 (x,y) 使得 x2+y2=n2
    • 請比較 Program1 與 Program 2 的速度
program 1
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”);

program 2
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”);

slide21
演算法
  • 貪婪法(Greedy)
    • 真貪心!蛋糕總是拿最大的
  • 各個擊破(Divide-and-Conquer)
    • 一群人打不贏,那挑落單的呀!
  • 動態程式規劃(Dynamic Programming)
    • 柿子先挑軟的吃
  • 迴溯法(Backtracking)
    • 行不通!就換條路吧
  • 分支設限(Branch-and-Bound)
    • 小心!不要越走越遠
  • NP Completeness
    • 碰到難題,就說是難題
cisco ccna
Cisco CCNA(思科)
  • 為什麼是Cisco?
  • 區域網路
    • Discovery 1 & 2
  • 廣域網路
    • Discovery 3 & 4
  • 證照
    • CCNA, CCNP, CCIE
slide24
電腦遊戲製作
  • 所需之基礎
    • C++
    • 物件導向觀念
      • 可從 C++, C# 或 Java 等課程學習
    • DirectX 程式設計
    • 顯示卡圖形處理器(GPU)程式設計
  • 入門可以先學
    • Visual C# + XNA Game Studio
    • Virtools