The main goal of this book is to teach fundamental programming principles to beginners using Julia, one of the fastest growing programming languages today. Julia can be classified as a "modern" language, possessing many features not available in more popular languages like C and Java.
The book is organized in 10 chapters. Chapter 1 gives an overview of the programming process. It shows how to write a first Julia program and introduces some of the basic building blocks needed to write programs. Chapter 2 is all about numbers—integers, floating-point, operators, expressions—how to work with them and how to print them. Chapter 3 shows how to write programs which can make decisions. It explains how to use if and if…else statements. Chapter 4 explains the notion of ‘looping’, implemented using for and while statements. It also explains how to read data from a file and write results to a file. Chapter 5 formally treats with functions, enabling a (large) program to be broken up into smaller manageable units which work together to solve a given problem. Chapter 6 is devoted to characters and strings. In Julia, we can work with them as seamlessly as we do with numbers. Chapter 7 tackles array processing, which is significantly easier in Julia than other languages. Chapter 8 is about sorting and searching techniques. Sorting puts data in an order that can be searched more quickly/easily, and makes it more palatable for human consumption. Chapter 9 introduces structures, enabling us to group data in a form that can be manipulated more easily as a unit. Chapter 10 deals with two useful data structures—dictionaries and sets. These enable us to solve certain kinds of problems more easily and conveniently than we can without them.
This book is intended for anyone who is learning programming for the first time. The presentation is based on the fact that many students (though not all) have difficulties in learning programming. To overcome this, the book uses an approach which provides clear examples, detailed explanations of very basic concepts and numerous interesting problems (not just artificial exercises whose only purpose is to illustrate some language feature).