CM2005 : Object Oriented Programming

ULTSG_Banner.png

🔖 課前準備事項:

  • C++:
    • 這堂課以 C++為基礎語言,建議可以參考預習Cherno 或是CodeBeauty的 YT 來加強。
    • 關於 Pointer 的概念在後期的課程裡很重要,可以參考freeCodeCamp的 YT。
  • 指定課本: Beginning C++17 From Novice to Professional, Ivor Horton & Peter Van Weert (5th ed) *(2022.09)
  • 電腦環境需求: Windows/Mac/Linux 都可,關於環境設定上:
    • Windows: 期中前可以使用任何 IDE,期末用 Visual Studio 為主。
    • Mac: 可以從頭到尾使用 XCode。
    • Linux: 有設定上的困難度,請自行了解。
  • 其他工具準備: 無。

📓 課程攻略摘要:

  • 期中作業 Midterm:
    • Console Application:
      • 基本 Text & File I/O
      • Object-Oriented Programming
      • Error/Exception Handling
      • Algorithm implementation
    • 跟著課程交給你的概念以及實際動手 Coding 一遍,基本上期中作業的 Rubric 都可以達成。想拿高分的同學可以針對課堂中所學做功能上的延伸。
  • 期末作業 Final:
    • JUCE / DJ 音樂播放程式
      • GUI library
      • API 使用/應用
      • Inheritance Concept
      • Polymorphism
    • JUCE 的資源不多,需要花時間自行深入了解 API 的說明及 input/output 的資料型態去找出對應的使用方式,才可以全盤了解它的作用。
  • 其他考核作業: 無。

🤩 同學們的建議:

Chris: 這堂課雖然被普遍標定為”大魔王”,但我建議盡快拿下這堂課,原因一:OOP 的概念能夠幫助你將來理解多數程式的架構;原因二:我認為這堂課是 CS 中的一個分水嶺,它有讓你儘早了解自己對程式理解度的作用,進而加強自己。 [10/01/2022]

Cynthia: 這邊推薦兩個不同程度的同學可以拿來預習或加強的課程!從最基礎的開始的,以及如果你想用 C++一併學習 Algorithm 的。 [2022/03/30]