freeCodeCamp/guide/english/book-recommendations/index.md

21 KiB
Raw Blame History

title
Books to Read for Programmers

List of Books

General

Automate the Boring Stuff With Python by Al Sweigart

Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, and Julie Sussman

Clean Code: A Handbook of Agile Software Crafstmanship by Robert C. Martin

CODE: The Hidden Language of Computer Hardware and Software by Charles Petzold

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability by Steve Krug

Programming Pearls (2nd Edition) by Jon Bentley

Structure and Interpretation of Computer Programs

The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas

The Self-Taught Programmer: The Definitive Guide to Programming Professionally by Cory Althoff

You Don't Know JS (book series) by Kyle Simpson

Soft Skills: The software developer's life manual - John Sonmez

Code Complete: A Practical Handbook of Software Construction - Steve McConnell

  • Amazon
  • ISBN-13: 978-0735619678

Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma

  • Amazon
  • ISBN-13: 978-0201633610

Algorithms

Introduction to Algorithms, 3rd Edition (MIT Press) by Thomas H. Cormen and Charles E. Leiserson

Cracking the Coding Interview: 150 Programming Questions and Solutions by Gayle Laakmann McDowell

Fundamentals of Computer Algorithms by Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran

  • Amazon
  • ISBN-13: 978-8173716126

Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles

Grokking Algorithms: An illustrated guide for programmers and other curious people by Aditya Bhargava

Data Structures And Algorithms Made Easy

Algorithms Unlocked by Thomas H. Cormen

BASH

The Linux Command Line: A Complete Introduction 1st Edition by William E. Shotts Jr

  • Amazon
  • ISBN-13: 978-1593273897

Learning the bash Shell: Unix Shell Programming by Cameron Newham

  • Amazon

  • ISBN-13: 978-0596009656

Mastering Linux Shell Scripting by Andrew Mallett

C-lang

A Book on C: Programming in C

C Notes for Professionals book

Head First C: A Brain-Friendly Guide

The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie

C++

Thinking in C++ by Bruce Eckel

C++

Thinking in C++ by Bruce Eckel

C#

C# 6.0 in a Nutshell: The Definitive Reference 6th Edition by Joseph Albahari (Author), Ben Albahari (Author)

Pro C# 7: With .NET and .NET Core Paperback Nov 21 2017 by Andrew Troelsen (Author), Philip Japikse (Author)

Murach's C# 2015 by Joel Murach (Author), Anne Boehm (Author)

Coding Interview

Cracking the Coding Interview: 150 Programming Questions and Solutions

  • Amazon
  • ISBN-13: 978-0984782857

Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition

  • Wiley
  • ISBN: 978-0-470-12167-2

Dynamic Programming for Coding Interviews: A Bottom-Up approach to problem solving

Computer Networks

Computer Networking: A Top-Down Approach (7th Edition) by Kurose and Ross

Computer Networks by Andrew S. Tanenbaum

Database

Database Systems: Design, Implementation, & Management 12th Edition

*Database Administration Fundamentals: Microsoft Official Academic Course, Prep for Microsoft Exam 98-364 -Amazon Smile

  • ISBN-13: 978-0470889169
  • ISBN-10: 9780470889169

Oracle® Database Notes for Professionals

DevOps

DevOps Handbook:How to Create World-Class Agility, Reliability, and Security in Technology Organizations by Gene Kim et al

Full Stack Development

Pro Mern Stack: Full Stack Web App Development with Mongo, Express, React, and Node

General

Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

CODE: The Hidden Language of Computer Hardware and Software by Charles Petzold

Coders at Work: Reflections on the Craft of Programming by P. Seibel

Computer Science Distilled: Learn the art of solving computaitonal problems by Wladston Ferreira Filho

DevOps Handbook:How to Create World-Class Agility, Reliability, and Security in Technology Organizations by Gene Kim et al

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability by Steve Krug

Programming Pearls (2nd Edition) by Jon Bentley

Soft Skills: The software developer's life manual by John Sonmez

Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, and Julie Sussman

The Art of Computer Programming by Donald E. Knuth

The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas

The Self-Taught Programmer: The Definitive Guide to Programming Professionally by Cory Althoff

Information Security

Hacking: Ultimate Hacking Guide: Hacking For Beginners And Tor Browser

The Shellcoder's Handbook: Discovering and Exploiting Security Holes

Cracking the Code to a Successful Interview: 15 Insider Secrets from a Top-Level Recruiter by Evan Pellett

  • Amazon
  • ISBN-13: 978-1441700537

Java

Head First Java by Kathy Sierra and Bert Bates

Effective Java by Joshua Bloch

Introduction to Java Programming and Data Structures by Y. Daniel Liang

Core Java Volume I--Fundamentals by Cay S. Horstmann and Gary Cornell

  • Amazon
  • ISBN-13: 978-0137081899

JavaScript

You Don't Know JS (book series)

Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke

JavaScript: The Good Parts

JavaScript and JQuery: Interactive Front-End Web Development

Node.js

Beginning Node.js -Amazon

  • ISBN-13: 978-1484201886

JavaScript and JQuery: Interactive Front-End Web Development by Jon Duckett

Python

Automate the Boring Stuff With Python by Al Sweigart

Core Python Applications Programming (3rd Edition) by Wesley J Chun

Python Crash Course: A Hands-On, Project-Based Introduction to Programming

Python Tricks: A Buffet of Awesome Python Features by Dan Bader

Think Python: How to Think Like a Computer Scientist

Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers

Go

Introducing Go: Build Reliable, Scalable Programs by Caleb Doxsey

Go in Practice: Includes 70 Techniques 1st Edition by Matt Butcher, Matt Farina

Soft Skills

Soft Skills: The Software Developer's Life Manual

How to Win Friends & Influence People

Other

Hacking: Ultimate Hacking Guide: Hacking For Beginners And Tor Browser

Blue Team Field Manual (BTFM)

Code: The Hidden Language of Computer Hardware and Software (Developer Best Practices)

Competitive Programming 3: The New Lower Bound of Programming Contests

Computer Networking: A Top-Down Approach (7th Edition) by Kurose and Ross

Data Structures And Algorithms Made Easy

Deep Learning by Ian Goodfellow, Yoshua Bengio, Aaron Courville

Dynamic Programming for Coding Interviews: A Bottom-Up approach to problem solving

Facts and Fallacies of Software Engineering

GATE 2019 Computer Science and Information Technology

Hacking: Ultimate Hacking Guide: Hacking For Beginners And Tor Browser

Operating System Concepts

Mastering Linux Shell Scripting by Andrew Mallett

Pro PHP Programming by Peter MacIntyre

*Rtfm: Red Team Field Manual

The Innovator's Delimma

The Mythical Man-Month: Essays on Software Engineering

Computer Science Distilled: Learn the art of solving computaitonal problems by Wladston Ferreira Filho

Algorithms Unlocked by Thomas H. Cormen

The Innovator's Delimma

Ruby

Practical Object-Oriented Design in Ruby

Visual Basic

Beginning Visual Basic: A Step by Step Computer Programming Tutorial by Philip Conrod

  • ISBN-13: 978-1-937161-75-0

Web Development

The Art of Computer Programming by Donald E. Knuth

HTML & CSS Design and Build Websites by Jon Duckett

  • Amazon
  • ISBN-13: 978-1118008188

Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma (Author), Richard Helm (Author), Ralph Johnson (Author), John Vlissides (Author), Grady Booch (Foreword)

Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman (Author), Bert Bates (Author), Kathy Sierra (Author), Elisabeth Robson (Author)

Practical Malware Analysis - No Starch Press

CSS: The Missing Manual

  • Amazon
  • ISBN-13: 978-0596802448

Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (Learning PHP, MYSQL, Javascript, CSS & HTML5)

  • Amazon
  • ISBN-13: 978-1491978917

Artificial Intelligence: A Modern Approach

  • Amazon
  • ISBN-13: 978-1292153964

This list was compiled from multiple suggestion threads on Reddit and Stackoverflow.

Please feel free to add more that you have found useful!

Programming Books for kids to get coding

Python for Kids: A Playful Introduction to Programming by Jason Briggs (For Ages 10+)

Trapped in a Video Game by Dustin Brady (For Ages 8 - 12)

Super Scratch Programming Adventure! by The Lead Project (For Ages 5+)

3D Game Programming for Kids: Create Interactive Worlds with JavaScript by Chris Strom (For Ages 10+)

Hello Ruby: Adventures in Coding by Linda Liukas