◎系所教育目標: 為配合國家建設及產業發展之需要,本系以培育中高級資訊科技人才為目的。在教學理念上除了注重理論的探討之外並強調實際動手的能力,以期培育出具有深厚學識基礎並能實際應用的資訊科技人才。在專業必修中涵蓋基礎理論、電腦硬體、作業系統、資料結構及計算機網路等方面,並有畢業專題製作,使學生紮實基礎,同時課程包含四個專業學程,兼顧學術及實務之分流與訓練。分別為一:軟體工程及知識工程學程、二:互動多媒體學程、三:網路及資訊安全學程、四:資訊系統開發實務學程,以期作為日後升學就業的準備。 |
| ◎核心能力 | 關聯性 |
| 1.應用數理邏輯推理之能力 | 2 關聯性稍弱 |
| 2.具備資訊軟體專業之能力 | 5 關聯性最強 |
| 3.發掘、分析及解決問題之能力 | 3 關聯性中等 |
| 4.現代資訊發展工具之使用與熟悉資訊應用系統之能力 | 3 關聯性中等 |
| 5.資訊軟體或硬體創新設計與實作之能力 | 2 關聯性稍弱 |
| 6.有效溝通與團隊合作之能力 | 1 關聯性最弱 |
◎本學科內容概述: 本學科為大學部一年級專業必修課程。除介紹物件導向的基本觀念與抽象資料型別外,也將詳細介紹函數及運算元的多載及類別繼承等,使學生能體會多型與程式重複利用的意義。 |
◎本學科教學內容大綱: 1.pointer and dynamic array
2.struct, class and objects
3.function/operator overloading
4.inheritance
5.friend function
6.polymorphism |
◎本學科學習目標: 本課程為資工系大學部一年級進階之程式設計課程,主要的內容以教授物件導向程式(Object-Oriented Programming)之概念,並進行進階程式設計之演練。程式類型以 C++ 語言為主。 |
| ◎教學進度: |
| 週次 | 主題 | 教學內容 | 教學方法 |
01
| Course Introduction | 課程大綱
課程評分
物件導向設計開發環境介紹
線上程式設計檢測平台介紹 (CMS) | 講授。 |
02
| Classes | Introduction
Classes, Objects, Member Functions and Data Members
Case Studies | 講授。 |
03
| Classes | Destructors
Case Studies | 講授。 |
04
| Classes: A Deeper Look | const Objects and const Member Functions
friend Functions and friend Classes
this Pointer
static Class Members
Data Abstraction and Information Hiding | 講授。 |
05
| Operator Overloading | Fundamentals of Operator Overloading
Overloading Stream Insertion and Stream Extraction Operators
Case Studies | 講授。 |
06
| Operator Overloading | Overloading Unary Operators
Overloading Binary Operators
Overloading ++/--
Case Studies | 講授。 |
07
| Object-Oriented Programming - Inheritance | Overloading
Operator Overloading
Function Overloading
Case Studies | 講授。 |
08
| Midterm | Midterm | Midterm。 |
09
| Object-Oriented Programming - Inheritance | Base Class and Derived Class
protected Members
Relationship Between Base Classes and Deived Classes
Case Studies | 講授。 |
10
| Object-Oriented Programming - Inheritance | Constructors and Destructors in Derived Classes
public, protected, and private Inheritance
Case Studies | 講授。 |
11
| Object-Oriented Programming - Polymorphism | Polymorphism Examples
Case Studies | 講授。 |
12
| Object-Oriented Programming - Polymorphism | Abstract Classes and Pure Virtual Functions
Case Studies | 講授。 |
13
| Templates | Function Templates
Class Templates
Case Studies | 講授。 |
14
| Exception Handling | Exception Handling Overview
Processing Unexpeced Exception
Case Studies | 講授。 |
15
| Standard Template Library (STL) | Doubly Linked Lists
Circular Linked Lists
Case Studies | 講授。 |
16
| Final Exam | Final Exam | Final Exam。 |
17
| Alternative Learning | Searching and Sorting | 講授。 |
18
| Alternative Learning | Data Structures- Linked List, Stacks, Queues, Trees | 講授。 |
◎課程要求: 本課程除了上課講解之外,需要課堂程式實作練習以及作業練習。學期中會有多次小考以及期中、期末考。考試方式分成筆試及上機兩種。務使學生了解觀念,並具備足夠的物件導向程式的實作能力。
本課程搭配實作課程-物件導向程式設計實作,有修讀本課程請務必加選物件導向程式設計實作(選修 1 學分) |
◎成績考核 課堂參與討論10% : 課堂點名與課程互動 小考30% : 含課後作業、課內(分組)作業(報告)、上機考 期中考25% : 期中考 期末考30% : 期末考 課堂其他表現 5% |
◎參考書目與學習資源 Textbook:
D. Dale, C. Wees, & T. Richards, Programming and Problem Solving with C++ (7th Edition), Jones & Bartlett Learning, 2023 (開發代理)
References:
P. Deitel & H. Deitel, C++ How to Program (10th), Pesrson Global Edition (開發代理) [2022 TextBook]
1.D.S. Malik, C++ Programming from problem analysis to program design, ISBN:9789814792042
2.Savitch : Problem Solving with C++ 10/e
3.DALE、WEEMS、RICHARDS:C++ PLUS DATA STRUCTURES 6/E
4.Savitch:Absolute C++ 6E, Addison Wesley
5.Dale and Weems: Programming and problem solving with C++, 6E
6.T. Gaddis, J. Walters, G. Muganda, Starting out with C++ Early Objects 9E, Pearson. |
| ◎教材講義 請改以帳號登入校務系統選擇全校課程查詢方能查看教材講義 |