100 Best Object Oriented Programming Books of All Time

We've ranked the best object oriented programming books using expert recommendations, sales data, and millions of reader ratings. At Shortform, we know books. Our book guides are the best in the world. Learn why.

Code Complete book cover1

Code Complete

Steve McConnell

5.0
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge availab
Design Patterns: Elements of Reusable Object-Oriented Software book cover2

Design Patterns: Elements of Reusable Object-Oriented Software

Erich; Helm John Gamma

5.0
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.

The authors begin by
Refactoring: Improving the Design of Existing Code book cover3

Refactoring: Improving the Design of Existing Code

Martin Fowler

5.0
Fully Revised and Updated-Includes New Refactorings and Code Examples"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
--M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to
Clean Code: A Handbook of Agile Software Craftsmanship book cover4

Clean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin

4.9
Even bad code can function. But if code isn t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with
The Great Gatsby book cover5

The Great Gatsby

F. Scott Fitzgerald

4.9
A young man, newly rich, tries to recapture the past and win back his former love, despite the fact that she has married.
Head First Design Patterns book cover6

Head First Design Patterns

Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson

4.8
You're not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you
99 Bottles of OOP book cover7

99 Bottles of OOP

Sandi Met

4.8
"Everybody complains about the weather but nobody does anything about it." Likewise, everyone has an opinion about what good code looks like, but those opinions don't help you create it. This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means.
What It's About

99 Bottles of OOP is a practical g
Patterns of Enterprise Application Architecture book cover8

Patterns of Enterprise Application Architecture

Martin Fowler

4.8
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their develop
Growing Object-Oriented Software, Guided by Tests book cover9

Growing Object-Oriented Software, Guided by Tests

Steve Freeman, Nat Pryce

4.8
Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows." --Ward Cunningham "At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas i
Practical Object Oriented Design in Ruby book cover10

Practical Object Oriented Design in Ruby

Sandi Metz

4.7
The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using
Domain-Driven Design: Tackling Complexity in the Heart of Software book cover11

Domain-Driven Design: Tackling Complexity in the Heart of Software

Eric Evans

4.7
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric th
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 book cover12

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Scott Meyers

4.5
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively--so that your software is correct, efficient, maintainable, and portable. That's where this practical book comes in. It describes
Head First Java book cover13

Head First Java

Kathy Sierra and Bert Bates

4.5
Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study.

The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something un
Fluent Python: Clear, Concise, and Effective Programming book cover14

Fluent Python: Clear, Concise, and Effective Programming

Luciano Ramalho

4.5
Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter,
LabVIEW Graphical Programming, Fifth Edition book cover15

LabVIEW Graphical Programming, Fifth Edition

Richard Jennings and Fabiola De la Cueva

4.5
Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.



LabVIEW programming techniques, tips, and practices


Learn to build effective LabVIEW programs using the detailed information contained in this thoroughly revised resource. This edition updates all content to
Elegant Objects book cover16

Elegant Objects

Yegor Bugayenko

4.5
TL;DR There are 23 practical recommendations for object-oriented programmers. Most of them are completely against everything you've read in other books. For example, static methods, NULL references, getters, setters, and mutable classes are called evil.
Learning Python book cover17

Learning Python

Mark Lutz

4.4
Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. This edition of "Learning Python" puts you in the hands of two expert teachers, Mark Lutz and Davi
Object-Oriented Analysis and Design with Applications book cover18

Object-Oriented Analysis and Design with Applications

Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, Kelli A. Houston

4.4
Grady Booch and his co-authors draw upon the rich and varied results of object-oriented software development projects and offer improved methods for their analysis and design, lightly making use of UML notation. Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pragmatic advice on a host of issues, including classi
JavaScript: The Definitive Guide book cover19

JavaScript: The Definitive Guide

David Flanagan

4.4
Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers—a programmer's guide and comprehensive reference to the core language and to the client-side JavaScript APIs defined by web browsers. The 6th edition covers HTML5 and ECMAScript 5, with new chapters on jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the progr
20

Python Programming For Beginners: Learn Python In 5 Days with Step-By-Step Guidance, Hands-On Exercises And Solution (Coding Made Easy Book 1)

James Tudor

4.4
C++ Crash Course: A Fast-Paced Introduction book cover21

C++ Crash Course: A Fast-Paced Introduction

Josh Lospinoso

4.4
A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you'll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries.

C++ is one of the most widely used languages for real-world software. In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any prog
The Object-Oriented Thought Process book cover22

The Object-Oriented Thought Process

Matt Weisfeld

4.4
Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, Visual Basic .NET, Ruby, Objective-C, and Swift. Objects also form the basis for many web technologies such as JavaScript, Python, and PHP.
It is of vital importance to learn the fundamental concepts of object orientation before starting to use object-oriented development environments. OO
Working Effectively with Legacy Code book cover23

Working Effectively with Legacy Code

Michael Feathers

4.4
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.

In this book, Michael Feathers offers start-t
The Art of the Metaobject Protocol book cover24

The Art of the Metaobject Protocol

Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow

4.4

The CLOS metaobject protocol is an elegant, high-performance extension tothe CommonLisp Object System. The authors, who developed the metaobject protocol andwho were among the group that developed CLOS, introduce this new approach toprogramming language design, describe its evolution and design principles, andpresent a formal specification of a metaobject protocol for CLOS.Kiczales, desRivi?res, a

Smalltalk Best Practice Patterns book cover25

Smalltalk Best Practice Patterns

Kent Beck

4.4
This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. When programmers understand these patterns, they can write much more effective code. The concept of Smalltalk patterns is introduced, and the book explains why they w
MATLAB Programming for Engineers book cover26

MATLAB Programming for Engineers

Stephen J. Chapman

4.4
Master today's MATLAB technical programming language while strengthening problem-solving skills with the help of Chapman's successful MATLAB PROGRAMMING FOR ENGINEERS, 6th Edition. You learn how to write clean, efficient and well-documented programs as you simultaneously gain an understanding of the many practical functions of MATLAB. You study the latest version of MATLAB R2018a and work with new
Programming Rust: Fast, Safe Systems Development book cover27

Programming Rust: Fast, Safe Systems Development

Jim Blandy

4.4
Rust is a new systems programming language that combines the performance and low-level control of C and C++ with memory safety and thread safety. Rust's modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, mak
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# book cover28

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#

Scott Wlaschin

4.3
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and c
PHP Advanced and Object-Oriented Programming: Visual Quickpro Guide book cover29

PHP Advanced and Object-Oriented Programming: Visual Quickpro Guide

Larry Ullman

4.3
Readers can take their PHP skills to the next level with this fully revised and updated PHP Advanced: Visual QuickPro Guide, Third Edition! Filled with fourteen chapters of step-by-step content and written by bestselling author and PHP programmer Larry Ullman, this guide teaches specific topics in direct, focused segments, shows how PHP is used in real-world applications. The book teaches developi
Microsoft® Visual C#® 2005 Express Edition: Build a Program Now! book cover30

Microsoft® Visual C#® 2005 Express Edition: Build a Program Now!

Patrice Pelland

4.3
Build a software program—such as your own Web browser or weather-reporting application—without any programming experience! Featuring learn-by-doing projects and plenty of visual examples, this hands-on book is your quick start to creating applications for Microsoft Windows.

Have fun as you discover how to:


Design a rich user interface with easy-to-use tools “Drag and drop” text boxes, buttons, and o
Design Patterns in Ruby book cover31

Design Patterns in Ruby

Russ Olsen

4.3
Praise for Design Patterns in Ruby

" Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily
Programming Python book cover32

Programming Python

Mark Lutz

4.3
If you've mastered Python's fundamentals, you're ready to start using it to get real work done. Programming Python will show you how, with in-depth tutorials on the language's primary application domains: system administration, GUIs, and the Web. You'll also explore how Python is used in databases, networking, front-end scripting layers, text processing, and more. This book focuses on commonly use
Python Pocket Reference book cover33

Python Pocket Reference

Mark Lutz

4.3
Updated for both Python 3.4 and 2.7, this convenient pocket guide is the perfect on-the-job quick reference. You’ll find concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools. The handy index lets you pinpoint exactly what you need.

Written by Mark Lutz—widel
Mastering Regular Expressions book cover34

Mastering Regular Expressions

Jeffrey E. F. Friedl

4.3
Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Perl, Python, Ruby, Java, VB.NET and C# (and any language using the .NET Framework), PHP, and MySQL.

If you don't use regular expressions yet, you will discover in this book a whole new world of mastery over your data. If you alr
Object-Oriented Programming in Common LISP: A Programmer's Guide to Clos book cover35

Object-Oriented Programming in Common LISP: A Programmer's Guide to Clos

Sonya E. Keene

4.3
C# 7.0 in a Nutshell: The Definitive Reference book cover36

C# 7.0 in a Nutshell: The Definitive Reference

Joseph Albahari and Ben Albahari

4.3
When you have questions about C# 7.0 or the .NET CLR and its core Framework assemblies, this bestselling guide has the answers you need. Since its debut in 2000, C# has become a language of unusual flexibility and breadth, but its continual growth means there's always more to learn.

Organized around concepts and use cases, this updated edition provides intermediate and advanced programmers with a c
Elegant Objects (Volume 2) book cover37

Elegant Objects (Volume 2)

Yegor Bugayenko

4.3
Sams Teach Yourself C++ in One Hour a Day book cover38

Sams Teach Yourself C++ in One Hour a Day

Siddhartha Rao

4.3
In just one hour a day, you'll have all the skills you need to begin programming in C++. With this complete tutorial, you'll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C++14 standard, with a preview of C++17, this book presents the language from a practical point of view, helping you learn how to use C++ to create faster, simpler,
C++ Primer book cover39

C++ Primer

Stanley B. Lippman

4.3
Bestselling Programming Tutorial and Reference Completely Rewritten for the New C++11 Standard Fully updated and recast for the newly released C++11 standard, this authoritative and comprehensive introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways. Highlighting today's best practices, the authors show how to use both the core language and it
Object-Oriented Programming in C++ book cover40

Object-Oriented Programming in C++

Robert Lafore

4.3
Object-Oriented Programming in C++ begins with the basic principles of the C++ programming language and systematically introduces increasingly advanced topics while illustrating the OOP methodology. While the structure of this book is similar to that of the previous edition, each chapter reflects the latest ANSI C++ standard and the examples have been thoroughly revised to reflect current practice
Agile Software Development, Principles, Patterns, and Practices book cover41

Agile Software Development, Principles, Patterns, and Practices

Robert C. Martin

4.3
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application--
Learn C# in One Day and Learn It Well: C# for Beginners with Hands-on Project book cover42

Learn C# in One Day and Learn It Well: C# for Beginners with Hands-on Project

Jamie Chan

4.3
Master C# Programming with a unique Hands-On Project (Updated for VS Community 2017)

Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the C# language fast?

This book is for you. You no longer have to waste your time and money learning C# from boring books that are 600 pag
Think Python: How to Think Like a Computer Scientist book cover43

Think Python: How to Think Like a Computer Scientist

Allen B. Downey

4.3
If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for Python 3.

Through exercises in each chapter, you'l
Secrets of the JavaScript Ninja book cover44

Secrets of the JavaScript Ninja

John Resig

4.3
Secrets of the JavaScript Ninja uses practical examples to clearly illustrate each core concept and technique. This completely revised edition shows you how to master key JavaScript concepts such as functions, closures, objects, prototypes, and promises. It covers APIs such as the DOM, events, and timers. You’ll discover best practice techniques such as testing, and cross-browser development, all
Object-Oriented Software Construction (Book/CD-ROM) book cover45

Object-Oriented Software Construction (Book/CD-ROM)

Bertrand Meyer

4.3
This is, quite simply, the definitive reference on the most important development in software technology for the last 20 years: object-orientation.

A whole generation was introduced to object technology through the first edition of this book. This long-awaited new edition retains the qualities of clarity, practicality and scholarship that made the first an instant bestseller, but has been thorough
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development book cover46

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development

Craig Larman

4.3
Applying UML and Patterns is the world’s #1 business and college introduction to “thinking in objects” - and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skill
The Self-Taught Programmer: The Definitive Guide to Programming Professionally book cover47

The Self-Taught Programmer: The Definitive Guide to Programming Professionally

Cory Althoff

4.3
I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed by the amount of things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for th
Learn Python in One Day and Learn It Well (2nd Edition): Python for Beginners with Hands-On Project. the Only Book You Need to Start Coding in Python Immediately book cover48

Learn Python in One Day and Learn It Well (2nd Edition): Python for Beginners with Hands-On Project. the Only Book You Need to Start Coding in Python Immediately

Jamie Chan

4.3
(2nd Edition: Covers Object Oriented Programming)
Master Python Programming with a unique Hands-On Project


Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the Python language fast?

This book is for you. You no longer have to waste your time and money learning Python from
UML Distilled: A Brief Guide to the Standard Object Modeling Language book cover49

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Martin Fowler

4.3
More than 300,000 developers have benefited from past editions of UML Distilled . This third edition is the best resource for quick, no-nonsense insights into understanding and using UML 2.0 and prior versions of the UML. Some readers will want to quickly get up to speed with the UML 2.0 and learn the essentials of the UML. Others will use this book as a handy, quick reference to the most common
Aprende inglés sin ir a clases book cover50

Aprende inglés sin ir a clases

John Galeano

4.3
Mastering Object-Oriented Python: Build powerful applications with reusable code using OOP design patterns and Python 3.7, 2nd Edition book cover51

Mastering Object-Oriented Python: Build powerful applications with reusable code using OOP design patterns and Python 3.7, 2nd Edition

Steven F. Lott

4.3
The Chalet School in the Oberland book cover52

The Chalet School in the Oberland

Elinor M. Brent-Dyer

4.3
Head First Python: A Brain-Friendly Guide book cover53

Head First Python: A Brain-Friendly Guide

Paul Barry

4.3
Want to learn the Python language without slogging your way through how-to manuals? With Head First Python, you'll quickly grasp Python's fundamentals, working with the built-in data structures and functions. Then you'll move on to building your very own webapp, exploring database management, exception handling, and data wrangling. If you're intrigued by what you can do with context managers, deco
Test Driven Development: By Example book cover54

Test Driven Development: By Example

Kent Beck

4.3
Follows two TDD projects from start to finish, illustrating techniques programmers can use to increase the quality of their work. The examples are followed by references to the featured TDD patterns and refactorings. This book emphasises on agile methods and fast development strategies.
Object-Oriented Design Heuristics book cover55

Object-Oriented Design Heuristics

Arthur J. Riel

4.3
Provides a set of metrics that helps determine the quality of object-oriented models. This book offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design.
Introducing Python: Modern Computing in Simple Packages book cover56

Introducing Python: Modern Computing in Simple Packages

Bill Lubanovic

4.3
Easy to understand and fun to read, this updated edition of Introducing Python is ideal for beginning programmers as well as those new to the language. Author Bill Lubanovic takes you from the basics to more involved and varied topics, mixing tutorials with cookbook-style code recipes to explain concepts in Python 3. End-of-chapter exercises help you practice what you've learned.

You'll gain a stro
The Chalet School Does It Again book cover57

The Chalet School Does It Again

Elinor M. Brent-Dyer

4.3
Indestructibles: Plip-Plop Pond! book cover58

Indestructibles: Plip-Plop Pond!

Kaaren Pixton

4.2
Show baby all the animals that love to splash in a book that’s indestructible!

Who plays in the mud? Turtle!
Who glides across the water? Swan!
Who sings on a tree branch? Kingfisher!


Indestructibles is the trusted series for easing little ones into story time. Beloved by babies and their parents, Indestructibles are built for the way babies “read” (i.e., with their hands and mouths) and are:


Ri
SysML Distilled: A Brief Guide to the Systems Modeling Language book cover59

SysML Distilled: A Brief Guide to the Systems Modeling Language

Lenny Delligatti

4.2
The Systems Modeling Language (SysML) extends UML with powerful systems engineering capabilities for modeling a wider spectrum of systems and capturing all aspects of a system's design. SysML Distilled is the first clear, concise guide for everyone who wants to start creating effective SysML models.

(Drawing on his pioneering experience at Lockheed Martin and NASA, Lenny Delligatti illuminates Sy
IOS 13 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics book cover60

IOS 13 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics

Matt Neuburg

4.2
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 10 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 5. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework.


Explore Swift's object-oriented concepts
Become familiar with built-
Programming in Haskell book cover61

Programming in Haskell

Graham Hutton

4.2
Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, makin
Head First Learn to Code: A Learner's Guide to Coding and Computational Thinking book cover62

Head First Learn to Code: A Learner's Guide to Coding and Computational Thinking

Eric Freeman

4.2
What will you learn from this book?

It's no secret the world around you is becoming more connected, more configurable, more programmable, more computational. You can remain a passive participant, or you can learn to code. With Head First Learn to Code you'll learn how to think computationally and how to write code to make your computer, mobile device, or anything with a CPU do things for you. Using
63

C++ in One Hour a Day, Sams Teach Yourself

Siddhartha Rao

4.2
Object-Oriented JavaScript book cover64

Object-Oriented JavaScript

Stoyan Stefanov

4.2
An Introduction to Object-Oriented Programming with Java book cover65

An Introduction to Object-Oriented Programming with Java

C. Thomas Wu

4.2
"An Introduction to Object-Oriented Programming with Java" takes a full-immersion approach to object-oriented programming. Proper object-oriented design practices are emphasized throughout the book. Students learn how to use the standard classes first, then learn to design their own classes. Wu uses a gentler approach to teaching students how to design their own classes, separating the coverage in
Scala Cookbook book cover66

Scala Cookbook

Alvin Alexander

4.2
Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this J
Object Thinking book cover67

Object Thinking

David West

4.2
In OBJECT THINKING, esteemed object technologist David West contends that the mindset makes the programmer not the tools and techniques. Delving into the history, philosophy, and even politics of object-oriented programming, West reveals how the best programmers rely on analysis and conceptualization on thinking rather than formal process and methods. Both provocative and pragmatic, this book give
Design Patterns Explained: A New Perspective on Object-Oriented Design (Software Patterns Series) book cover68

Design Patterns Explained: A New Perspective on Object-Oriented Design (Software Patterns Series)

Alan Shalloway and James R. Trott

4.2
One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examples this has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development." Bruce Eckel ..".I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful
Ruby Science book cover69

Ruby Science

Ruby Dixo

4.2
The reference for writing fantastic Rails applications

You build web applications, and you love Ruby on Rails because it provides a framework for developing applications that are are fast, fun, and easy to change. Over time these applications can become bloated, development slows down, and changes to the codebase become painful.

This book was written to help you learn to detect emerging problems in
Introduction to Programming with Greenfoot: Object-Oriented Programming in Java with Games and Simulations book cover70

Introduction to Programming with Greenfoot: Object-Oriented Programming in Java with Games and Simulations

Michael Kolling

4.2
"Introduction to Programming with Greenfoot: Object-Oriented Programming in Java with games and Simulations" is ideal for introductory courses in Java Programming or Introduction to Computer Science. "The only textbook to teach Java programming using Greenfoot--this is "Serious Fun." " Programming doesn't have to be dry and boring. This book teaches Java programming in an interactive and engaging
Night Work (Kate Martinelli, #4) book cover71

Night Work (Kate Martinelli, #4)

Laurie R. King

4.2
Kate and her partner, Al Hawkin, are called to a scene of carefully executed murder: the victim is a muscular man, handcuffed and strangled, a stun gun's faint burn on his chest and candy in his pocket. The likeliest person to want him dead, his often-abused wife, is meek and frail—and has an airtight alibi. Kate and Al are stumped, until a second body turns up—also zapped, cuffed, and strangled..
Java Illuminated book cover72

Java Illuminated

Julie Anderson

4.2
Written for the one- to three-term introductory programming course, the fifth edition of Java Illuminated provides learners with an interactive, user-friendly approach to learning the Java programming language. Comprehensive but accessible, the text takes a progressive approach to object-oriented programming, allowing students to build on established skills to develop new and increasingly complex
A Medal for Murder (Kate Shackleton, #2) book cover73

A Medal for Murder (Kate Shackleton, #2)

Frances Brody

4.2
“Kate Shackleton joins Jacqueline Winspear’s Maisie Dobbs… They make excellent heroines.” --Literary Review

A pawn-shop robbery
It's no rest for the wicked as Kate Shackleton picks up her second professional sleuthing case. But exposing the culprit of a pawn-shop robbery turns sinister when her investigation takes her to Harrogate - and murder is only one step behind ...

A fatal stabbing
A night at th
Object-Oriented Programming with C++ book cover74

Object-Oriented Programming with C++

BALAGURUSAMY

4.2
C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using Visual Studio Code, 4th Edition book cover75

C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using Visual Studio Code, 4th Edition

Mark J. Price

4.2
Practices of the Python Pro book cover76

Practices of the Python Pro

Dane Hillard

4.2
Summary
Professional developers know the many benefits of writing application code that’s clean, well-organized, and easy to maintain. By learning and following established patterns and best practices, you can take your code and your career to a new level.
With Practices of the Python Pro, you’ll learn to design professional-level, clean, easily maintainable software at scale using the incredibly
77

C++ All-In-One for Dummies

John Paul Mueller

4.1
Get ahead of the C++ curve to stay in the game C++ is the workhorse of programming languages and remains one of the most widely used programming languages today. It's cross-platform, multi-functional, and updates are typically open-source. The language itself is object-oriented, offering you the utmost control over data usage, interface, and resource allocation. If your job involves data, C++ prof
Murach's C# book cover78

Murach's C#

Anne Boehm and Joel Murach

4.1
This core C# book has been a favorite of developers ever since the 1st edition came out in 2004. So you can be sure that this 6th edition will deliver the professional skills you're looking for.

It's a self-paced book that shows how to use Visual Studio 2015, C# 6.0, and the .NET 4.6 classes to develop Windows Forms applications...whether you're new to programming or not. It's an object-oriented bo
Murach's Java Programming book cover79

Murach's Java Programming

Joel Murach, Anne Boehm, et al.

4.1
Natural Language Processing with Python book cover80

Natural Language Processing with Python

Steven Bird, Ewan Klein, Edward Loper

4.1
This book offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. With it, you'll learn how to write Python programs that work with large collections of unstructured text. You'll access richly annotated datasets using a comprehensive range
81

Beginning Programming All-In-One Desk Reference for Dummies

Wallace Wang

4.1
So you want to be a programmer? Or maybe you just want to be able to make your computer do what YOU want for a change? Maybe you enjoy the challenge of identifying a problem and solving it. If programming intrigues you for whatever reason, Beginning Programming All-In-One Desk Reference For Dummies is like having a starter programming library all in one handy, if beefy, book. In this practical gui
Starting Out with Java: Early Objects book cover82

Starting Out with Java: Early Objects

Tony Gaddis

4.1
For courses in Java programmingA clear and student-friendly way to teach the fundamentals of Java Starting Out with Java: Early Objects, 6th Edition features Tony Gaddis's accessible, step-by-step presentation which helps beginning students understand the important details necessary to become skilled programmers at an introductory level. Gaddis motivates the study of both programming skills and th
Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach book cover83

Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach

Peter Fritzson

4.1
Fritzson covers the Modelica language in impressive depth from the basic concepts such as cyber-physical, equation-base, object-oriented, system, model, and simulation, while also incorporating over a hundred exercises and their solutions for a tutorial, easy-to-read experience.

The only book with complete Modelica 3.3 coverage Over one hundred exercises and solutions Examines basic concepts such
84

C++ Pocket Reference

Kyle Loudon

4.1
C++ is a complex language with many subtle facets. This is especially true when it comes to object-oriented and template programming. The C++ Pocket Reference is a memory aid for C++ programmers, enabling them to quickly look up usage and syntax for unfamiliar and infrequently used aspects of the language. The book's small size makes it easy to carry about, ensuring that it will always be at-hand
Programming IOS 13: Dive Deep Into Views, View Controllers, and Frameworks book cover85

Programming IOS 13: Dive Deep Into Views, View Controllers, and Frameworks

Matt Neuburg

4.1
If you're grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you'll learn how to create views, manipulate view controllers, and add features from iOS frameworks.


Create, arrange, draw, layer, and animate views that respond to touch
Use view con
Microsoft Visual C# Step by Step book cover86

Microsoft Visual C# Step by Step

John Sharp

4.1
Your hands-on guide to Microsoft Visual C# fundamentals with Visual Studio 2017
Expand your expertise--and teach yourself the fundamentals of programming with the latest version of Visual C# with Visual Studio 2017. If you are an experienced software developer, you'll get all the guidance, exercises, and code you need to start building responsive, scalable, cloud-connected applications that can run
Pro JPA 2 in Java EE 8: An In-Depth Guide to Java Persistence APIs book cover87

Pro JPA 2 in Java EE 8: An In-Depth Guide to Java Persistence APIs

Mike Keith

4.1
Learn to use the Java Persistence API (JPA) and other related APIs as found in the Java EE 8 platform from the perspective of one of the specification creators. A one-of-a-kind resource, this in-depth book provides both theoretical and practical coverage of JPA usage for experienced Java developers.
Authors Mike Keith, Merrick Schincariol and Massimo Nardone take a hands-on approach, based on their
Pattern-Oriented Software Architecture Volume 1: A System of Patterns book cover88

Pattern-Oriented Software Architecture Volume 1: A System of Patterns

Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal

4.1
Pattern-oriented software architecture is a new approach to software development. This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications. A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patt
Object Design: Roles, Responsibilities, and Collaborations book cover89

Object Design: Roles, Responsibilities, and Collaborations

Rebecca Wirfs-Brock, Alan McKean

4.1
Focuses on the practice of designing objects as integral members of a community where each object has specific roles and responsibilities. This work includes the practices and techniques of Responsibility-Driven Design, and show how to apply them as you develop modern object-based applications. It is suitable for software designers and students.
Object-Oriented Software Engineering book cover90

Object-Oriented Software Engineering

Ivar Jacobson

4.1
How can software developers, programmers and managers meet the challenges of the 90s and begin to resolve the software crisis?
Maidlin Bears the Torch (The Abbey Girls, #26) book cover91

Maidlin Bears the Torch (The Abbey Girls, #26)

Elsie Jeanette (E J ) Oxenham

4.1
Beginning Java Programming: The Object-Oriented Approach book cover92

Beginning Java Programming: The Object-Oriented Approach

Bart Baesens

4.0
Java is one of the world's most commonly used programming languages. Many of those eager to start learning Java don't want just the basics, they want to learn how to apply their new knowledge in the workplace. "Beginning Java Programming" provides readers a serious education on Java so they can apply their new skills in the real world. The book discusses the fundamentals of Java programming langua
Think Java: How to Think Like a Computer Scientist book cover93

Think Java: How to Think Like a Computer Scientist

Allen B. Downey and Chris Mayfield

4.0
Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You’ll learn how to program—a useful skill by itself—but you’ll also discover how to use programming as a means to a
What Every Programmer Should Know about Object-Oriented Design book cover94

What Every Programmer Should Know about Object-Oriented Design

Meilir Page-Jones

4.0
Java Programming book cover95

Java Programming

Joyce Farrell

4.0
Discover the power of Java(TM) for developing applications today when you trust the engaging, hands-on approach in Farrell's JAVA PROGRAMMING, 9E. Even if you're a first-time programmer, JAVA PROGRAMMING can show you how to quickly start developing useful programs, all while still mastering the basic principles of structured and object-oriented programming. Unique, reader-friendly explanations and
Java: A Beginner's Guide (Beginner's Guide) book cover96

Java: A Beginner's Guide (Beginner's Guide)

Herbert Schildt

4.0
Java works in almost every situation, from small hand-held devices right up to supercomputers. This text has been tailored to meet the needs of the beginning Java programmer, with hands-on coverage, step-by-step instructions and tutorials.
97

Database Systems: Design, Implementation, & Management

Carlos Coronel

4.0
Database skills are among the most in-demand IT skills today. Now you can gain a solid foundation in database design and implementation with the practical, easy-to-understand approach in the market-leading DATABASE SYSTEMS: DESIGN, IMPLEMENTATION, AND MANAGEMENT, 13E. Diagrams, illustrations, and tables clarify in-depth coverage of database design. You learn the key to successful database implemen
An Introduction to Programming and Object-Oriented Design Using Java book cover98

An Introduction to Programming and Object-Oriented Design Using Java

Jaime Niño and Frederick A. Hosch

4.0
• Objects First Approach. Students learn to design with objectsfrom the start. In more traditional approaches, students firstlearn "programming basics in the context of procedural programmingin the small." Since this frame of reference is essentially uselesswhen attacking large-scale problems, students must later "re-learnhow to approach problems. Instructors can present material from apoint of vi
Java: Programming Basics for Absolute Beginners (Step-By-Step Java Book 1) book cover99

Java: Programming Basics for Absolute Beginners (Step-By-Step Java Book 1)

Nathan Clark

4.0
Murach's JavaScript and jQuery book cover100

Murach's JavaScript and jQuery

Zak Ruvalcaba

4.0
Today, jQuery is used by more than half of the 10,000 most-visited web sites, and jQuery is one of the technologies that every web developer should master. The trouble is that jQuery is difficult to learn, especially for programming novices. Now, this new book makes it easier than ever to learn jQuery, jQuery UI (User Interface), and jQuery Mobile.