# Preface

The book "Programming Basics with C#" introduces the readers with writing programming code at a beginners level (basic coding skills), working with development environment (IDE), using variables and data, operators and expressions , working with console (reading input data and printing output), using conditional statements (if, if-else , switch-case), loops (for, while, do-while, foreach) and methods (declaring and calling methods, passing parameters, and returning value).

The programming language C# and the development environment Visual Studio are used. All examples are given in C#, which is a modern, general purpose programming language, a good choice for beginners.

This book is the official textbook for the free Programming Basics course for absolute beginners at the Software University (SoftUni): https://softuni.bg/courses/programming-basics.

The curriculum provides basic training for a deeper study of programming and prepares readers for the entrance exam in SoftUni.

 This book only gives you the first steps to programming. It covers very basic skills that you have to develop for years, in order to reach a high enough level and start working as a programmer

The book is also used as unofficial textbook for school programming courses in professional high schools, studying the professions "Programmer", "Application Programmer" and "System Programmer", as well as an additional training tool in the initial programming courses at secondary schools, mathematical and professional high schools in Bulgaria, with profile "Informatics and Information Technologies".

## Who Is This Book Intended For?

That book is suitable for any beginners in programming who want to try what programming is and learn the main constructions for creating programming code that are used in software development, regardless of the programming language and the technologies used. The book gives a solid basis of practical skills that you can use in any future training in programming and software development.

The free course for beginners in SoftUni is suitable for students (5th grade and up), university students and workers having any other professions, who want to gain technical knowledge and check if programming is what they like to do, and understand if they would like to develop in the software development field.

A new group starts each month. The "Programming Basics" course at SoftUni is organized regularly using a number of different programming languages as basis. So, just check it out! The course is free and you can quit any time you like. Signing up for free on-site or online training is available via the SoftUni application form: https://softuni.bg/apply.

## Why Did We Choose C#?

For this book, we choose the C# language because it is a modern programming language for high-level programming, open source, easy to learn and suitable for beginners. Using C# is widespread, with a well-developed ecosystem, numerous libraries and technology frameworks, and accordingly, it gives many perspectives for development. C# combines paradigms of procedural, object-oriented and functional programming in a modern way with easy syntax. In this book, we will use C# language and Visual Studio development environment, which are available for free from Microsoft.

As we will explain later, the programming language that we start with, does not make a significant difference, but we still need to use some programming language, and in this book we choose C# specifically. The book can also be found mirrored in other programming languages such as Java and JavaScript (see https://csharp-book.softuni.org).

## Programming Is Learned by a Lot of Writing, Not Reading!

If someone thinks they will read a book and learn to program without writing code and solving problems, this is definitely a delusion. Programming needs a lots of practice, with code writing every day and solving hundreds, even thousands of problems, seriously and persistently for years.

You need to solve а lot of problems, to make mistakes, to fix, to search for solutions and information from the Internet, to try, to experiment, to find better solutions, to get used to the code, syntax, the programming language, the development environment, to search for errors and debugging the broken code, the algorithmic thinking, breaking the problems into smaller parts, gaining experience and raising your skills every day, because when you learn to write code, this is only the first step to the profession of the "software engineer". You have a lot to learn, really!

We advise the reader, as a minimum, to try out all the examples from the book, to play with them, to change them and test them. Even more important than the examples are the exercises because they develop the programmer's practical skills.

You need to solve all the problems in the book because programming is learned with practice! The exercises after each topic are carefully selected to cover in depth the learning material. Тhe purpose of solving all the problems is to provide complete set of skills for writing programming code at a beginners level (which is the purpose of this book). During the courses in SoftUni we purposefully focus on practice and problem solving, and in most courses code writing occupies over 70% of the entire course.

 Solve all the exercises in the book. Otherwise you won't learn anything! Programming is learned by writing a lot of code and solving thousands of problems!