1012 (102/02-102/06) C++ 物件導向程式設計
課程要求

上課時間/地點: 星期二 09:20-12:05 / INS 105

實習時間/地點: 星期四 09:20-12:05 / INS 201, INS 203

Office Hour: 星期二, 三, 四, 五 12:00-13:00
(帶著你的程式碼來系館 512, 一定給你滿意的答覆)

線上聯絡方式: FB

email: pyting@mail.ntou.edu.tw

目前選課名單: (選修課程者除老師核准外請同時選修實習課程)

課程及實習助教:

組別
姓名
e-mail
Office
1
魏秉輝
10157010@ntou.edu.tw
INS 501
2
林昱彤
10157018@ntou.edu.tw
INS 501
3
陳致穎
10157038@ntou.edu.tw
INS 503
4
吳姝儀
10157009@ntou.edu.tw
INS 501

實習分組:

  1. 請同一組同學盡量幫忙同學解決遇見的問題

寒假建議閱讀書籍

教科書:

參考書目:

  1. C++ 程式語言基礎說明與範例:

    1. C++ 語言自學手冊, Herbert Schildt 著, 高明,林湘茗 譯, McGraw Hill, 1999/2。

    2. Visual C++ 精通物件觀念與技術, 高煥堂著, 物件導向雜誌社。

    3. C++ The Core Language, Satir & Brown, O'Reilly, 松崗

    4. Visual C++ 入門進階: 從 C++、物件導向到視窗程式設計, 位元文化編著, 文魁

    5. C++ 程式設計藝術, 劉國樑譯, Deitel 原著, 全華

    6. C++ How to Program, 3rd Ed., Deitel & Deitel, Prentice Hall, 2001, 全華

  2. 物件概念、模型、與 OOP (Object Oriented Programming):

    1. 學物件導向的第一本書, 河合招男著, 柯至杰譯, 博碩, 91/11。

    2. 物件導向程式設計與分析, Andrew Haigh 著, 鄭雯妮譯, McGraw Hill 91/07。

    3. 多型與虛擬, 侯俊傑著, 松崗。

    4. 深度探索 C++ 物件模型, 侯俊傑譯, 眳p。

    5. C++ FAQs, Marshall P. Cline and Greg A. Lomow, Addison Wesley, 華通, (網路版本為 C++ FAQ Lite (部份有中譯 http://www.cis.nctu.edu.tw/chinese/doc/research/c++/) (這一本是我建議可以買的書籍)

  3. 物件概念參考書:

    1. 世紀末軟體革命 (賀元/劉燈/賴明宗著), 資訊人出版社

    2. 世紀末軟體革命 2 (賀元/劉燈/賴明宗著), 資訊人出版社

  4. UML: Unified Modeling Language

    1. UML Distilled, Applying the Standard Object Modeling Language, Martin Fowler, (UML 精華:應用標準物件模式語言, 許銀雄譯, AW/松崗)

    2. 物件導向系統分析與設計, 使用 UML 與 C++, 周斯畏編著, 全華, 92/05, 九十年度非同步遠距教學1, 2

    3. 寫給 C++ 程式設計師的 UML 實務手冊, 邱郁惠著, 博碩, 96/12

    4. UML 理論與實作 --- 個案討論與經驗分享, 張裕益著, 博碩, 91/02

      980219

    5. UML 使用手冊, 張裕益譯, 博碩, 90/10

    6. UML tutorials

    7. Qoses UML tutorials, Qoses UML Diagrams

    8. UML dictionary

  5. 由軟體工程看 C++

      由 C 到 C++ 物件導向革命, 陳建維, 靖宇

  6. STL、泛型程式設計與 C++ 標準函式庫

    1. STL 入門指南, 郭柏宏, 松崗

    2. 泛型程式設計與STL, 黃俊堯/侯捷, 眳p

    3. C++設計新思維-泛型編程與設計範式之應用, 侯捷, 眳p

    4. C++標準程式庫, 侯捷/孟岩, 眳p

    5. STL源碼剖析--The Annotated STL Sources (Using SGI STL), 侯捷, 眳p

  7. Refactoring

    1. 重構--改善既有程式的設計, 侯捷/熊節, 眳p

    2. Java 重構, 結城浩, 博碩

    3. Refactoring, by Martin Fowler, AW

  8. Design Patterns

    1. Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm,Ralph Johnson, and John Vlissides, Addison Wesley, October 1994.

    2. Design Patterns 於 Java 語言上的實習應用, 結城浩著, 李于青譯, 博碩, 91/02

    3. Analysis Patterns: Reusable Object Models, by Martin Fowler, Addison Wesley, 1997.

    4. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, by Craig Larman, Prentice Hall, 1997.

    5. Online Design Pattern Resources

  9. 線上資料:

    1. DevCentral's Learning Center

    2. Peter Mueller's Tutorial

    3. Stroustrup's collections

    4. Bruce Eckel's Mind View Inc.

    5. C++ Resource Network

    6. Programming in C++ by Mike Ware

  10. 其他經典:

    1. C++ Primer, by Stanley B. Lippman, Josee Lajoie, Jose Lajoie, 1237 pages 3rd edition (April 1998) Addison-Wesley Pub Co; ISBN: 0-201-82470-1 (中譯 by 侯捷, 眳p, 1999)

    2. The ARM: The Annotated C++ Reference Manual. , by Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley, Reading, MA. 1990. ISBN 0-201-51459-1. 478 pages. Hardcover. (Often called "The ARM")

    3. The C++ Programming Language (3rd Ed., Addison-Wesley, ISBN 0-201-88954-4. 920 pages. 1997, Stroustrup (中譯 by 葉秉哲, 儒林, 1999/5)

  11. ANSI/C++
    other ftp site: ftp.maths.warwick.ac.uk:/pub/c++/std/cd2
    local html copy

必須先修之課程

課程要求與評分方式:

  1. class participation and office hour questions 10%

  2. in-class quiz's 10%

  3. programming assignments 40%

  4. midterm 20%

  5. Final 20%

課程大綱:

  1. introduction, why using C++, programming styles

  2. C++ as a better C

  3. better abstraction: class, objects, interface

  4. constructors, destructors

  5. advanced classes, reference, friend

  6. United Modelling Language (UML)

  7. basic object design / example

  8. overloading

  9. inheritance

  10. polymorphism(dynamic binding), virtual function, ABC, "old code call new code"

  11. virtual function table, proper inheritance

  12. dynamic typing, pseudo OO, generic container

  13. the Big Three

  14. resource management

  15. object states (part of the interface)

  16. exception, File I/O

  17. templates

  18. refactoring

C++ 物件導向程式設計課程 首頁

製作日期: 02/20/2013 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@mail.ntou.edu.tw TEL: 02 24622192x6615
海洋大學 電機資訊學院 資訊工程系 Lagoon

IV> >