![](https://csdnimg.cn/release/download_crawler_static/10569950/bg14.jpg)
CHAPTER 1 ■ INTRODUCTION
2
Third, since I first began using C in 1977, I have gained a lot of commercial programming experience
with C that just might come in handy. My software company produced C compilers and other
development tools for the early PCs. Also, I wrote my first C programming text more than 30 years ago.
Still, the biggest advantage that has some worth to you is my teaching experience. Honestly, there are likely
thousands of programmers who can code circles around me. Indeed, one of my employees was such a
person. However, to be a good author, it matters little how good you are as a programmer or an engineer if
you cannot convey that experience to others. I have more than 30 years of university-level teaching
experience, and I know where you are most likely to stumble in our upcoming journey. The bad news is
that you will stumble along the way. The good news is that there have been thousands before you who
have stumbled on exactly the same concepts and I have managed to develop effective teaching methods to
overcome most (or all?) of them. I think you will find the book’s style both engaging and informative.
Finally, I genuinely enjoy programming with the C language. Of all the different languages I have used
since I first began programming in the late 1960s, C remains my favorite. It is a concise, yet powerful,
language well suited for microcontroller work. I think you’re going to like it, too.
This chapter details what you need to use this book effectively, including some comments about the
expectations I have about you. You will learn about some of the features that different Arduino-compatible
boards have, their approximate cost, and where they can be purchased. (Details about some suppliers can
be found in Appendix A.) Some suggestions are also made about some additional hardware items you may
wish to purchase. The chapter then tells you where and how to download and install the IDE for the
Arduino IDE. The chapter closes out with a short C program that tests that the IDE installation went as
expected. When you finish reading this chapter, you will have a good understanding of what you need to
use this book effectively.
Assumptions About You
Clearly, I’m targeting this book for a specific reader. In so doing, I have made certain assumptions about
that reader: I assume the reader knows absolutely nothing about C or programming in general. In fact, I
hope you don’t know anything. That way, you can start with a clean slate. Often, someone who knows
some programming aspects brings along a lot of bad habits or ill-conceived practices that need to be
“unlearned.” Starting off with no programming experience is, in this case, a very good thing.
I assume you know nothing about electronics. Admittedly, there are some hardware concepts used
throughout the book, but you will be taught what you need to know to make things function properly. If
you want to gain a deeper understanding of the electronics, I’d suggest finishing this text and then buying
one of the other Apress books that targets your specific hardware area of interest.
I assume you will do the exercises. This means you need to invest in a microcontroller and some
additional components. I’ve made every attempt to keep these component costs as inexpensive as
possible while still demonstrating the point at hand. Appendix A presents a list of vendors from whom you
can buy various components at reasonable cost. Failing that, almost all of the components can be bought
from a local Radio Shack outlet. Appendix B presents a list of the miscellaneous hardware components you
will need to complete all of the projects in this book. Obviously, some of these components can be ignored
if certain projects are not attempted.
I assume you don’t have to know C by this weekend. That is, I assume you will do the exercises and
take the time to study and understand the code in the examples. Learning C is a building process whereby
the concepts learned in the current chapter become a foundation for subsequent chapters. A crumbly
understanding of the concepts of one chapter will likely cause a collapse of that understanding in later
chapters. Take your time, pause and think about what you’re reading, and do the exercises. If you try to
take shortcuts and bypass the exercises, then your depth of knowledge will be less than it would be
otherwise. Take your time and enjoy the ride.