An Introduction to the C Programming Language and Software Design

by | Apr 19, 2017 | Programming | 0 comments

This textbook began as a set of lecture notes for a first-year undergraduate software engineering course in 2003. The course was run over a 13-week semester with two lectures a week. The intention of this text is to cover topics on the C programming language and introductory software design in sequence as a 20 lecture course, with the material in Chapters 2, 7, 8, 11, and 13 well served by two lectures apiece.

Ample cross-referencing and indexing is provided to make the text a servicable reference, but more complete works are recommended. In particular, for the practicing programmer, the best available tutorial and reference is Kernighan and Ritchie [KR88] and the best in-depth reference is Harbison and Steele [HS95, HS02]. The influence of these two works on this text is readily apparent throughout.

What sets this book apart from most introductory C-programming texts is its strong emphasis on software design. Like other texts, it presents the core language syntax and semantics, but it also addresses aspects of program composition. It also shows how to design for errors using assert() and exit(). Chapter 6 introduces the basics of the software design process’from the requirements and specification, to top-down and bottom-up design, to writing actual code. Chapter 14 shows how to write generic software (i.e., code designed to work with a variety of different data types).

An Introduction to the C Programming Language and Software Design

by Tim Bailey (PDF) – 153 pages, 950KB

An Introduction to the C Programming Language and Software Design by Tim Bailey

Related Posts

42 Free and Paid Programming Resources to Learn Web Development

42 Free and Paid Programming Resources to Learn Web Development

Any serious developer will need to learn how to program in order to really understand what is going on behind the curtain, or if you are curious to wonder about or query how your favorite program works. This is where programming tutorials come in. The following are 42 Free and Paid Programming Resources to Learn Web Development, covering 3 different levels – beginner, intermediate and expert resources.

40 Best Free CSS Learning Resources

40 Best Free CSS Learning Resources

If you are one of the people who love to design using CSS, there are actually thousands of learning resources which you can try out. This post will cover 40 of the best CSS learning resources, covering fundamental concepts, units, selectors, custom properties, animation and many more.

92 Markdown Editors and Tools for All Your Writing Needs

92 Markdown Editors and Tools for All Your Writing Needs

The basics of Markdown are easy to learn, and it can quickly become second nature. We’ve compiled 92 Markdown softwares, editors, tools and resources available that are worth using in a wide variety of scenarios. You’ll also find tutorials and libraries to get your started in no time. Happy writing and programming!