2024 ASEE Annual Conference & Exposition

Survey of Tools and Settings for Introductory C Programming

Presented at Programming Education 1

The C programming language is a language with a long history and used to write programs ranging from embedded device apps to operating systems. Although it's almost 40 years old, the language still regularly appears in the top programming languages in various programming language rankings. This means the language occupies an important part of many undergraduate engineering programs.

However, the language has many pitfalls that make it difficult for novices to learn. The language syntax is overly forgiving, accepting code that will be a compiler error in other languages. On the other hand, the language semantics is unforgiving, leading to security issues, crashes, or silent data corruption.

This paper surveys various tools and their settings that can ease the introduction. First, the paper introduces the development environment setup. Setting up a rich development and debugging environment for C can be complex, especially on Windows systems. Next, the paper surveys various compiler settings that are helpful for novice C programmers. There are around 200 compiler warning flags in the GCC compiler. Although most of these are useful, some of these warning flags are very aggressive and seems to confuse students. This paper reviews many of these and proposes a set that is most useful for students. Lastly, the paper surveys various C code analyzers and recommends those that are easiest to setup while still proving helpful. The recommendations in this paper has been tried and revised in the author's operating system course.

Authors
Download paper (1.71 MB)

Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.