2002/02-2002/06 C++ 程式設計課程要求

上課時間: 星期二 8:20-9:10, 星期三 10:20-12:05

上課地點: INS 105

Office Hour: 星期五 12:00-2:00 及其它星期一到星期五我沒課的時間 (帶著你的程式碼來, 一定給你滿意的答覆)

助教: 蘇子安 (Legend)

教科書:

參考書目:

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

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

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

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

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

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

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

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

    3. 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 tutorials

    2. Qoses UML tutorials, Qoses UML Diagrams

    3. UML dictionary

  5. 由軟體工程看 C++

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

  6. STL

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

  7. 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. Analysis Patterns: Reusable Object Models, by Martin Fowler, Addison Wesley, 1997.

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

    4. Online Design Pattern Resources

  8. 線上資料:

    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

  9. 其他經典:

    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)

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

必須先修之課程

課程要求:

  1. class participation and office hour 10%

  2. in-class quiz's 30%

  3. 4 programming assignments 40%

  4. 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. basic object design / example

  7. overloading

  8. inheritance

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

  10. virtual function table, proper inheritance

  11. dynamic typing, pseudo OO, generic container

  12. the Big Three

  13. resource management

  14. object states (part of the interface)

  15. exception, File I/O

  16. templates

  17. United Modelling Language (UML)

  18. refactoring

C++ 程式設計課程 首頁

製作日期: 2/20/2002 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@cs.ntou.edu.tw TEL: 02 24622192x6615
海洋大學 理工學院 資訊科學系