What’s in This Book (And What’s Not)

This book is written first and foremost to provide beginners with challenging problems they might face when first learning to program. Therefore, most of the problems are relatively simple in the beginning and gradually get more complex. The progression of exercises in this book makes practicing the fundamentals of programming challenging but fun and can accelerate the process of picking up a new language. In the first section, the programs simply take some input and manipulate the data into different output, giving you experience with how computer programs handle input and output operations. They’re the kind of programs you’d do in your first week as a beginning programmer.

Next, you’ll be challenged by writing programs that have you do calculations. Some of them are as simple as calculating the area of a room. But others involve financial and medical calculations similar to ones you may find on the job.

Then you’ll increase the complexity of your programs by including decision logic and repetition logic, and you’ll incorporate functions into them.

After that you’ll find some problems that need to be solved using data structures like arrays and maps. These programs also require you to draw on some of the other problems you’ve solved before.

And, of course, no collection of programs would be complete without a bit of file input and output, so you’ll get to practice reading data from files, processing it, and writing it back out.

Modern programs often talk with external services, so you’ll find a few programs that have you work with data using third-party APIs.

Finally, a few larger programs at the end will require you to put together all the things you’ve learned.

In addition, each exercise includes some constraints that you’ll have to follow when building the program as well as some challenges that ask you to build on the program. If you’ve never programmed before, you may want to skip the challenges and revisit them when you improve your skills. But if you’ve got some experience under your belt, you may want to accept these challenges right away if you think the program is too simple. Some of the challenges will be difficult depending on the programming language you’ve chosen. For example, if you’re creating these programs with JavaScript and HTML, making a GUI version of the program will be easy. If you’re doing this with Java, it will be a lot more work. So feel free to modify the challenges as you see fit.

However, what you won’t find in this book are the solutions to the programs. If you think hard enough and use all of the resources at your disposal, you’ll be able to figure out how to solve these problems on your own, which is the point of this book.

One last thing: you won’t find the infamous interview questions here. There’s no FizzBuzz. You won’t need to invert binary trees, nor will you need to write a quicksort algorithm (unless you want to as part of a solution). If you’re looking for things like that, you’ll have to look elsewhere. Those kinds of problems have value but are often more difficult to do because it’s not clear why you’re doing them. That makes them unapproachable, which creates a barrier to learning.

The problems in this book are simple, real-world problems that you can easily relate to and that will help you practice solving problems with code.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.252.87