# 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 the 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 values).

## Video: Book + Video Course Overview

Watch a video lesson about what shall we learn in this book + video course here: https://youtu.be/H6TWSOhav9I.

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.

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 must develop for years, in order to reach a high enough level and start working as a programmer.

This book is the official textbook for the free Programming Basics course for absolute beginners at the Software University (SoftUni).

The book is also used as unofficial textbook for school-level programming courses in the high schools, studying professions like "Programmer", "Application Programmer" and "System Programmer", as well as an additional teaching tool in the initial programming courses at the secondary schools, mathematical and professional high schools.

## Who Is This Book Intended For?

That book is suitable for absolute beginners in programming who want to try what programming is and learn the main constructions for writing 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 school students (of age 10+), 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 few 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.org.

## 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).

## Learning Resources: Code + Videos + Exercises + Judge

This free coding book combines video lessons, text and code examples with explanations, practical coding exercises with hints and guidelines, presentation slides and an automated judge system for checking your solutions.

It is more than a book or tutorial. It is a carefully designed tool for learning programming by a lot of practical coding, suitable for beginners with no experience.

## 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 lot of practice, with code writing every day and solving hundreds, even thousands of problems, seriously and persistently for years.

You need to solve a 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. This book provides nearly 150 practical coding exercises, so it is a good foundation for developing coding and algorithmic thinking 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. The 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!