AWESOME CODING
Build Cool Stuff with JavaScript and Node.js
Learn coding with JavaScript and Node.js from scratch and work on practical projects, applicable and interesting projects.

Image Manipulation
Programmatically resize, color correct or modify images.
Web Scraping
Automate your interactions with the web. Programmatically scrape website data, take screenshots.
Command-Line Applications
Build programs that can be controlled from the command-line (terminal).
Natural Language Processing
Perform NLP operations such as language detection and sentiment analysis.
Data Analysis
Practice analyzing and working with large sets of data.
Web APIs
Use Web APIs to get news headlines, stock market and even cryptocurrency data.
This book is for complete beginners who would like to start learning JavaScript and Node.js with practical, interesting, and awesome examples. Prior coding knowledge is not required.
What Readers Are Saying...

This book is pretty good for beginners. I knew nothing about coding before but now it is making more sense to me. It has a lot of examples that are very helpful!

Awecome Coding has a lot of useful examples on how coding can be used to tackle practical problems. It is easy to follow and understand.

I know some HTML and CSS as a designer but this book has been my first introduction to Javascript. I found this book to be super easy to follow even for a complete beginner.

As a product manager, I work with software engineers on a daily basis, and learning even a bit about coding helps me understand how they approach and tackle problems. This book is very accessible and helped me get to insight into how programming works.
Table of Contents
Setting Up
Flow Control with If-Else
Project - Creating an Email Template
Object
Arrays
Loops
Project - Password Validator
Programming Libraries
Project - Data Analysis
Introduction to Node.js
Modules
Third-Party Modules and Libraries
Project - Writing a Command-Line Tool
Working with Folders
Reading and Writing Files
Synchronous and Asynchronous Operations
Image Processing in Node.js and Callbacks vs. Promises
Automating the Web Using Puppeteer
Programming Inside the Browser
Project - Get Random Wikipedia Facts
Working with APIs
Project - Getting Stock and Cryptocurrency Data
Project - Using News API
About the Author

Hi there! 👋 My name is Engin Arslan. I am a software developer based in Berlin. Before becoming a developer, I worked as a visual effects artist/technical director on films and TV shows, including Resident Evil 4, Tron, Mama, Pompeii, Vikings, and Strain. I received an Emmy Nomination and won a Canadian Screen Award for my Visual Effects work. During my time in VFX, I fell in love with Python and with programming in general. As a result, I have taught myself web development and changed careers to immerse myself completely in software development. Currently, I am working as a senior front-end developer at Shopify. I am also an author for a couple of online courses, such as 3D Graphics on the Web and Coding for Visual Learners on Linkedin Learning. I was a professor at Seneca College in Toronto for 5 years, teaching programming to complete beginners. I have decided to write Awesome Coding since there aren't too many sources out there that teach programming in an engaging way.
My Teaching Style
I am a self-taught developer. I know how learning to code from scratch can be really challenging. My own learning journey made me very opinionated about how coding should be taught to beginners. Here are the principles that I abide by when I teach anything.
Progressive Disclosure

Not everything about a subject would be immediately relevant to you. In fact, you can go very far without knowing certain elementary things in a domain. You could drive a car for a long time without knowing anything about how the engine works.
Hide Complexity

There can be things about any craft that you don't even have to learn at all. There is a chemistry to how molecules interact with each other when you are cooking, but you can be an excellent chef without knowing anything about it
Don't Oversimplify

Coding is an intellectual endeavour, and there are things about it that are absorbing and interesting. I believe in hiding complexity, but I don't agree with oversimplifying things. Imagine learning a new language and not being taught a single line of poetry or an expression. Where is the excitement in that?
Make it Actionable

It would be tough to learn how to play poker by just reading about it. At some point, you need to practice your learnings to get better at it. Coding is like that too. You can read all about it but what you learn needs to be enforced by exercises and examples.
Keep it Relevant and Inclusive

I try to have relevant and applicable examples to real-life situations. I personally find it painful when I come across a coding exercise that is not applicable or so niche that I can't even bother to learn what is being discussed. Using Star Wars characters when teaching might be fun if your audience is into that universe but can be a barrier when they haven't seen the movies.
One Thing at a Time

If I am learning statistics and being taught about it over an example of baseball, that means there are now two new things for me to worry about. There are much simpler examples to draw from and keep it to teaching one complex thing at a time.

AWESOME CODING
Build Cool Stuff with JavaScript and Node.js
250+ pages
Available as PDF, ePub, and MOBI
Source Files Included
Continuously Updated
Frequently Asked Questions
What is your refund policy?
If this book fails to meet your expectations for any reason, please get in touch within 14 days, and you'll get a full refund.
Is this book available in print?
Not at the moment! It is only available as an ebook in PDF, epub and Mobi formats.
Will I have to pay for the updated versions of the book?
This book is being updated and improved continuously. Purchase of this book entitles you to all the future updates for FREE.
Who is this book for?
This book is for complete beginners who would like to start learning JavaScript and Node.js with practical, interesting, and awesome examples. Prior coding knowledge is not required. Experienced programmers that would like to learn JavaScript can also benefit from this book.
Questions or Feedback?
Feel free to reach out to me at awesomecodingco@gmail.com if you have any questions or feedback.