A Programming Language Learning Service by Linking Stack Overflow with Textbooks

Jiawei Wu,Yanchun Sun,Jiaqi Zhang,Yuqi Zhou,Gang Huang
DOI: https://doi.org/10.1109/ICWS60048.2023.00043
2023-01-01
Abstract:Before software developers actually start coding, an essential requirement is to be proficient in a programming language. However, as an important learning resource, programming language textbooks usually contain much about syntax and semantics of a programming language, but little about pragmatics, which is highly relevant with practical skills in solving real-world problems using programming languages. This makes it difficult for learners to transfer knowledge from textbooks to practice.To solve this problem, this paper proposes a programming language learning service, utilizing abundant development knowledge in Stack Overflow (SO) Q&A posts as the pragmatics knowledge of programming languages to make up for the shortage of pragmatics knowledge in textbooks. To link SO Q&A posts with textbooks, this paper first proposes a deep learning classification model to recognize SO posts containing development knowledge. Second, to align filtered SO posts with programming language learning processes, this paper proposes a weakly supervised link approach to matching SO posts with chapters and sections of textbooks. The feature of weak supervision ensures that the approach can be easily extended to other textbooks. Based on these modules above, this paper implements the programming language learning service in the form of a Chrome plugin. We conduct experiments and user study. Their results demonstrate the effectiveness, scalability and stability of the service.
What problem does this paper attempt to address?