程式設計為大學部重要的課程,土木系與資工系對於程式設計有不同的訓練需求,土木系較重視學生能應用邏輯觀念透過程式語言解決工程問題;資工系較重視學生對於基礎演算法與資料結構的認識與運用。故在土木系教導工程程式設計課程時,除介紹程式語言機制外,也須複習相關數理邏輯知識,以讓學生綜合運用。此外,研究顯示學習程式語言最佳作法為讓學生直接上機練習撰寫程式,透過大量考試練習將能提升學生的學習成效,另必須時常變換試題題目以避免學生抄襲。但因目前虛擬學習環境(Virtual Learning Environment, VLE)無此功能,是故,如何能設計一個線上考試平台滿足上述需求,便為一重要課題。 經由Web Ontology Language(OWL)建立的本體,包括了個體、性質及類別三項組件。藉由組件之間的關聯性與性質,可以表達複雜的領域觀念。本體論也提供了推論的功能,可以自動驗證模型的一致性、並且進行分類。因此,本體論在本研究中,建立了一個本體論模型,以捕捉C++的領域知識。本研究中將運用此模型,組合相關的觀念結合以形成新的題目,藉此使線上考試平台中的題目能有動態變化,既產生大量題目,也防止學生間互相抄襲。 As the programming competence has become one of the most fundamental skills for civil engineers, undergraduate students in many universities and colleges are now required to take a programming language course such as C++ or Java. Researchers have pointed out that the best way to expedite the learning process for students taking the programming language course is to ask them to write codes by themselves. However, plagiarism always exists among students’ source codes and the course instructor does not have an effective means to verify whether a student truly understand the programming concepts or not. Use of the ontology for the programming language concepts may help resolve the above problem. In fact, the interaction between the instructor and the students is a knowledge exchange process. In the Web Ontology Language (OWL) definition, the ontology consists of three components: individuals, properties, and classes. The relationships of these components and the characteristics of properties make the ontology be able to represent complicated concepts. The ontology also includes a reasoning mechanism which can automatically verify the rationality and consistency of the model and do the classification. This study constructs an ontology model to capture the concepts of the C++ programming language. With the ontology model, similar concepts of the programming language could be combined together by the OWL reasoner to generate a new question. This model can assist in creating an online exam platform that can contain a large number of question templates and generate a question dynamically. Preventing plagiarism can also be achieved by generating a unique set of questions for each student, i.e., changing the parameters or other status of a question. The instructor can concentrate more on the learning process of a student, while students’ real learning performances can be evaluated by using this online exam platform.