Interactive learning in C++

This paper presents the development of a web application for learning object-oriented programming (OOP) in C++, specifically designed for the Object-Oriented Programming and Design course at NTU. The aim of the application is to provide an interactive and engaging learning platform that addresses...

Full description

Saved in:
Bibliographic Details
Main Author: Zhu, Weiji
Other Authors: Li Fang
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2023
Subjects:
Online Access:https://hdl.handle.net/10356/166666
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:This paper presents the development of a web application for learning object-oriented programming (OOP) in C++, specifically designed for the Object-Oriented Programming and Design course at NTU. The aim of the application is to provide an interactive and engaging learning platform that addresses the limitations of existing online learning platforms and programming game platforms for coding. The paper outlines the analysis and design approach used in the development of the application. The paper discusses the application architecture, which follows a cloud-native architecture approach, and the architectural and component design of the application. The paper also presents an innovative approach to building familiarity with code via the application of the generative natural language model ChatGPT to generate coding prompts and score the code written by students in response to those prompts. This paper may be interesting to two audiences. The first audience comprises educators who are designing curricula for teaching programming languages or testing pedagogical hypotheses using analytics data. The second audience includes developers who are seeking to implement a scalable application for users to run and compile code. Overall, the paper contributes to the literature on online learning platforms for coding and provides insights on how to design effective learning platforms that cater to the needs of students in the field of programming.