Asee peer logo

Survey of Tools and Settings for Introductory C Programming

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/48042

Request a correction

Paper Authors

biography

Sunjae Park Wentworth Institute of Technology Orcid 16x16 orcid.org/0000-0002-7320-005X

visit author page

Sunjae Park is an assistant professor in the School of Computing and Data Science at Wentworth Institute of Technology, an engineering-focused institution in Boston. He received his undergraduate degree in Electrical Engineering from Seoul National University, and received a masters degree and PhD from Georgia Institute of Technology. His research interests are in program analysis and computer science education.

visit author page

Download Paper |

Abstract

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.

Park, S. (2024, June), Survey of Tools and Settings for Introductory C Programming Paper presented at 2024 ASEE Annual Conference & Exposition, Portland, Oregon. https://peer.asee.org/48042

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