This book is a comprehensive computer programming tutorial that teaches programming, logical thinking, data structures and algorithms, problem solving and high quality code with lots of examples in C#.
It starts with the first steps in programming and software development like variables, data types, conditional statements, loops and arrays and continues with other basic topics like methods, numeral systems, strings and string processing, exceptions, classes and objects.
After the basics this fundamental programming book enters into more advanced programming topics like recursion, data structures (lists, trees, hash-tables and graphs), high-quality code, unit testing and refactoring, object-oriented principles (inheritance, abstraction, encapsulation and polymorphism) and their implementation in the C# language.
It also covers fundamental topics that each good developer should know like algorithm design, complexity of algorithms and problem solving.
The book uses C# language and Visual Studio to illustrate the programming concepts and explains some C# and .NET specific technologies like lambda expressions, extension methods and LINQ.