The open-source book "Fundamentals of Computer Programming with C#" (download it from ) 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 video lessons, presentations, exercises and solutions.
This 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 open-source 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 open-source 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 open-source programming C# book is written by a team of developers lead by Svetlin Nakov () who has 20+ years practical software development experience and 10+ years as software development trainer.
This open-source 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 open-source C# programming book, videos, presentations and other resources from
Svetlin Nakov (https://nakov.com) has 20+ years of technical background as software engineer, software project manager, consultant, trainer and entrepreneur with rich experience with Web development, information systems, databases, blockchain, cryptography, .NET, Java EE, JavaScript, PHP, Python and software engineering. He is the leading author of 15 books on computer programming, software technologies, cryptography, C#, Java, JavaScript, Python, C++ and tens of technical and scientific publications. He is a big fan of knowledge sharing and is proud Wikipedia contributor, free books author and open-source supporter.
Svetlin has been a speaker at hundreds of conferences, seminars, meetups, courses and other trainings in the United States, Singapore, Germany, Egypt, Bulgaria and other locations. He holds a PhD degree in computer science (for his research on computational linguistics and machine learning), several medals from the International Informatics Olympiads (IOI) and the Bulgarian President’s award “John Atanasoff”. He has been a part-time assistant professor / visiting lecturer / technical trainer in Sofia University, New Bulgarian University, the Technical University of Sofia, Ngee Ann Polytechnic (Singapore) and few others.
Dr. Svetlin Nakov have spent his last 15 years in teaching software engineers: from basics of coding to advanced Web apps. He is proud to have tens of thousands graduates who got technical skills and joined the software industry.
In the last few years Svetlin Nakov together with his partners drive the global expansion of the largest training center for software engineers in Bulgaria and the region – the Software University (https://softuni.us), where he inspires and teaches hundred of thousands of young people in computer science, software development, information technologies and digital skills, and gives them a profession and a job.