More About the Book

The book "Programming Basics with C#" has a long story behind, involving many contributors, developers and trainers, who share their knowledge and skills to teach the new generation how to program.

Video: Book Authors and Contributors

Watch a video lesson about the trainers and contributors who developed this book and video course here:

The History Behind This Book

The head of the project for the free programming books for beginners with open-source code is Dr. Svetlin Nakov. He is the main author and also the ideologist of the Software Developer programs’ learning content.

Everything started with the mass free basic programming courses that have been conducted in Bulgaria since 2014, when the "SoftUni" initiative was launched. At the beginning these courses had larger range and covered more theory, but in 2016 Dr. Svetlin Nakov completely revised, updated and simplified the whole method of teaching, strongly emphasizing on practice. This is how the core of the learning content of this book was created. It was completely natural to write a book for the tens of thousands of participants at the SoftUni basic programming course.

Following the principle of free software and free knowledge, Svetlin Nakov and a team of volunteers started this open-source project with the initial idea of writing a free book about the basics of programming with C#. Soon after, they created similar books for beginners with other programming languages (like Java, JavaScript, and Python).

The book was initially written in Bulgarian in 2017 and later translated into English in 2019.

The project is part of the hard work of the Software University Foundation to create and distribute an open learning content to teach software engineers and IT professionals.

Authors Team

This book is developed by a broad author's team of volunteers who dedicated their time to give away the systematized knowledge and guide you at the start of programming. Below is a list of all authors and editors (in alphabetical order):

Aleksander Krastev, Aleksander Lazarov, Angel Dimitriev, Daniel Tsvetkov, Dimitar Tatarski, Dimo Dimov, Diyan Tonchev, Elena Rogleva, Hristiyan Hristov, Hristo Hristov, Iskra Nikolova, Ivelin Kirilov, Julieta Atanasova, Kalin Primov, Kristiyan Pamidov, Luboslav Lubenov, Nikolay Bankin, Nikolay Dimov, Pavlin Petkov, Petar Ivanov, Preslav Mihaylov, Rositsa Nenova, Ruslan Filipov, Stefka Vasileva, Svetlin Nakov, Teodor Kurtev, Tonyo Zhelev, Tsvetan Iliev, Vasko Viktorov, Ventsislav Petrov, Yulian Linev, Zahariya Pehlivanova, Zhivko Nedyalkov

Book cover design: Marina Shideroff.

Translators Team

  • English translation lead and editor: Nelly Karaivanova.
  • Translators: Bilyana Borislavova, Kalina Milanova, Karina Cholakova, Marieta Petrova, Mirela Damyanova, Petko Dyankov.

Video Lessons Team

The video lessons for this book were recorded by:

Svetlin Nakov, Preslav Mihaylov

Dr. Svetlin Nakov – The Leading Author

The entire project for creating this book, videos and teaching curriculum for beginners in programming is driven by Svetlin Nakov who inspired the other contributors to join this project and share their knowledge and skills.

Dr. Svetlin Nakov ( is a passionate software engineer, inspirational technical trainer and tech entrepreneur from Bulgaria, experienced in broad range of languages, software technologies and platforms. He is co-founder of several highly successful tech startups and non-profit organizations. Svetlin is training, innovation and inspiration leader at SoftUni – the largest tech education provider in South-Eastern Europe.

Svetlin Nakov has 20+ years of technical background as software engineer, software project manager, consultant, trainer and entrepreneur with rich experience with .NET, Java EE, information systems, databases, cryptography and software security, Web development, JavaScript, PHP, Python and software engineering. He is the leading author of 15 books on computer programming, software technologies, cryptography, C#, Java, JavaScript, Python 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 lecturer / trainer in Sofia University (Bulgaria), New Bulgarian University (Bulgaria), the Technical University of Sofia (Bulgaria), Ngee Ann Polytechnic (Singapore), Kingsland University (USA) and few others.

Currently Svetlin Nakov together with his partners drive the global expansion of the largest training center for software engineers in the South-Eastern Europe and the region – the Software University, where he inspires and teaches hundreds of thousands of young people in computer science, software development, information technologies and digital skills, and gives them a profession and a job.

Official Book Web Site

The book Programming Basics with C# is available for free at the following web address:

This is the official book site and any new version will be uploaded there. The book is mirrored in the other programming languages mentioned on the website.

The Book in Other Programming Languages: Java, JavaScript, Python, C++

This book on programming for beginners is available in several programming languages (or is in the process of being adapted for them):

If you prefer a different language, select it from the list above.

Video Course "Comprehensive Introduction to Programming with C#" in Udemy

To reach more readers, the book authors recorded a 22-hours video course in Udemy, which achieved tens of thousands of enrollments from 100+ countries:

Udemy: Comprehensive Introduction to Programming with C#

This book is an official textbook for this Udemy course and serves as detailed tutorial, extending the course content with additional topics and more detailed explanations.

License and Distribution

The book is distributed freely in electronic format under an open license CC-BY-SA.

The book is published and distributed on paper by SoftUni and you can buy a hard copy from online bookstores like Amazon.

The source code of the book can be found in GitHub:

International Standard Book Number (ISBN): 978-619-00-0902-3.

The Book That Helps Teachers

If you are a teacher of programming, informatics, or information technology or want to teach programming, this book gives you more than a well-structured learning material with many examples and tasks. Free of charge with the book you receive quality educational content for teaching in school, in the Bulgarian language, by the school requirements:

  • Educational presentations (PowerPoint slides) for each learning topic tailored to 45-minute hours in schools – free of charge.
  • Well-designed tasks for class and homework, with detailed conditions and sample entrance and exit – free of charge.
  • An automated task and homework verification system (Online Judge System) to be used by students, also free of charge.
  • Video lessons with methodological instructions from the free course for programming teachers, which is held regularly by the SoftUni Foundation.

Official Facebook Page of the Book

The book has an official Facebook page where you can track the news about the book series "Programming Basics", new releases, events and initiatives:

Discussion Forum for Your Questions

Ask your questions about basic programming book at the SoftUni's Facebook page or in the official SoftUni discussion forum:

In these discussion channels you will get proper response to any question associated with the content of this book also any other questions about programming. The SoftUni community is so big that you will get a response within a few minutes. SoftUni’s mentors also respond to questions. Note that you should post in English on both Facebook and Reddit and that you will receive answers also in English.

If you do have a specific question, for example if you spend many hours on certain piece of code and it doesn't work correctly, you can always ask in the subreddit.

Reporting Bugs

If you find defects, inaccuracies or bugs in the book, you can report them in the official bug tracker of the project:

We do not promise to fix everything you send us, but we do want to always improve the quality of the book, so the reported errors and reasonable suggestions will be reviewed.

results matching ""

    No results matching ""