This book is for anyone who wants to learn computer programming and knows absolutely nothing about it. Of course, if you are wondering whether this book is going to teach you how to create amazing websites or incredible applications, the answer is “no”—that is a job for other books. So many books out there can teach you those skills in Visual Basic, C#, or Java. Many of them even claim that they can teach you in 24 hours! Don’t laugh! They probably can do that, but all of them take one thing for granted—that the reader knows some basics about computer programming. None of those books, unfortunately, bothers to teach you the first thing that a novice programmer needs to learn, which is “Algorithmic Thinking.”
Algorithmic Thinking involves more than just learning code. It is a problem solving process that involves learning how to code. With 800 pages, and containing more than 300 solved and 400 unsolved exercises, over 450 true/false, 150 multiple choice, and 180 review questions (the solutions and the answers to which can be found on the Internet), this book is ideal for students, teachers, professors, novices or average programmers, or for anyone who wants to start learning or teaching computer programming using the proper conventions and techniques.
Some useful links:
- Book’s Table of Contents
- Errata List (Updated on September 27, 2018)
- The answers to the review questions and the solutions to the review exercises (Updated on September 27, 2018).
- The solved exercises (Visual Studio projects – Updated on September 27, 2018).
- Report Errata
J. W. W.
Clear and Useful for beginner and advanced.
This book provides a clear and organized teaching method that respects the fact that the reader is a beginner, yet shows great respect for the reader’s intelligence. The basics of Visual Basic programming is presented in a detailed manner which is usable for the beginner; yet at the same time the book provides practical guidance on the use of Visual Studio, which is software for the creation of Visual Basic programs. The book is reasonably priced; Visual Studio is a free download from Microsoft. After each Chapter practical application is taught by the use of exercises, and the answers to each exercise are available in a separate free download. It is recommended that the answers be downloaded, but not examined, before each chapter is completed. That way, the answers are available immediately for feedback.
The book presents increasingly challenging material at a reasonable pace, with plenty of clear examples and opportunities to exercise each new learning module. The book not only teaches Visual Basic programming, and the use of Visual Studio software (the technical term for software like Visual Studio in computer talk is Integrated Development Environment or “IDE”; while it’s fun to do tech-talk, be prepared for lots of new terms), but also teaches “Algorithmic” thinking. Don’t be deterred by another new term like “algorithmic.” Algorithmic thinking is step-by-step problem-solving method that employs the same logic we use for all good thinking. Yet, as our skills in algorithmic thinking increase, thinking not only becomes more clear, but becomes more comprehensive. The opportunities in life to use algorithmic thinking for simple and complex problem solving are endless. Not to mention, the job opportunities for those who can program with the use of detailed and comprehensive algorithms are limitless.
As you progress through each clear and reasonably brief chapter of the book, you surprise yourself that you are not only learning programming, but you are learning to think more clearly about increasingly complex subjects. If you continue with Visual Basic programming you may even be able to modify Microsoft Office programs (macros) to suit your particular needs. And as many courses in programming tell us, once you learn one programming language like Visual Basic, it becomes much easier to learn others which may be more powerful.
The author is quickly and easily available by email to answer specific questions and provide support. In addition, he and his co-author have a series of books on other programming languages and how to employ algorithmic thinking in each of them.
The best part of this book is not just its clarity and powerful detail, but that it doubles as a workbook. If you print out the answers to each exercise for each chapter ahead of time, you can cut them to the same size as the pages of the book, insert them after each chapter, and you have a total workbook to carry around and work on for a while whenever you have a chance.
It is rare to see authors in the computer sciences who respect our intelligence yet provide clear and useable steps. The book almost totally free of arcane jargon, yet introduces us to the special vocabulary of the computer sciences and beginning programming. This book is a piece of cake for beginners, and excellent way for an advance programmer to learn a new language.