TITLE:
Evolution of the Software Toolchain for Computer Science Students
AUTHORS:
Yusuf Pisan
KEYWORDS:
Computer Science Education, Introductory Programming, Automated Feedback Systems
JOURNAL NAME:
Creative Education,
Vol.15 No.6,
June
28,
2024
ABSTRACT: Introductory programming classes continue to be challenging for students. Early attempts in teaching introductory courses focused on teaching language syntax and expanding to procedures for organizing large programs. Later, the object-first approach gained popularity focusing on the object-oriented nature of modern programming languages. We advocate a toolchain-first approach to teaching programming where the tools used in writing, debugging, compiling, formatting, versioning and testing the code are given as much importance as the language being taught. We have successfully integrated industry standard tools into our introductory programming courses. The tools provide the scaffolding to students as they develop their code. By prioritizing tools and tool based help as an integral part of programming, we prepare students for more complex tools, such as LLM based AI companions, that will be used to produce software.