Thoughts on Software Engineering

Fundamentals of Programming with C#: Free Book, Videos, Presentations and Mind Maps

C# Programming Fundamentals Book (by Svetlin Nakov & Co.)After years of hard work the free book “Fundamentals of Computer Programming with C#” was finally published (in September 2013). The free C# book comes with free video lessons, presentation slides, mind maps, exercises, guidelines and exercise solutions to help learners to study the foundations of computer programming and trainers to teach newbies in programming, C#, data structures, algorithms, logical thinking and problem solving.

It was amazing project accomplished by my team of 80+ volunteer contributors (authors, editors, translators and many others). The book was originally written in Bulgarian language and based on the Java platform, later translated to C# and improved and finally translated to English.

C# Book – Free Programming Tutorial (Book + Videos)

The free C# programming book consists of 1122 pages: from basic concepts like variables, expressions, statements and loops to advanced topics like recursive algorithms, hash-tables, balanced trees and high-quality code.

The free book “Fundamentals of Computer Programming with C#” ( is a comprehensive computer programming tutorial that teaches programming, logical thinking, data structures and algorithms, practical problem solving and high-quality code construction with many examples in C#, exercise assignments and solution guidelines.

The C# book comes with free video lessons, presentations, mind maps, practical exercises and solutions. Learn programming by watching video lessons and practicing computer programming. This is an efficient modern approach to start learning software development.

Comprehensive Programming e-Book for Beginners, Intermediates and Experienced Developers

Intro C# Book by Nakov - free programming book, videos and slidesThis free book on fundamentals of programming teaches the major programming concepts and way of thinking needed to become a skillful software engineer and the C# language in the meantime. It is a strong start for anyone who wants to become a great developer. It teaches not just the programming language syntax, but how to design algorithms and solve practical problems.

The free programming book is good for beginners and intermediate-level developers who want to put a solid base for a successful career in the software engineering industry. Even experienced developers could fill their gaps in the fundamentals of programming, data structures, algorithms and high-quality code design.

Free C# Programming Book – Read Online

The free book on programming fundamentals (the Bulgarian C# book) covers the basic concepts of programming, the C# language, Visual Studio and basic APIs of the .NET Framework, object-oriented programming principles (OOP), as well as advanced topics like hash-tables, graphs and recursion.

The free programming book consists of 26 chapters for beginners, intermediate programmers and experts. Read online the free computer programming book by Svetlin Nakov and his team:

Read the free programming fundamentals book here: We are a non-commercial team, so no registration is required. Just read the C# book for free.

C# Videos – Free Programming Video Tutorial

The free programming fundamentals book is accompanied by 27 free video lessons on C# programming (42 hours), free C# presentation slides (27 PPTX presentations) and mind maps, as well as hundreds of exercises with solutions and live examples.

Free CSharp Programming Video Lessons

The free C# programming videos are a comprehensive video course on computer programming fundamentals and C# programming. Sites like PluralSight and provide paid C# video lessons. Why not learn C# and programming concepts for free? Just try. No registration, no email, nothing is required. We operate under a non-commercial project and thus every resource we build is free.

Technologies Covered in the C# Book

Intro C# Book - 3D CoverThe main book intent is to teach concept, not technologies. We teach you to think like a developer, to solve problems, to construct algorithms, to write solid code, to test efficiently, to think about the performance, choose the right data structures and algorithms, use the object-oriented principles correctly, to write high-quality classes and methods, use exception handling correctly, to process string text efficiently, to use recursion correctly, to use advanced data structures like self-balancing search trees, hash-tables and graphs to solve complex real-world problems, etc.

The books does not teach technologies like databases, web development, mobile applications and cloud computing but it reveals the true way to master the basics of programming regardless of the languages, technologies and tools. technologies change every day but the fundamental concepts of computer programming are nearly the same for the last 15 years. This book focus on these fundamentals: the core of computer programming which is a foundation for all software technologies, frameworks, languages and tools. Once you learn programming though this free C# book and video lessons, you can easily switch to other languages like Java, PHP, JavaScript, Python or Ruby. The important thing is to learn the way of thinking, problem solving approach and programming concepts. The rest is just a tool which changes over the time – languages, technologies, tools, etc.

C# Presentation Slides – Free C# Resources for Trainers

Free C# programming teaching resources by Svetlin NakovIf you are a trainer, speaker, university professor, school teacher or just a person who wants to teach others how to program, you have a great free resources to provide programming and C# lessons. The entire book content is presented in condensed form as free presentation slides (in PowerPoint format) and homework exercises ready-to-use by any trainer (non-commercially).

We provide for free, under the Creative Commons Open-Source License (CC-Attribution-NonCommercial-ShareAlike) all our C# programming presentation slides (PPTX presentations) + live demos, exercises and solution guidelines + reference videos.

Svetlin Nakov and other trainers teach C# and programming fundamentals for many years in his courses in Sofia University, Technical University of Sofia, New Bulgarian University, National Academy for Software Development, Telerik Software Academy and Software University, using the C# programming book and especially the presentation slides and live demos coming with the free C# book. Over 5000 students have passed live programming training (as of January 2014) using our C# programming trainer’s resources (C# slides, C# live demos, C# book and others).

C# Source Code Examples

The book is accompanied by free C# source code examples for each book chapter, ready to be opened in Visual Studio to simplify playing with the code. You may experiment how the code works, modify and play with it. It is highly recommended that you run the sample code while reading the book chapters and play with the code: try changing the code, try extending it, try breaking it, even rewriting it in a new fashion.

A piece of C# source code in Visual Studio

The source code examples illustrate the book content in practice. Most of the sample code comes with live video demonstration as part of our free C# programming video lessons distributed with the book.

Mind Maps of the Book and the Free C# Lessons

Do you use mind mapping? Mind maps are tools to improve your memory and learning by using diagrams to visually represent the most important information by using words with associations and images. To improve your learning process a team of volunteers created an interactive mind map on the C# programming fundamentals book that represents the entire book with ability to drill-down into its chapters and zoom-in / zoom-out over the information and its associations:

C# programming mind maps

You can read the book or watch the free video lessons and revise what you have learned from time to time through these mind maps and this will ensure better understanding, better memorization and more efficient learning process. Just try the C# book mind maps, it is free.

The Free C# Programming e-Book Comes in PDF, ePub, Kindle, DOC, DOCX, HTML and Other eBook Formats

The free book on fundamentals of computer programming and C# comes free in many modern e-book formats. The book was originally written in MS Word (in DOCX format). Later it was exported as PDF, which is the recommended format that opens on all modern large screens devices. Additionally the book was published as HTML to allow publishing it on the book’s official web site:

The free C# book in many ebook formats (PDF, DOCX, ePub, mobi)

A real challenge was to export the book in high-quality e-book formats like ePub and Mobi (Kindle). The high-quality export was done the following way: first the ePub format was exported from MS Word using Calibre. Then the epub file was manually edited and significantly improved in Sigil. The HTML and CSS behind the ePub archive was converted to modern HTML5 responsive layout and now the C# book epub opens correctly and with good quality at any screen resolution (from 320 x 200 to very large screens) in all modern e-book readers.

The Kindle version was really a pain. The mobi format used in Kindle devices is hard to be managed. As of October 2013 there is no mobi editor available anywhere. The book was converted from epub to mobi through Calibre and the results is acceptable quality Kindle ebook. Some tables, layout and source code are incorrectly formatted but this cannot be easily fixed. Sorry, Kindle readers, try the PDF version if your device can read PDF!

We highly recommend the PDF version of the free C# book because it is correctly formatted, opens everywhere and the links inside work correctly. The epub / mobi versions could display incorrectly portions of the text, images, tables and source code examples.

Download the free C# book in many formats from it web site:

C# Book Project Sponsors

The team behind this volunteer-driven open-course project wants to thank to the sponsors who helped this free C# book, video lessons and presentation slides to be published in English and distributed freely.

Initially Tеlеrik and Tеlеrik Sоftwаrе Аcаdеmу helped us with volunteers and internal resources, helped to attract authors and contributors and supported the publishing of the Bulgarian version of the C# book:

Tеlеrik Cоrp. Tеlеrik Sоftwаrе Аcаdеmу

Superhosting.BG provided a rock-solid hosting platform for our web site:


The Bulgarian Association of Software Developers (BASD) provided resources and volunteers to help us with this open-source project with significant social impact over the software development community:

Bulgarian Association of Software Developers (BASD)

The Software University Foundation helped us building the interactive web site of the entire book family (the Intro C# English book, the Intro C# Bulgarian book and the Intro Java book):

Software University Foundation

Amazon Kindle bookstore: The C# Programming Fundamentals Book by Svetlin Nakov & Co.

The Bulgarian C# Book in Amazon, Google and Other Bookstores

After its publishing the free book on programming fundamentals with C# was shipped to the biggest bookstores across the world. Where possible, the book was offered as free download. Some bookstores work with paid books only so we uploaded the book as paid entry with the link for free download in its description:

C# Programming eBook Mobile Apps

C# Programming Fundamentals for Android AppWe even created an Android mobile application for the free C# programming book: C# Programming Book for Android.

The Android app is designed to easily locate the C# book assets:

  • Read the book online
  • Watch the C# programming videos online
  • See the PowerPoint C# slides for each book chapter
  • Browse the C# book mind maps
  • Download the C# book in many formats (ePub, PDF, DOCX, …)
  • View the Bulgarian C# and the Bulgarian Java books online
  • Learn more about the book and its accompanying resources

C# Programming Book: The Paperback Edition

The “Fundamentals of Computer Programming with C#” book (English version) has been published in hardware form (as paperback) under the ISBN numbers: 978-954-400-773-7 (9789544007737) and 954-400-773-3 (9544007733). The book is sold as paper-copy (paperback) in the publisher’s online store which ships internationally. The price of the paper copy of the C# book is 6.56 EUR. The shipping for Bulgaria is 2 EUR but international shipping is more expensive then the printed book itself.

CSharp-Book-Order-Now-Banner Intro-CSharp-Book-Nakov-Paperback-Copies CSharp-Book-Order-Now-Banner

The Team Behind the Free C# Book Project

The C# Fundamentals book was an amazing project done by amazing team! More than 80 people contributed to this open-source / open-knowledge project: to build a high-quality book for programming beginners that lays the foundation for becoming a skillful software engineer.

Originally the programming fundamentals book was written in the period 2008-2009 in Bulgarian for the Java language and platform. The original team of Java authors, editors and contributors was the following (in alphabetical order): Boris Valkov, Danail Aleksiev, Hristo Todorov, Lachezar Bozhkov, Luchesar Cekov, Marin Georgiev, Mario Peshev, Mariyan Nenchev, Mihail Stoynov, Nikolay Nedyalkov, Nikolay Vasilev, Petar Velev, Radoslav Ivanov, Rumyana Topalska, Stefan Staev, Svetlin Nakov, Teodor Stoev, Veselin Kolev, Vladimir Tsanev and Yosif Yosifov. The team was lead by Svetlin Nakov who managed to motivate all the contributors to write their chapter of the book and to catch up with the deadlines.

Later, in the period 2009-2011 the Java fundamentals book was translated to C# (in Bulgarian language). In fact it was not just a direct translation, but the book was significantly revised and improved during its adoption to the C# language, the .NET platform and the Visual Studio IDE, even new chapters were written. The team was lead by Svetlin Nakov and Veselin Kolev who both put a lot of effort to guide the process and retain the high-quality of the content. The Bulgarian C# book was published in June 2011. The team of the Bulgarian C# authors, editors and contributors to the Bulgarian C# book project was the following (in alphabetical order): Dilyan Dimitrov, Doncho Minkov, Hristo Germanov, Iliyan Murdanliev, Marin Georgiev, Mihail Stoynov, Mihail Valkov, Mira Bivas, Nikolay Kostov, Nikolay Nedyalkov, Nikolay Vassilev, Pavel Donchev, Pavlina Hadjieva, Radoslav Ivanov, Radoslav Kirilov, Radoslav Todorov, Stanislav Zlatinov, Stefan Staev, Svetlin Nakov, Teodor Bozhikov, Teodor Stoev, Tsvyatko Konov, Vesselin Georgiev, Veselin Kolev, Yordan Pavlov and Yosif Yosifov (partially shown on the image below):

C# book authors

The English translation of the Bulgarian C# book started in January 2012. The project was organized and the team was lead by Svetlin Nakov. The book was split into 42 pieces (chapters and parts of chapters) and each piece was assigned to a different volunteer translator (mostly students from Telerik Software Academy). Some translators were doing well their jobs and was awarded additional pieces of the book to translate. Finally each chapter was reviewed by a different team member to clean-up the translation mistakes and laxities. After that a long period of detailed review was passed to ensure the highest book quality. Many people were involved. Svetlin Nakov put enourmous effort to clean-up the translation style, the book content and formatting. He also reviewed a few chapters and improved their content, rewrote a few examples, fixed hundreds of bugs and updated the content to C# 4.0 and .NET 4.5 and Visual Studio 2012. Many other people helped the English C# book to be prepared with high quality and to clean-up translation bugs (George Georgiev, Ivaylo kenov, Ina Dobrilova Aneliya Stoyanova, Hristo Radkov, and others). The project of C# book translation from Bulgarian to English took the period from January 2012 to September 2013.

A lot of work was put to develop the web site for the C# / Java / BG / EN books. It was joint contribution of many people, mainly Viktor Ivanov and Peter Nikov under the guidance the main driver of the project Svetlin Nakov. A nice contribution to the C# English book site was the interactive mind map created by a large group of Telerik Academy students and by Vladi Stanev who coded the UI in JavaScript.

The full change logs of the C# book development (for the Bulgarian and the English version) are available at the C# book project repository at Google Code:

Big Thank to All C# / Java Free Programming Book Contributors!

Thank you my team by Nakov (the # book team lead)Dear colleagues, big thank you! It was amazing project and it became reality due to all of you, who voluntarily worked on these free C# and Java programming books, who didn’t sleep to do their job, to catch the deadline. Big thanks to all these contributors (given in alphabetical order): Alexandra Mileva, Alon Rotem, Aneliya Stoyanova, Angel Angelov, Atanas Valchev, Blagovest Buyukliev, Boris Valkov, Boyan Dimitrov, Danail Aleksiev, Dilyan Dimitrov, Dimitar Bonev, Doncho Minkov, Doroteya Agayna, Dyanko Petkov, Franz Fischbach, George Halachev, George K. Georgiev, George S. Georgiev, Georgi Mitev, Georgi Todorov, Georgi Vaklinov, Hristo Germanov, Hristo Radkov, Hristo Todorov, Iliyan Murdanliev, Ina Dobrolova, Ivan Nenchovski, Ivaylo Dyankov, Ivaylo Gergov, Ivaylo Kenov, Jasmina Stoyanova, Kristian Dimitrov, Kristina Nikolova, Lachezar Bozhkov, Lachezar Tsekov, Lora Borisova, Marin Georgiev, Mario Peshev, Mariyan Nenchev, Martin Gebov, Martin Radev, Martin Yankov, Mihail Stoynov, Mihail Valkov, Mira Bivas, Momchil Rogelov, Nedjaty Mehmed, Nencho Nenchev, Nikolay Angelov, Nikolay Kostov, Nikolay Nedyalkov, Nikolay Vassilev, Pavel Benov, Pavel Donchev, Pavlina Hadjieva, Petar Velev, Peter Nikov, Radoslav Ivanov, Radoslav Kirilov, Radoslav Todorov, Rumyana Topalska, Stanislav Vladimirov, Stanislav Zlatinov, Stefan Staev, Svetlin Nakov, Teodor Bozhikov, Teodor Rusev, Teodor Stoev, Tihomir Iliev, Todor Mitev, Tsvyatko Konov, Vasya Stankova, Ventsi Shterev, Vesselin Georgiev, Vesselin Kolev, Vesselina Raikova, Viktor Ivanov, Vladimir Amiorkov, Vladimir Stanev, Vladimir Tsanev, Vladislav Karamfilov, Yoan Krumov, Yordan Pavlov, Yosif Yosifov, Zhelyazko Dimitrov. You are a great team, a real heroes!

Project Roadmap: What Comes Later?

Project Roadmap: Free C# and Java Programming Fundamentals BooksNo one knows what comes later! I am tired of working on this family of programming books. It took 6 years of hard work to build the Bulgarian Intro Java book, the Bulgarian Intro C# book and the English Intro C# book. I learned a lot on how to lead teams of volunteers, how split the work between the team members and how to define scope and deadlines, how to manage the risks, how to fix wrong work and missed deadlines. It was a great experience to work with 80+ volunteers over the years. Than you!

Possible next steps for this project could be the following:

  • Update the free Java book to the latest Java version (it was written in 2008 for Java 5)
  • Translate the free Bulgarian Intro Java book into English
  • Write a C++ version of the programming fundamentals book
  • Split the book into smaller pieces (1200+ pages is too big, right?)
  • Record Java video lessons following the book (in Bulgarian and English) and Java PowerPoint slides

I cannot guarantee anything of the above will ever happen, but I hope to find an energy and good teams of volunteers to move these projects forward again and give more and more for the developer’s community.

The C# Book Fan Club

Become a fan of the free C# / Java programming fundamentals books and help us to promote these books, video lessons and other great resources for programmers-beginners throughout the world.


C# book social share boxLet’s share, promote and recommend the C# Fundamentals book:

  • Vote +1 in Google+ for the C# / Java fundamentals free books web site.
  • Share this publication in your Facebook / Twitter / Google+ profile.
  • Write a blog post about the free C# fundamentals book and videos in your blog. You may find images and informational texts in the book’s SVN repository here.
  • Write a book review in Amazon / Google Books / Goodreads, …
  • Recommend to your friends the C# book and videos.

You may find the social share / like buttons at the top right corner of the book’s site home page.

The official Facebook page for the free C# fundamentals book is located at:

Happy reading, video watching, problem solving and playing with C# and Visual Studio with the “Fundamentals fo Computer Programming with C#” book.

Become a skillful software developer, start with the free C# book and videos.

Previews (311,524), Views (5,571), Comments (13)

13 Responses to “Fundamentals of Programming with C#: Free Book, Videos, Presentations and Mind Maps”

  1. Crazy says:

    Hey There. I found your blog the usage off msn. That is a very neatly written article.
    I will be shre to bookmark it and come bsck too read extra
    of your usefhl information. Thanks for tthe post. I will
    certainly return.

  2. good stuff says:

    On the other hand, the white wine is fermented after the
    skin has been removed. It’s odorless and taste and yet can be the most
    refreshing beverage during just about any time during the day.
    This is the reason why there are professionals in different fields to help you through.

  3. imgur says:

    It means that you get total discounts at the time of subscription. Figure out what
    it is you need and want and from there shop around to see what web hosts
    matches these expectations. These methods are extremely efficient, saving companies and employees time and money.

  4. web hosting says:

    If you are pretty new to this area, you can read some hosting related forums,
    because they ever follow the latest updates on hosting
    industry. There are a number of advantages
    of using c – Panel hosting service. If you are not too
    sure about which hosting platform to go for, Linux Web Hosting is the right solution for

  5. This piece of writing will assist the internet visitors for creating new
    blog or even a weblog from start to end.

  6. I am regular visitor, how are you everybody? This article posted at this web site is genuinely pleasant.

  7. porno says:

    Just desire to say your article is as astonishing.
    The clearness in your post is just nice and i can assume
    you’re an expert on this subject. Well with your permission let me to grab your RSS feed to keep up to date with forthcoming
    post. Thanks a million and please keep up the gratifying work.

  8. Usually I don’t learn article on blogs, however I wish to say that this
    write-up very forced me to try and do it! Your writing style has been surprised
    me. Thank you, quite great article.

  9. WOW just what I was looking for. Came here by searching for beach

  10. Good day I am so excited I found your weblog, I really found you by accident, while I was researching on Yahoo for something else, Nonetheless I am here now and would just like to say
    thanks for a incredible post and a all round thrilling
    blog (I also love the theme/design), I don’t have time to read it all at the moment but I have bookmarked it and also
    added in your RSS feeds, so when I have time I will be back to read more, Please do
    keep up the great jo.

  11. With their top selling products, people always be wary of their latest developments and releases just like the i – Pod, i – Phone,
    ipod itouch, i – Pad and Apple TV. This means that
    there are no restrictions to what you can put on it.

    1 can be apple added around 200 applications
    or possibly get access of the total number of the strategies.

  12. An impressive share! I’ve just forwarded this onto a co-worker who
    has been conducting a little research on this.
    And he in fact bought me breakfast simply because I discovered
    it for him… lol. So allow me to reword this…. Thank
    YOU for the meal!! But yeah, thanks for spending the time to discuss
    this topic here on your web page.

  13. drawonceaday says:

    I used to envy kids who had an old-fashioned Grandpa. Not any more. I’ve got a new ambition. Now I just want to become a modern-type Grandpa myself-and really start living.

RSS feed for comments on this post. TrackBack URL