Prelude

Another programming book again? Yes. But this one is written for the purpose to teach Information System, specifically for our student at Institut Teknologi Kalimantan. Before the publication of this book, we are still using old method on teaching structured programming language. We were using C++ with the intention to teach the concept of programming with the goal to help them to be a better programmer. Actually, we overlooked that our students need something more practical and efficient for helping them building something in the web or mobile device. Of course learning C++ is important, but it is not so trivial how to apply it to web programming. Due to the reason, we pick the JavaScript programming as our language for understanding structured programming. This book is not so different when our students learning programming in the first semester with Python. Even the both programming languages are not so different in some basic concepts, they are actually have their caveats and many little tricks. In the future, we have a mission to cover all of programming languages for the web that have been used extensively in the IT industry.

This book is mostly inspired by David Flanagan's book: JavaScript Definitive Guide. We can say that this book is very terse and hard to read but in the end it is very rewarding. We simplify many things and add some additional notes and structured examples so that our students can follow it with ease.

We are also inspired by the Eloquent JavaScript by Marijn Haverbeke. This book shapes me to find out a practical example to think about subtle concepts of asynchronous. Thanks to the auhtor for his example of crow communication.

Intended reader

The book is written with the mindset that will be read by Information Systems students. This book mostly focus on the practical aspect without neglecting too much the fundamental concepts for understanding the basic JavaScript program. Most of our students who take the course can build an interesting simple app in web browser. In this book we will game using sprite and animation in web browser

How to read (and code)

Coding is a physical activity that combines our brain and muscle. To acquire that skill, we have to practice by typing the code into web/node.js console or by a .js. After that we have to experience the debuggin process even though it is only a minor mistake by mistyping the characters or syntax. Understanding the flow of the program that we write is crucial. Then we can explore more by asking several questions and possibilies "what will happen if I change this part".

More description how to setup the system explains in depth in the following chapter.

Colophon

The cover image is downloaded from @jemberlandshape. This image is the historical landmark of Jember Regency, Regentschap Water Leiding Bedrijf te Djember. A water tower that had been built by the Dutch during its occupation in Indonesia.