Books > Specialty Boutique > Textbooks > Computer Science

Object-Oriented Software Design


Design Patterns: Elements of Reusable Object-Oriented Software

- November 10, 1994

A catalog of solutions to commonly occurring design problems, presenting 23 patterns that allow designers to create flexible and reusable designs for object-oriented software. Describes the circumstances in which each pattern is applicable, and discusses the consequences and trade-offs of using t... Read More

Reviewed by

Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))

- November 30, 2018

"Whenever you read [Refactoring], it's time to read it again. And if you haven't read it yet, please do before writing another line of code." -David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp Fully Revised and Updated--Includes New Refactorings and Code Examples "Any ... Read More

Programming Rust: Fast, Safe Systems Development

- July 6, 2021

The Rust programming language offers the rare and valuable combination of statically verified memory safety and low-level control. Imagine C++ but without dangling pointers, null pointer dereferences, or buffer overruns, and with a deep library of freely reusable libraries. This practical guide g... Read More

Reviewed by

Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software 2nd Edition

- December 29, 2020

You know you don't want to reinvent the wheel, so you look to design patterns--the lessons learned by those who've faced the same software design problems. With design patterns, you get to take advantage of the best practices and experience of others so that you can spend your time on something m... Read More

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

- December 5, 2014

Presents a collection of tips for programmers on how to use the features of C++11 and C++14 effectively, covering such topics as functions, rvalue references, and lambda expressions. Presents a collection of tips for programmers on how to use the features of C++11 and C++14 effectively, covering... Read More

Introducing Python: Modern Computing in Simple Packages

- December 3, 2019

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 ... Read More

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

- August 20, 2003

Describes ways to incorporate domain modeling into software development. Describes ways to incorporate domain modeling into software development. Read More

C# 10 and .NET 6 – Modern Cross-Platform Development: Build apps, websites, and services with ASP.NET Core 6, Blazor, and EF Core 6 using Visual Studio 2022 and Visual Studio Code, 6th Edition

- November 9, 2021

A comprehensive guide for beginners to learn the key concepts, real-world applications, and latest features of C# 10 and .NET 6 with hands-on exercises using Visual Studio 2022 and Visual Studio Code Key Features: Explore the newest additions to C# 10, the .NET 6 class library, and Entity Framewo... Read More

Reviewed by

SysML Distilled: A Brief Guide to the Systems Modeling Language

- November 18, 2013

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 mode... Read More

Reviewed by

Object-Oriented Python: Master OOP by Building Games and GUIs

- January 25, 2022

Power up your Python with object-oriented programming and learn how to write powerful, efficient, and re-usable code. Object-Oriented Python is an intuitive and thorough guide to mastering object-oriented programming from the ground up. You’ll cover the basics of building classes and creating obj... Read More

Head First Python: A Brain-Friendly Guide

- December 13, 2016

Are you keen to add Python as a programming skill? Learn quickly and have some fun at the same time with the second edition of Head First Python. This updated book takes you beyond typical how-to manuals with engaging images, puzzles, stories, and quizzes that are proven to stimulate learning and... Read More

Think Java: How to Think Like a Computer Scientist

Downey, Allen B., Mayfield, Chris - December 24, 2019

Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most ... Read More

Reviewed by

C++ Crash Course: A Fast-Paced Introduction

- September 24, 2019

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 th... Read More

Reviewed by

C# 10 in a Nutshell: The Definitive Reference

- March 1, 2022

When you have questions about C# 10.0 or .NET 6, this bestselling guide has the answers you need. C# is a language of unusual flexibility and breadth, but with its continual growth, there's so much more to learn. In the tradition of O'Reilly's Nutshell guides, this thoroughly updated edition is s... Read More

Reviewed by

Murach's Python Programming (2nd Edition)

- May 7, 2021

If you want to learn how to program but dont know where to start, this is the right book and the right language for you. From the first page, our self-paced approach will help you build competence and confidence in your programming skills. And Python is the best language ever for learning how to ... Read More

Head First Design Patterns: A Brain-Friendly Guide

Provides design patterns to help with software development using the Java programming language. Provides design patterns to help with software development using the Java programming language. Read More

Reviewed by

Learn C# in One Day and Learn It Well: C# for Beginners with Hands-on Project (Learn Coding Fast with Hands-On Project)

Chan, Jamie - October 27, 2015

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 i... Read More

Reviewed by

Learning Java: An Introduction to Real-World Programming with Java

- April 21, 2020

If you're new to Java--or new to programming--the 5th edition of this bestselling book will guide you through the language features and APIs of Java 11 and beyond. With fun, compelling, and realistic examples, authors Marc Loy, Patrick Niemeyer, and Daniel Leuck introduce you to Java fundamentals... Read More

Reviewed by

JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages

- December 15, 2021

Start your journey towards becoming a JavaScript developer with the help of more than 100 fun exercises and projectsKey Features* Write eloquent JavaScript and employ fundamental and advanced features to create your own web apps* Interact with the browser with HTML and JavaScript, and add dynamic... Read More

PowerShell Cookbook: Your Complete Guide to Scripting the Ubiquitous Object-Based Shell

- July 6, 2021

How do you use PowerShell to navigate the filesystem, manage files and folders, or retrieve a web page? This introduction to the PowerShell language and scripting environment provides more than 400 task-oriented recipes to help you solve all kinds of problems. Intermediate to advanced system admi... Read More

Reviewed by

Patterns of Enterprise Application Architecture

- November 5, 2002

This volume is a handbook for enterprise system developers, guiding them through the intricacies and lessons learned in enterprise application development. It provides proven solutions to the everyday problems facing information systems developers. A handbook for enterprise system developers gui... Read More