# Preface

Энэхүү ном нь уншигчдад анхан шатны түвшинд програмчлалын код бичих (кодлох үндсэн ур чадвар), хөгжлийн орчин (IDE) дээр ажиллах, хувьсагч болон өгөгдлийг ашиглах, оператор ба зэргийг танилцуулж байна. илэрхийлэл, консол-тай ажиллах (reading input data and printing output), usage of conditional statements (if, if-else, if-elif-else), loops (for, while) and working with functions (declaring and calling functions, passing parameters, and returning values). The book uses Python programming language and PyCharm** development environment. The covered training material provides basic preparation for a deeper study of programming.

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

The book is also used as an unofficial textbook for school-level programming courses in the high schools, studying professions like "Programmer", "Application Programmer" and "System Programmer".

## Who is This Book Intended for?

This book is suitable for complete beginners in programming, who want to find out what programming is and learn the main constructions for writing programming code that is used in software development. The book provides a solid basis of practical skills that are used for further study in programming and software development.

## Why Did We Choose The Python Language?

For this book, we chose Python, because it is a modern language for high-level programming and at the same time it is easy to learn and suitable for beginners. As a use Python is widespread, with a well-developed ecosystem, numerous libraries, and technological frameworks, and therefore gives many prospects for development. Python combines the paradigms of procedural, functional, and object-oriented programming in a modern way with easy-to-use syntax. In the book, we'll use the Python language and the PyCharm development environment, which is available for free from JetBrains.

As we will explain more about later, the programming language you start with does not make a significant difference in the process of learning to code, but you still need to choose one. For this book, we will focus specifically on Python.

## The Book in Other Programming Languages

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

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

If anyone thinks they're going to read a book and learn to program without writing a code and solve tasks hard, they're delusional. Programming is learned with many, many practices, with writing code every day and solving hundreds, even thousands of tasks, seriously and with perseverance, for years.

You need to solve a lot of problems, to make mistakes, to fix them, search for solutions and information on the Internet, to try, to experiment, to find better solutions, get used to the code, syntax, programming language, development environment, error search and debugging of non-working code, task reasoning, algorithmic thinking, breaking down problems in steps and implementing every step, gaining experience and improving your skills every day, because learning to write code is just the first step towards the profession of a software engineer. You have a lot to learn!

We advise the reader, as a minimum, to try all the examples from the book, to interact with them, to change and test them. Even more important than the examples are the exercises because they develop the practical skills of a developer.

Solve all the tasks in the book, because programming is learned by practice! The tasks after each topic are carefully selected to cover in-depth the included learning material. The purpose of solving all tasks from all the topics covered is to give complete writing skills to a program code at the beginners level (as is the purpose of this book).

 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!