教學大綱表
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱 (中文) 程式設計(一)
(英文) Computer Programming
開課單位 資訊經營學系
課程代碼 N1251
授課教師 王永心
學分數 3.0 必/選修 選修 開課年級 大一
先修科目或先備能力:
課程概述與目標:以Java語言培養學生編程能力。
教科書 P. Deitel and H. Deitel, 2015, "Java How to Program, Late Obejcts Version," 10 ed., Pearson. ISBN: 1292019360
參考教材 張子庭,JAVA程式設計藝術(第十版)(國際版),出版商:全華。ISBN13:9789862803431
圖書館電子書 http://www.airitibooks.com/detail.aspx?PublicationID=P20120927007
課程大綱 學生學習目標 單元學習活動 學習成效評量 備註
單元主題 內容綱要
1 電腦、網路與Java簡介 ● Computer organization
● Machine vs Assembly vs High-level languages
● Programming and Java
● A typical Java development environment
● First program in Java
● 能述敘計算機組織之六大單元
● 區別各種不同階層的語言
● 能說明Java語言的特性
● 能操作Java開發環境之基本功能
  • 講授
  • 上機實習
  •  
    2 Java應用程式介紹;輸入/輸出與運算子 ● printf()
    ● Data types
    ● Applications: I/O and OPs
    ● Memory concepts and variables declaring
    ● Arithmetic OPs
    ● Equality and relational OPs
    ● 能完成含有簡單輸入/出的程式
    ● 能了解printf常用格式參數
    ● 能了解為什麼要有資料型態
    ● 能了解記憶體配置與能於程式中宣告變數
    ● 能運用算術運算及關係運算於編程
  • 講授
  • 上機實習
  • 作業
  •  
    3 類別、物件、方法與字串的介紹 ● Introduction
    ● Instance Variables, set Methods and get Methods
    ● Primitive Types vs. Reference Types
    ● Account Class with a Balance
    ● Floating-Point Numbers and Type double
    ● 能宣告類別、變數與建立物件並將類別的行為實作成方法
    ● 能呼叫物件的方法並令其執行工作
    ● 瞭解基本型別與參照型別之差異
    ● 瞭解如何使用建構子來初始化物件
    ● 能表示與使用含小數點之數字
  • 講授
  • 上機實習
  • 作業
  •  
    4 控制敘述:if ... else ● Algorithms
    ● Pseudocode
    ● Control structures
    ● if single-selection statement
    ● if ... else double-selection statement
    ● 瞭解基本的解題技巧
    ● 能設計出簡單問題的演算法,並以虛擬碼表示
    ● 能活用if和if ... else敘述於程式設計
  • 講授
  • 上機實習
  •  
    5 控制敘述:while ● while repetition
    ● counter-controlled repetition
    ● sentinel-controlled repetition
    ● nested control statements
    ● compound assignment OPs , ++ and --
    ● primitive types
    ● 能運用while結構於編程
    ● 能區別計數器控制與哨兵控制迴圈之不同
    ● 能運用巢狀結構於編程
    ● 能區別遞增、遞減運算子出現位置不同之差別
    ● 能分辨Java的基本資料型態之特性
  • 講授
  • 上機實習
  • 平時考
  •  
    6 控制敘述:for ● designing counter-controlled repetition
    ● for repetition statement
    ● examples using the for statement
    ● debugging in repetition statements
    ● 能設計出計數器控制的迴圈
    ● 能活用for迴圈
    ● 能運用單步執行於迴圈除錯
  • 講授
  • 上機實習
  •  
    7 控制敘述:do ... while ● designing sentinel-controlled repetition
    ● do ... while repetition statement
    ● break and comtinue statements
    ● more examples of repetition statements
    ● 能設計出哨兵控制的迴圈
    ● 能活用do ... while迴圈
    ● 能辨別break與continue是如何改變迴圈流程
    ● 能適當運用多種迴圈結構於編程
  • 講授
  • 上機實習
  • 上機測驗
  •  
    8 控制敘述:switch ● switch statement
    ● the effect of a switch statement with or without break statement
    ● logical operators
    ● structured programming summary
    ● 能活用switch ... case
    ● 能辨別 break 對 switch 的效果
    ● 能區別 &, && 及 |, || 之不同
    ● 能靈活運用控制結構於編程
  • 講授
  • 上機實習
  •  
    9 期中考 ● Midterm Exam ● 驗證前半學期的學習成果
  • 上機實習
  • 期中考
  •  
    10 方法:深入探討 (I) ● program modules in Java
    ● static methods, static fields
    ● class Math
    ● declaring methods
    ● 能了解什麼是程式模組化
    ● 能了解類別方法與類別變數之特性
    ● 會運用Java提供的數學函式
    ● 能自行宣告方法於編程
    ● 能將模組化概念實踐於編程
  • 講授
  • 上機實習
  •  
    11 方法:深入探討 (II) ● method-call stack
    ● argument promotion and casting
    ● Java API packages
    ● 瞭解方法呼叫堆疊如何支援方法的呼叫
    ● 瞭解什麼是傳值呼叫
    ● 瞭解關於引數提升及強制轉型
    ● 會呼叫Java提供的API於編程
  • 講授
  • 上機實習
  • 作業
  •  
    12 方法:深入探討 (III) ● case study: secure random-rnuber generation
    ● scope of declarations
    ● method overloading
    ● 會產生亂數來實作遊戲應用
    ● 能辨別宣告的有效範圍
    ● 能運用方法多載於編程
  • 講授
  • 上機實習
  •  
    13 陣列 (I) ● primitive types vs reference types
    ● introduction to arrays
    ● declaring and creating arrays
    ● examples using arrays
    ● 能辨別基本與參考型態之差異
    ● 能解釋為什麼需要陣列
    ● 能宣告並配置陣列
    ● 能善用陣列於編程
  • 講授
  • 上機實習
  • 作業
  •  
    14 陣列 (II) ● examples using arrays
    ● processing the array index out of bounds exception and the negative array size exception
    ● passing arrays to methods
    ● 能運用陣列當作編程時的資料結構
    ● 能處置使用陣列時所發生之常見例外
    ● 能分辨基本型態與參考型態的傳值呼叫於引數傳遞時之差異
  • 講授
  • 上機實習
  • 上機測驗
  •  
    15 陣列 (III) ● multidimensional arrays
    ● variable-length argument lists
    ● using command-line arguments
    ● 能宣告、配置、運用多維陣列當作編程時之資料結構
    ● 會使用可變長度的引數列
    ● 會將命令列引數讀入到程式中
  • 講授
  • 上機實習
  •  
    16 ArrayList ● class Arrays
    ● introduction to Collections and class ArrayList
    ● 能活用Java提供的Arrays類別方法,進行常見的陣列操作
    ● 能活用Java提供的ArrayList類別,操作可動態調整大小之類陣列資料結構
  • 講授
  • 上機實習
  • 上機測驗
  •  
    17 Integration practices ● Integration practices of this semaster ● 能將本學期所學整合運用於編程
  • 講授
  • 上機實習
  •  
    18 期末考 ● Final Exam ● 驗證整學期的學習成效
  • 上機實習
  • 期末考
  •  

    教學要點概述:
    教材編選: □ 自編教材 ■ 教科書作者提供
    評量方法: 期末考:30%   期中考:25%   上機測驗:15%   平時考:10%   作業:20%  
    教學資源: ■ 教材電子檔 ■ 課程網站
    課程網站:https://ilearn.ttu.edu.tw/
    扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504