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