Foundations First: Improving C’s Viability in Introductory Programming Courses with the Debugging C CompilerIn-PersonGlobal
This paper presents The Debugging C Compiler (DCC), a system that composes a suite of compilers with static and dynamic analysis tools to support introductory C programming students. Using C in our introductory computing courses exposes students to low-level mechanics of the operating system, such as pointers and manual memory management — concepts critical in establishing a solid foundation of computing. Unlike typical C implementations, DCC provides programmers with enhanced, approachable run- and compile-time checking and messages. DCC clarifies C’s cryptic operating system errors such as segmentation faults and alleviates the need for students to analyse memory dumps and tackle undefined behaviours. This paper describes DCC’s implementation and features and measures the tool’s efficacy in aiding novice C programmers. We further present our deep reflections on how DCC has successfully allowed us to use C in our large introductory programming courses, with an estimated five million compilations to date. Our research also outlines avenues for future work, which we hope will support others in delivering a foundations-first approach to introductory programming.
Thu 16 MarDisplayed time zone: Eastern Time (US & Canada) change
13:45 - 15:00 | |||
13:45 25mPaper | Experiences Teaching Coral Before C++ in CS1In-Person Papers Frank Vahid UC Riverside / zyBooks, Kelly Downey UC Riverside, Lizbeth Areizaga University of California, Riverside, Ashley Pang UC Riverside DOI | ||
14:10 25mPaper | Foundations First: Improving C’s Viability in Introductory Programming Courses with the Debugging C CompilerIn-PersonGlobal Papers Andrew Taylor University of New South Wales, Sydney, Jake Renzella University of New South Wales, Sydney, Alexandra Vassar University of New South Wales, Sydney DOI | ||
14:35 25mPaper | Putting a Context in Context: Investigating the Context of Pencil Puzzles in Multiple Academic EnvironmentsIn-Person Papers Zack Butler Rochester Institute of Technology, Ivona Bezakova Rochester Institute of Technology, Angelina Brilliantova Rochester Institute of Technology (RIT) DOI |