Asee peer logo

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

Download Paper |

Conference

2024 ASEE Annual Conference & Exposition

Location

Portland, Oregon

Publication Date

June 23, 2024

Start Date

June 23, 2024

End Date

July 12, 2024

Conference Session

Programming Education 1

Tagged Division

Computers in Education Division (COED)

Permanent URL

https://peer.asee.org/48259

Request a correction

Paper Authors

biography

Jialiang Tan Lehigh University Orcid 16x16 orcid.org/0009-0006-4763-722X

visit author page

Dr. Jialiang Tan is a Teaching Assistant Professor in the Department of Computer Science and Engineering at Lehigh University. Her research lies in high-performance computing, program/software analysis, and CS education research.

visit author page

biography

Yu Chen Independent Researcher

visit author page

Dr. Yu Chen obtained his Ph.D. from the Department of Computer Science at William and Mary in 2023. His research lies in machine learning systems, with a focus on building profiling tools and performing system-algorithm co-design to optimize machine learning applications

visit author page

biography

Shuyin Jiao North Carolina State University

visit author page

Dr. Shuyin Jiao is an Assistant Teaching Professor in the Department of Computer Science at North Carolina State University. With a primary emphasis on computing education in college, she specializes in teaching introductory programming courses and critical path computer science courses. Her scholarly pursuits are centered on computing education and program analysis, with a dedication to fostering a dynamic and innovative learning environment in the field of computer science education.

visit author page

Download Paper |

Abstract

Integrated Development Environments (IDEs) play an important role in learning a programming language. IDEs offer programmers extensive development abilities. They understand language syntax and provide features such as build automation, code linting, testing, and debugging, which accelerate and simplify the coding process. Through the help of IDEs, students benefit from efficient programming, testing, and debugging. Students can further develop better coding habits and flatten the learning curve of a new language. As a result, more and more instructors start involving IDEs in introductory-level Python courses such as Atom, Jupyter Notebook, which significantly improve student's coding experiences.

However, not all IDEs are suitable for introductory-level courses. Choosing a satisfying IDE is difficult for instructors. On the one hand, professional IDEs support an integrated programming environment and many powerful features but with limited support for education. On the other hand, education-focused code editors are easily installed and manipulated, but they are rarely used during professional software development cycles. Students face a big gap when transiting from college to industry, which has some negative impacts on their future careers.

Thus, there is urgent to use an appropriate IDE for the introductory-level Python class, which not only provides enough education-related features but also is one of the mainstreams among professional software engineers. We aim to use an IDE that satisfies four features: 1) it is cross-platform supported; 2) it is easy to use, students can code effectively with a simple and concise interface; 3) it has extensive functionalities, e.g. code compilation, project organization, and multi-languages support, etc.; 4) it is mainstream among professional software engineers, which means the IDE is widely used in industry, bridging the gap between introductory-level class and future career.

Thus, we identify Microsoft Visual Studio Code (VS Code) as the desired IDE, which has all four aforementioned features. Moreover, VS Code has been adopted in many advanced courses in our department, such as operating systems, compiler constructions, computer networks, and many others. However, VS Code does not draw significant attention to CS1 courses. Furthermore, with our study of 20 computer science departments, none of them specify VS Code as the default IDE in the introductory Python courses. Moreover, there is no comprehensive guidance on VS Code for educators and students. Since students have various backgrounds, e.g. from diverse majors, with uneven learning speeds, or are familiar with different operating systems, comprehensive guidance is necessary to facilitate the efforts of both students and educators.

In this paper, we give the first experience report for the use of VS Code in CS1 Python course. We create the first comprehensive guidance of VS Code for both students and educators by gathering plugins for Python education and various user experiences. The guidance is highly modularized. Students who have programming experience jump to the sections they need to learn and skip the sections they already know; students who are beginner programmers follow the guidance step-by-step; students who come across errors target why errors occur and how to solve them. With the help of our guidance, students can quickly acquire the necessary knowledge of the programming environment in the class. We already integrate VS Code and our guidance into the introductory-level Python course in our department. We use a survey to evaluate the effectiveness of our efforts. From the survey, the students highly value the use of VS code and our guidance. Students with some industry internship experiences acknowledge the usefulness of learning Python with VS Code over other education-oriented IDEs, as VS Code is widely used in the industry.

Tan, J., & Chen, Y., & Jiao, S. (2024, June), Visual Studio Code in Introductory Computer Science Course: An Experience Report Paper presented at 2024 ASEE Annual Conference & Exposition, Portland, Oregon. https://peer.asee.org/48259

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2024 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015