Visual Studio Code in Introductory Computer Science Course: An Experience Report

Jialiang Tan,Yu Chen,Shuyin Jiao
2023-03-10
Abstract:Involving integrated development environments (IDEs) in introductory-level (CS1) programming courses is critical. However, it is difficult for instructors to find a suitable IDE that is beginner friendly and supports strong functionality. In this paper, we report the experience of using Visual Studio Code (VS Code) in a CS1 programming course. We describe our motivation for choosing VS Code and how we introduce it to students. We create comprehensive guidance with hierarchical indexing to help students with diverse programming backgrounds. We perform an experimental evaluation of students' programming experience of using VS Code and validate the VS Code together with guidance as a promising solution for CS1 programming courses.
Human-Computer Interaction,Programming Languages
What problem does this paper attempt to address?
The paper primarily explores the effectiveness and student experience of using Visual Studio Code (VS Code) as an Integrated Development Environment (IDE) in introductory computer science courses, particularly Python programming courses. The authors point out that choosing the right IDE for such courses is a challenge because it requires balancing ease of use with functionality. They argue that VS Code is an ideal choice and provide the following reasons: 1. **Cross-Platform Support**: VS Code can run on multiple operating systems, including macOS, Windows, and Linux, allowing all students to use the same interface for programming. 2. **Ease of Use**: VS Code features a clean user interface and powerful functionalities, such as workspace configuration settings and the command palette, which greatly simplify the programming process. 3. **Feature-Rich**: With a large number of extensions, VS Code can support multiple programming languages and offer advanced features like code autocompletion and debugging tools. 4. **High Industry Adoption**: VS Code is very popular among professional developers, meaning students will not face obstacles if they continue to use it after graduation. Additionally, the authors have developed a comprehensive set of instructional materials to help students from different backgrounds quickly master the use of VS Code. These instructional materials are highly modular and can be flexibly used according to the varying needs of students. Finally, through experimental evaluation and student feedback, the authors validated the effectiveness and value of VS Code and its accompanying instructional materials in introductory Python courses. The results show that most students are satisfied with VS Code and believe it helps improve programming efficiency and assignment performance. Overall, this study provides strong support for adopting VS Code in introductory computer science courses.