Fundamentals of Computer Programming with C#
Subtitle: The Bulgarian C# Book
Publisher: Svetlin Nakov
Published: September, 2013
Place of publication: Sofia, Bulgaria
Language: eng
Format: paperback
Number of pages: 1132
ISBN-13: 9789544007737
Description: The free book "Fundamentals of Computer Programming with C#" (http://www.introprogramming.info) 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 comes with free video lessons, presentations, exercises and solutions.

This free programming tutorial 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 free 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.

This free programming book uses C# language and Visual Studio to illustrate the programming concepts and explains some C# / .NET specific technologies like lambda expressions, extension methods and LINQ. This free programming C# book is written by a team of developers lead by Svetlin Nakov (http://www.nakov.com) who has 20+ years practical software development experience and 10+ years as software development trainer.

This free book on fundamentals of programming teaches the major programming concepts and way of thinking needed to become a good software engineer and the C# language in the meantime. It is a great start for anyone who wants to become a skillful software engineer. The books does not teach technologies like databases, mobile and web development, but shows the true way to master the basics of programming regardless of the languages, technologies and tools. It is good for beginners and intermediate developers who want to put a solid base for a successful career in the software engineering industry. The book is accompanied by free video lessons, presentation slides and mind maps, as well as hundreds of exercises and live examples.

Download the free C# programming book, videos, presentations and other resources from http://introprogramming.info.

Tags: free, programming, book, computer programming, programming fundamentals, ebook, book programming, C#, CSharp, C# book, tutorial, C# tutorial; programming concepts, programming fundamentals, compiler, Visual Studio, .NET, .NET Framework, data types, variables, expressions, statements, console, conditional statements, control-flow logic, loops, arrays, numeral systems, methods, strings, text processing, StringBuilder, exceptions, exception handling, stack trace, streams, files, text files, linear data structures, list, linked list, stack, queue, tree, balanced tree, graph, depth-first search, DFS, breadth-first search, BFS, dictionaries, hash tables, associative arrays, sets, algorithms, sorting algorithm, searching algorithms, recursion, combinatorial algorithms, algorithm complexity, OOP, object-oriented programming, classes, objects, constructors, fields, properties, static members, abstraction, interfaces, encapsulation, inheritance, virtual methods, polymorphism, cohesion, coupling, enumerations, generics, namespaces, UML, design patterns, extension methods, annonymous types, lambda expressions, LINQ, code quality, high-quality code, high-quality classes, high-quality methods, code formatting, self-documenting code, code refactoring, problem solving, problem solving methodology
Table of contents: title: Preface; title: Chapter 1. Introduction to Programming; title: Chapter 2. Primitive Types and Variables; title: Chapter 3. Operators and Expressions; title: Chapter 4. Console Input and Output; title: Chapter 5. Conditional Statements; title: Chapter 6. Loops; title: Chapter 7. Arrays; title: Chapter 8. Numeral Systems; title: Chapter 9. Methods; title: Chapter 10. Recursion; title: Chapter 11. Creating and Using Objects; title: Chapter 12. Exception Handling; title: Chapter 13. Strings and Text Processing; title: Chapter 14. Defining Classes; title: Chapter 15. Text Files; title: Chapter 16. Linear Data Structures; title: Chapter 17. Trees and Graphs; title: Chapter 18. Dictionaries, Hash-Tables and Sets; title: Chapter 19. Data Structures and Algorithm Complexity; title: Chapter 20. Object-Oriented Programming Principles; title: Chapter 21. High-Quality Programming Code; title: Chapter 22. Lambda Expressions and LINQ; title: Chapter 23. Methodology of Problem Solving; title: Chapter 24. Sample Programming Exam – Topic #1; title: Chapter 25. Sample Programming Exam – Topic #2; title: Chapter 26. Sample Programming Exam – Topic #3; title: Conclusion