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 C#, 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 over 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.
- Amazon – PaperBack
- Kindle – Full Version
- Kindle – Part 1 of 5
- Kindle – Part 2 of 5
- Kindle – Part 3 of 5
- Kindle – Part 4 of 5
- Kindle – Part 5 of 5
- Kindle – Series Bundle
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
Useful introduction to Programming and C#
I have recently changed job roles and find that I now need to do the programming that before I left to others while I focused on design issues. It has been twenty years since my last required programming class on Fortran for my engineering degree. It is a bit daunting to start programming at this point in my career. In some ways I lucked out that the language of choice was C# as it lead me to this book. I picked up a couple of books on C# and I also tried the Microsoft Virtual Academy free course on C# by Bob Tabor. Ultimately the Why’s of what was being done were not addressed to my liking or in the case of MVA free course there wasn’t a problem set for me to learn through excersizes. This book is designed around C# but more importantly to introducing programming and explaining the how, what and why plus give the individual using the book an opportunity to try to code and learn by doing.
This book can be used in an introductory course as a very good subliment or can be use by someone trying to learn programming on their own. For someone like myself that is coming back to learn the language and syntax it didn’t feel slow because the basics of how to design code are emphasized. It is likely that a beginning programmer might finish this book and then redo it 6 months later and pick up on points they missed the first time through.
The best part is that there are problems to work on and solve. Some are done with you through the book and others are worked out and can be found at the author’s website so you can check your work. The book doesn’t introduce you to Microsoft Visual Studios Community Edition until Chapter 9, which probably makes sense from an introduction to programming standpoint, but if you have some familiarity with software, try working through the early chapters in Visual Studios, it is good practice and likely will reduce syntax mistakes if you start after chapter 9. Combined with Stackoverflow, Google and a bit of elbow grease this is a great primer. Compared to some other beginner books, what I found useful was the focus put into each chapter and that they are kept relatively short but there are plenty of problem sets to work out. I will still be a novice to programming when I finish this book, but I will feel comfortable trying to code and ultimately that will be the success that I can attribute to this book.
Good Solid Old School Learning Material
This book will teach you a solid grounding in programming using c#. It does not touch on objects, winforms or ASP.NET. 800 odd pages seems a lot to just teach programming, but the beauty is that you will be thinking like a programmer by the time you have finished this book. If you complete all of the exercises, c# will be rolling off your fingers. This is when you should tackle the tricky stuff. With a solid grounding in the basics, it will be comparatively easy. Too many begining books rush this stage and leave programmers still unable to think things through for themselves.
This book is written by a teacher and designed to help you learn rather than provide a glossary of the latest c# methods.
Very helpful for me as an educator