物件導向程式設計
臺北科技大學 114-2 學期課程,課號 359701。
- 學期:114-2
- 授課教師:賴冠廷
- 學分:3
- 選修
- 上課時段:週三 8 節;週五 7、8 節
課程大綱
物件導向程式設計是一種以物件為中心的程式設計方法. 本課程以Java為主, C++為輔. 讓同學們從實做中學習物件導向的開發概念, 此外近年AI寫程式能力大幅進步, 課程上使用AI進行協同開發. 課程大綱包括: 1. 類別(Class)介紹, 2.物件導向與資料抽象化, 3.類別與方法, 4. .繼承, 5. 靜態與動態繫結, 6. 多型性, 7. Java開發環境及工具, 8. 各種設計模式介紹(Design Patterns), 9. 使用Java開發小遊戲, 10. 訓練AI玩遊戲 Class website: http://www.aiotlab.org/teaching/oop.html Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which usually defined as “class” in programming language like C++ and Java. In this class we will introduce the basic concepts of OOP, such as object, class, encapsulation, inheritance, and polymorphism. Java is the primary language used in the class, but we will also cover OOP in C++. We hope this class will help you understand OOP concepts as well as be ready for developing high-quality software.
課程進度
Concepts of Object-Oriented Programming (OOP) 1. Introduction to Object Oriented Programming Object, Class, Inheritance, Polymorphism 2. OOP in C++ 3. Java Basics and OOP in Java 4. NetBeans & Java Swing 5. Debugging & Unit Testing + GitHub 6. OOP Encapsulation 7. OOP Inheritance 8. Design Patterns I 9. Midterm * Final Project Proposal 9. Design Patterns II 10. Design Patterns III 11. Threading 12. Presentation of Final Project Proposal 13. Internet & Socket programming 14. Java Game Programming 15. Training AI model to play Tetris 16. Final Project Demo 17. Final Exam
評量方式
Homework (40%) Midterm & Final exam (40%) Final project (20%)
教材
【遵守智慧財產權觀念,請使用正版教科書,不得使用非法影印教科書】 使用外文原文書:是 Erich Gamma, John Vlissides, Richard Helm, Ralph Johnson, "Design Patterns: Elements of Reusable Object-Oriented Software," Addison Wesley, 1997 ISBN13 9780201633610 Stanford CS108 Object Oriented System Design http://web.stanford.edu/class/archive/cs/cs108/cs108.1092/