教學大綱表
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱 (中文) 程式設計(二)
(英文) Computer Programming
開課單位 資訊經營學系
課程代碼 N1252
授課教師 陳建志
學分數 3.0 必/選修 選修 開課年級 大三
先修科目或先備能力:程式設計(一)
課程概述與目標:以Java為語言,進行編程能進階訓練、及物件導向編程、例外處理及Swing視窗編程。
教科書 Deitel, P. & Deitel, H. (2015). Java How to Program, Late Obejcts Version, 10 ed., Pearson Education. ISBN: 9781292019369
參考教材 陳錦輝,"掌握Java SE8程式設計──Lambda的逆襲",博碩文化,2015,ISBN: 978-986-434-018-7
課程大綱 學生學習目標 單元學習活動 學習成效評量 備註
單元主題 內容綱要
1 Review of Methods Program modules in Java.
static methods, static variables and class Math
declaring methods
notes on declaring and using methods
method-call stack and stack frames
Declare your own methods and call them.
Use common Math methods from the Java API
Understand how the method-call/return mechanism is supported by the method-call stack.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 學習園
  • 平時考
  •  
    2 Review of Methods argument promotion and casting
    Java API packages
    case study: random-number generation
    introducing enum types
    scope of declarations
    method overloading
    Learn about argument promotion and casting.
    Use secure random-number generation.
    Understand how the visibility of declarations is limited to specific regions of programs.
    Understand what method overloading is and how to create overloaded methods.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  •  
    3 review of arrays primitive types VS reference types
    arrays
    declaring & creating arrays
    examples using arrays
    exception handling: processing the incorrect response
    Learn what primitive types & reference types are.
    Learn what arrays are.
    Use arrays to store data in and retrieve data from lists and tables of values.
    Declare arrays, initialize arrays and refer to individual elements of arrays.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  •  
    4 review of arrays enhanced for statement
    passing arrays to methods: pass-by-value vs pass-by-reference
    multidimensinal arrays
    variable-length argument lists
    using command-line arguments
    class Arrays
    Pass arrays to methods.
    Declare and manipulate multidimensional arrays.
    Use variable-length argument lists
    Read command-ling arguments into a program.
    Use the methods of class Arrays.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  •  
    5 Introduction to classes and objects introduction
    instance variables, set methods and get methods
    default and explicit initialization for instance variables
    How to declare a class & use it to create an object.
    How to implement a class's behaviors as methods.
    How to implement a class's attributes as instance variables.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  •  
    6 Introduction to classes and objects initial objects with constructors
    case study: class Account
    case study: card shuffling and dealing simulation
    case study: class GradeBook
    How to call an object's methods to make them perform their task.
    What local variables of a method are and how they differ from instance variables.
    How to use a constructor to initialize an object's data.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  • 作業
  •  
    7 A deeper look of classes and objects case study: Time class
    controlling access to members
    referring to the current object's members with the this reference
    overloaded constructors
    default and no-argument constructors
    notes on set and get methods
    Use the throw statement to indicate that a problem has occurred.
    Use keyword this in a constructor to call another constructor int the same class.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  • 作業
  •  
    8 A deeper look of classes and objects Composition
    enum types
    garbage collection
    static class members
    static import
    final instance variables
    package access
    Use static variables and methods.
    Import static members of a class.
    Use the enum type to create sets of constants with unique identifiers.
    Declare enum constants with parameters.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 期中考
  • 課堂參與
  • 平時考
  • 作業
  •  
    9 Mid Exam Mid Exam Mid Exam
  • 實作
  • 期中考
  •  
    10 Object-oriented programming: Inheritance introduction
    supperclasses and subclasses
    protected members
    relationship between superclasses and subclasses
    Understand inheritance & how to use it to develop new classes based on existing class.
    Learn the notations of supperclasses & subclasses & the relationship between them.
    Use keyword extands to create a class that inherits attributes and befaviors from another class.
    Using access modifier protected.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  • 作業
  •  
    11 Object-Oriented Programming: Polymorphism and Interfaces introduction
    polymorphism examples
    demonstration polymorphic behavior
    abstract classes and methods
    case study of using polymorphism
    Learn the concept of polymorphism.
    Use overridden methods to effect polymorphism.
    Distinguish between abstract and concrete classes.
    Declare abstract methods to create abstract classes.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  • 作業
  •  
    12 Object-Oriented Programming: Polymorphism and Interfaces allowed assignments between superclass and subclass variables
    final methods and classes
    a deeper explanation of issues with calling methods from constructors
    creating and using interfaces
    Learn how polymorphism makes systems extensible and maintainable.
    Determine an object's type at execution time.
    Declare and implement interfaces.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  • 作業
  •  
    13 Exception Handling: A Deeper Look introduction
    example: divide by zero with exception handling
    example: handing ArithmeticExceptions and InputMismatchExceptions
    when to use exception handling
    Java exception hierarchy
    Learn what exceptions are and how they're handled.
    Learn when to use exception handling.
    Use try blocks to delimit code in which exceptions might occur.
    Use throw to indicate a problem.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  •  
    14 Exception Handling: A Deeper Look finally block
    chained exceptions
    declaring new exception types
    preconditions and postconditions
    assertions
    Use catch blocks to specify exception handlers.
    Use the finally block to release resources.
    Understand the exception class hierarchy.
    Create user-defined exceptions.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  • 作業
  •  
    15 GUI Components introduction
    Java's nimbus look-and-fell
    simple GUI-based input/output with JOptionPane
    Overview of Swing components
    Learn how to use the nimbus look-and-feel.
    Build GUIs and handle events generated by user interactions with GUIs.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  • 作業
  •  
    16 GUI Components Displaying text and images in a windows
    text fields and an introduction to event handling with nested classes
    common GUI event types and listener interfaces
    how event handling works
    Understand the packages containing GUI components, event-handling classes and interfaces.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  •  
    17 GUI Components JButton
    buttons that maintain state
    using an anonymous inner class for event handling
    multiple-selection lists
    mouse event handling
    Create and manipulate buttons, labels, lists. text fields and panels.
    Handle mouse events and keyboard events.
    Use layout managers to arrange GUI components.
  • 實作
  • 講授
  • 上機實習
  • 期末考
  • 課堂參與
  • 平時考
  • 作業
  •  
    18 Final exam Final exam Final exam
  • 實作
  • 期末考
  •  

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

    大學部
    核心能力 期末考 期中考 其他評量 平時考 作業
    核心能力四 資訊通訊技術 10/10 10 10 10 10 10