Coding Books

Khushi Garg
10 min readFeb 24, 2022

--

What is Coding?

Coding, sometimes called computer programming, is how we communicate with computers.

Code tells a computer what actions to take, and writing code is like creating a set of instructions. By learning to write code, we can tell computers what to do or how to behave in a much faster way.

Coding can be used to create websites and apps, process data, and do lots of other cool things.

Most popular technology that we come across such as Facebook, smartphones, browsers, all runs on code.

Why Learn How to Code?

Every student in today’s time should learn how to code.

We all have hopes, dreams, and plans for the future. Whether you’re looking for a new opportunity, want to optimize your current job, or are simply searching for a new hobby, coding can help you get closer to your goals. And remember, anyone can learn how to code.

Computer and Information Technology jobs are growing incredibly fast in the United States and across the globe. You don’t need a Computer Science degree; there are more and more high paying jobs emerging everyday for new learners.

Coding ability gives new perspective to problem-solving. It helps boost problem-solving and logical skills.

Computer Programming gives kids a challenge and helps them develop resilience. Coding teaches children how to think. A child expands their creativity when they learn how to code.

Where To Learn Coding

The best online coding platform in today’s time is ‘CodeKaro Yaaro’. It is India’s first online school of Computer Science. It empowers kids to think, code and develop the mobile app, web applications, gaming apps and AI-Powered mobile and web apps.

Children who want learn coding can anytime explore code with CodeKaroYaaro.

Many Coding Books are also available from where children can learn to code.

Examples of Coding Books

1. The Pragmatic Programmer: 20th Anniversary Edition

For twenty years, the lessons from The Pragmatic Programmer have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology.

The new 20th Anniversary Edition offers a fresh look at the modern development landscape, cutting through the “business as usual” and tired advice from the net to help guide you through the next twenty years and beyond.

Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding.

This new edition examines the core of modern software development- understanding what is wanted and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.

This book teaches how to:

  1. fight software rot
  2. avoid the trap of duplicating knowledge
  3. write flexible, dynamic and adaptable code
  4. harness the power of basic tools
  5. solve the underlying problems of concurrent code
  6. guard against security vulnerabilities
  7. test ruthlessly and effectively, including Property-based testing

Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development.

2. Refactoring

This book is written by Martin Fowler, with Kent Beck.

Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of small behaviour-preserving transformations, each of which “too small to be worth doing”. However the cumulative effect of each of these transformations is quite significant. By doing them in small steps you reduce the risk of introducing errors. You also avoid having the system broken while you are carrying out the restructuring — which allows you to gradually refactor a system over an extended period of time.

This book describes the process of refactoring and spends most of its time explaining how to do the various refactorings— the behaviour preserving transformations. The book opens with a simple example that describes the whole process. There are then some introductory chapters that discuss broader issues around refactoring, the “code smells” that suggest refactoring, and the role of testing.

The bulk of the book is around seventy refactorings described in detail: the motivation for doing them, mechanics of how to do them safely and a simple example.

Several development environments now automate many of the refactorings described in the book. Refactoring has become a full-fledged part of the software development lexicon.

3. Patterns Of Enterprise Application Architecture

This book is written by Martin Fowler, with Dave Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford.

This book started after Dave Rice and Martin gave some talks on J2EE architecture and mulled over how the concepts they had learned in C++, Forte, CORBA, and Smalltalk had been crucial to us developing good designs in Java. With this book, Martin wanted to set many of these patterns down to help developers whatever their platform. These turned out to be very valuable when they started to use .NET in 2002 and Ruby in 2007.

This book is a Duplex Book. The first part is a short (100 page) tutorial on enterprise application architecture. The bulk of the book is the reference to forty or so patterns. All of these patterns are ones that he has seen in the field, usually on many different programming platforms.

Each pattern describes details of how it works and when to use it, together with code examples in Java, C# or both. (he picked these languages because most software developers can read them, not because of any particular coupling or opinions about the language).

The main topic areas are: how to layer an enterprise application, how to organize domain logic, how to tie that logic to a relational database, how to design a web based presentation, some important principles in distributed design, and handling of what we call “offline concurrency” — concurrency that spans transactions.

He has been fortunate enough to have some excellent contributors to this book, most notably Dave Rice — who wrote a good tenth of it. Also joining in are Matt Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford

He wrote this book in the early noughties, but he and his colleagues find the patterns are still relevant today. Their hypothesis then was that the essential problems and solutions in software architecture don’t really change that much — that certainly has been true for the last decade.

Another change since he wrote the book is that many patterns are now implemented by common frameworks (particularly with database interaction). This doesn’t mean that developers no longer need to understand this material. Frameworks still require you to make decisions about how to use them, and knowing the underlying patterns is essential if you are to make wise choices.

4. User Stories Applied

This book is written by Mike Cohn.

Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process that saves time, eliminates rework, and leads to better software. A great way to build software that meets users’ needs is to begin with “user stories”: simple, clear, brief descriptions of functionality that will be valuable to real users. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle.

You’ll learn what makes a great user story, and what makes a bad one. You’ll discover practical ways to gather user stories,even when you can’t speak with your users. Then, once you’ve compiled your user stories, Cohn shows how to organize them, prioritize them, and use them for planning, management, and testing.

The features of this book includes:

  • user role modelling: understanding what users have in common, and where they differ
  • Gathering stories: user interviewing, questionnaires, observation, and workshops
  • Working with managers, trainers, salespeople and other proxies
  • Writing user stories for acceptance testing
  • Using stories to prioritize, set schedule, and estimate release cost
  • End-of-chapter practice questions and exercises

User Stories Applied will be invaluable to every software developer, tester, analyst, and manager working with any agile method:XP, Scrum…or even your own home-grown approach.

5. Code Complete

Code Complete is a software development book, written by Steve McConnell and published in 1993 by Microsoft Press, encouraging developers to continue past code-and-fix programming and the big design up front and waterfall models. It is also a compendium of software construction techniques, which include techniques from naming variables to deciding when to write a subroutine.

McConnell defines the main activities in construction as detailed design, construction planning, coding and debugging, unit testing,integration and integration testing. Although he does not dismiss the value of other aspects of software development such as requirements and documentation, McConnell emphasises the construction of software due to several reasons. Within the view of the book, construction is a large part of software development, as the central activity within software development and can significantly improve the productivity of a programmer when focus is directed towards it; in addition, the source code is seen as defining the operation of the software, with documentation implicated when code and documentation are opposed. Lastly, the book contends that construction is the exclusive activity which is guaranteed to remain completed.

The techniques of a good programmer are also given throughout the book. The whole part seven of the book is about software craftsmanship (layout, style, character, themes and self-documentation).

The other six parts of the book are: laying the foundation, creating high-quality code, variables, statements, code improvements and system considerations.

6. Don’t Make Me Think

Don’t Make Me Think is a book by Steve Krug about human-computer interaction and web usability. The book’s premise is that a good software program or web site should let users accomplish their intended tasks as easily and directly as possible. Krug points out that people are good at satisficing, or taking the first available solution to their problem, so design should take advantage of this. He frequently cites Amazon.com as an example of a well-designed web site that manages to allow high-quality interaction, even though the web site gets bigger and more complex every day.

The book is intended to exemplify brevity and focus. The goal, according to the book’s introduction, was to make a text that could be read by an executive on a two-hour airplane flight.

Originally published in 2000, the book was revised in 2005 and 2013 and has sold more than 300,000 copies.

In 2010, the author published a sequel, Rocket Surgery Made Easy, which explains how anyone working on a web site, mobile app, or desktop software can do their own usability testing to ensure that what they’re building will be usable.

7. Introduction To Algorithms

Introduction to Algorithms is a book on computer programming by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The book has been widely used as the textbook for algorithms courses at many universities and is commonly cited as a reference for algorithms in published papers, with over 10,000 citations documented on CiteSeerX. The book sold half a million copies during its first 20 years. Its fame has led to the common use of the abbreviation “CLRS” (Cormen, Leiserson, Rivest, Stein), or, in the first edition, “CLR” (Cormen, Leiserson, Rivest).

In the preface, the authors write about how the book was written to be comprehensive and useful in both teaching and professional environments. Each chapter focuses on an algorithm, and discusses its design techniques and areas of application. Instead of using a specific programming language, the algorithms are written in pseudocode. The descriptions focus on the aspects of the algorithm itself, its mathematical properties, and emphasize efficiency.

8. Coders At Work

Coders at Work: Reflections on the Craft of Programming is a 2009 book by Peter Seibel comprising interviews with 15 highly accomplished programmers.

The primary topics in these interviews include how the interviewees learned programming, how they debug code, their favourite languages and tools, their opinions on literate programming, proofs, code reading and so on.

9. Zero Bugs and Program Faster

This book is written by Kate Thompson.

This book aims to show you how to become a better programmer,and succeed generously. The book has useful discussions, stories, quotes, diagrams, references, and code samples. The author’s style is intelligent, reflective, funny, serious and philosophical-all of which aids the understanding of the points being made.

You can acquire the skills needed to become an experience programmer the hard way (years of development experience) or the easier way (reading this book). Either way, you will learn the lessons on the path to becoming an experienced programmer but I suggest you to take the shorter route i.e, reading this book.

Important Links

Website, Instagram, Youtube, Facebook, Twitter, LinkedIn

--

--