Download or read book Learn to Program written by Chris Pine and published by Pragmatic Bookshelf. This book was released on 2021-06-17 with total page 317 pages. Available in PDF, EPUB and Kindle. Book excerpt: It's easier to learn how to program a computer than it has ever been before. Now everyone can learn to write programs for themselves - no previous experience is necessary. Chris Pine takes a thorough, but lighthearted approach that teaches you the fundamentals of computer programming, with a minimum of fuss or bother. Whether you are interested in a new hobby or a new career, this book is your doorway into the world of programming. Computers are everywhere, and being able to program them is more important than it has ever been. But since most books on programming are written for other programmers, it can be hard to break in. At least it used to be. Chris Pine will teach you how to program. You'll learn to use your computer better, to get it to do what you want it to do. Starting with small, simple one-line programs to calculate your age in seconds, you'll see how to write interactive programs, to use APIs to fetch live data from the internet, to rename your photos from your digital camera, and more. You'll learn the same technology used to drive modern dynamic websites and large, professional applications. Whether you are looking for a fun new hobby or are interested in entering the tech world as a professional, this book gives you a solid foundation in programming. Chris teaches the basics, but also shows you how to think like a programmer. You'll learn through tons of examples, and through programming challenges throughout the book. When you finish, you'll know how and where to learn more - you'll be on your way. What You Need: All you need to learn how to program is a computer (Windows, macOS, or Linux) and an internet connection. Chris Pine will lead you through setting set up with the software you will need to start writing programs of your own.
Download or read book Fluent Python written by Luciano Ramalho and published by "O'Reilly Media, Inc.". This book was released on 2015-07-30 with total page 755 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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, faster, and more readable at the same time. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3. This book covers: Python data model: understand how special methods are the key to the consistent behavior of objects Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age Functions as objects: view Python functions as first-class objects, and understand how this affects popular design patterns Object-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritance Control flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages Metaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work
Download or read book Learn Python 3 the Hard Way written by Zed A. Shaw and published by Addison-Wesley Professional. This book was released on 2017-06-26 with total page 752 pages. Available in PDF, EPUB and Kindle. Book excerpt: You Will Learn Python 3! Zed Shaw has perfected the world’s best system for learning Python 3. Follow it and you will succeed—just like the millions of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Python 3 the Hard Way, you’ll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn how a computer works; what good programs look like; and how to read, write, and think about code. Zed then teaches you even more in 5+ hours of video where he shows you how to break, fix, and debug your code—live, as he’s doing the exercises. Install a complete Python environment Organize and write code Fix and break code Basic mathematics Variables Strings and text Interact with users Work with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Automated testing Basic game development Basic web development It’ll be hard at first. But soon, you’ll just get it—and that will feel great! This course will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful, popular programming languages. You’ll be a Python programmer. This Book Is Perfect For Total beginners with zero programming experience Junior developers who know one or two languages Returning professionals who haven’t written code in years Seasoned professionals looking for a fast, simple, crash course in Python 3
Download or read book Python Cookbook written by David Beazley and published by "O'Reilly Media, Inc.". This book was released on 2013-05-10 with total page 1132 pages. Available in PDF, EPUB and Kindle. Book excerpt: If you need help writing programs in Python 3, or want to update older Python 2 code, this book is just the ticket. Packed with practical recipes written and tested with Python 3.3, this unique cookbook is for experienced Python programmers who want to focus on modern tools and idioms. Inside, youâ??ll find complete recipes for more than a dozen topics, covering the core Python language as well as tasks common to a wide variety of application domains. Each recipe contains code samples you can use in your projects right away, along with a discussion about how and why the solution works. Topics include: Data Structures and Algorithms Strings and Text Numbers, Dates, and Times Iterators and Generators Files and I/O Data Encoding and Processing Functions Classes and Objects Metaprogramming Modules and Packages Network and Web Programming Concurrency Utility Scripting and System Administration Testing, Debugging, and Exceptions C Extensions
Download or read book Game Programming with Python Lua and Ruby written by Tom Gutschmidt and published by Course Technology. This book was released on 2003 with total page 476 pages. Available in PDF, EPUB and Kindle. Book excerpt: Get ready to dive headfirst into the world of programming! Game Programming with Python, Lua, and Ruby offers an in-depth look at these three flexible languages as they relate to creating games. No matter what your skill level as a programmer, this book provides the guidance you need. Each language is covered in its own section?you'll begin with the basics of syntax and style and then move on to more advanced topics. Follow along with each language or jump right to a specific section! Similar features in Python, Lua, and Ruby?including functions, string handling, data types, commenting, and arrays and strings?are examined. Learn how each language is used in popular game engines and projects, and jumpstart your programming expertise as you develop skills you'll use again and again!
Download or read book Python Made Easy written by Nilabh Nishchhal and published by Notion Press. This book was released on 2020-10-20 with total page 557 pages. Available in PDF, EPUB and Kindle. Book excerpt: Python Made Easy: Beginners Guide to Programming and Data Analysis using Python Get comprehensive learning of Python Programming starting from the very basics and going up to utilizing python libraries for data analysis and Visualization. Based on the author’s journey to master Python, this book will help you to quickly start with writing programs and solving your problems using Python. It provides an ideal and elegant way to start learning Python, both for a newcomer to the programming world and a professional developer expert in other languages. This book comes loaded with illustrations and real-life examples. It gives you exercises which challenge you to refresh your conceptual clarity and write better codes. It is super easy to follow and will work as a self-paced tutorial to get you started with the latest and best in Python. All the advanced Python features to date are included. • Get to know the history, present, and future of Data Science • Get introduced to the basics of Computer Programming • Explore the exciting world of Python using Anaconda • Learn how to install and use Python on your computer • Create your Variables, Objects and learn Syntax of operations • Explore Python’s built-in object types like Lists, dictionaries, Tuples, Strings and sets • Learn to make your codes reusable by using functions • Organize your codes, functions and other objects into larger components with Modules • Explore Classes – the Object-Oriented Programming tool for elegant codes • Write complex codes and learn how to handle Errors and Exceptions • Learn about NumPy arrays and operations on them • Explore data analysis using pandas on a real-life data set • Dive into the exciting world of Visualization with 3 chapters on Visualization and Matplotlib • Experience the Power of What you learnt by 3 projects • Learn to make your own application complete with GUI by using API
Download or read book Learn Python the Hard Way written by Zed Shaw and published by Pearson Education. This book was released on 2014 with total page 308 pages. Available in PDF, EPUB and Kindle. Book excerpt: Master Python and become a programmer - even if you never thought you could. This breakthrough book and CD can help practically anyone get started in programming. Zed A. Shaw teaches the Python programming language through a series of 52 brilliantly-crafted exercises.
Download or read book The Rust Programming Language Covers Rust 2018 written by Steve Klabnik and published by No Starch Press. This book was released on 2019-09-03 with total page 561 pages. Available in PDF, EPUB and Kindle. Book excerpt: The official book on the Rust programming language, written by the Rust development team at the Mozilla Foundation, fully updated for Rust 2018. The Rust Programming Language is the official book on Rust: an open source systems programming language that helps you write faster, more reliable software. Rust offers control over low-level details (such as memory usage) in combination with high-level ergonomics, eliminating the hassle traditionally associated with low-level languages. The authors of The Rust Programming Language, members of the Rust Core Team, share their knowledge and experience to show you how to take full advantage of Rust's features--from installation to creating robust and scalable programs. You'll begin with basics like creating functions, choosing data types, and binding variables and then move on to more advanced concepts, such as: Ownership and borrowing, lifetimes, and traits Using Rust's memory safety guarantees to build fast, safe programs Testing, error handling, and effective refactoring Generics, smart pointers, multithreading, trait objects, and advanced pattern matching Using Cargo, Rust's built-in package manager, to build, test, and document your code and manage dependencies How best to use Rust's advanced compiler with compiler-led programming techniques You'll find plenty of code examples throughout the book, as well as three chapters dedicated to building complete projects to test your learning: a number guessing game, a Rust implementation of a command line tool, and a multithreaded server. New to this edition: An extended section on Rust macros, an expanded chapter on modules, and appendixes on Rust development tools and editions.
Download or read book Comprehensive Ruby Programming written by Jordan Hudgens and published by Packt Publishing Ltd. This book was released on 2017-06-30 with total page 319 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book will provide you with all of the tools you need to be a professional Ruby developer. Starting with the core principles, such as syntax and best practices, and up to advanced topics like metaprogramming and big data analysis. About This Book Provides the core skills required to become a Ruby programmer Covers how to use the most popular Ruby Gem libraries Includes details on regular expressions Who This Book Is For This is a complete course written from the ground up for beginners wanting to gain a solid understanding of the Ruby language. It starts at the beginning with how to install Ruby and work with it on multiple machines, so simply have a computer that's connected to the Internet and you'll be ready. What You Will Learn Learn how to use Ruby code effectively, picking the right tool for the job and not duplicating built-in functionality Gain best software development practices, and how to identify and fix common errors Absorb core programming skills, such as variables, strings, loops, conditionals, and much more Explore object-oriented programming and learn to create modular, reusable code that you can use across projects Build 10 practical Ruby programs as you work through the book on topics such as big data analysis and solving Euler equations In Detail Ruby is a powerful, general-purpose programming language that can be applied to any task. Whether you are an experienced developer who wants to learn a new language or you are new to programming, this book is your comprehensive Ruby coding guide. Starting with the foundational principles, such as syntax, and scaling up to advanced topics such as big data analysis, this book will give you all of the tools you need to be a professional Ruby developer. A few of the key topics are: object-oriented programming, built-in Ruby methods, core programming skills, and an introduction to the Ruby on Rails and Sinatra web frameworks. You will also build 10 practical Ruby programs. Created by an experienced Ruby developer, this book has been written to ensure it focuses on the skills you will need to be a professional Ruby developer. After you have read this book, you will be ready to start building real-world Ruby projects. Style and approach This is a comprehensive course for learning the Ruby programming language that works methodically through everything that you need to know. It begins with the basics of the language and then works through some complete projects to apply your skills and ensure that you have fully absorbed them and can use them in the real world.
Download or read book C Programming Professional Made Easy and Ruby Programming Professional Made Easy written by Sam Key and published by Createspace Independent Publishing Platform. This book was released on 2015-04-12 with total page 56 pages. Available in PDF, EPUB and Kindle. Book excerpt: C Programming Professional Made Easy & Ruby Programming Professional Made EasyGreat new publication with first time ever released professional programming!C programming Are you aware that C Programming is one of the most popular and most commonly used programming languages today? Did you know many expert developers have started with learning C in order to become knowledgeable in computer programming? Were you aware that your children are learning C Programming today in their schools? Are you wanting a shortcut from basic to expert in one day and all the technical jargon removed so its made easy to understand? If you are having doubts learning the language, do not! C is actually easy to learn. Compared to C++, C is much simpler! You do not need to spend years to become a master of this language. Well start right here! Learn the coding necessary in less than a day, become profound and knowledgeable to move up the ladder to becoming a proficient programmer! It start right now and by the time you finish and implement the steps here, you will have learned everything there is to know in less than a day! Steps covered to become proficient in C Programming include... The basics elements of C Learn what C Programming Language is Learn to to understand C Program Then all the fun of learning C Programming Much more programming tips! Ruby Programming Professional Made Easy Great handbook to get you going with Ruby Programming! Skip your traditional technical books and dive right in so your proficient with programming instantly! Need to learn fast, tired of spending too much time trying to get through your standard technical books? Just want to get started and begin all your desired program development by the end of the day? Learn to set up with Ruby now All the Ruby Syntax you need immediately at your fingertips Access to all different statements And even Object oriented programming within this read! One click equals all of Ruby Programming!
Download or read book Ruby for Beginners written by iCode Academy and published by Independently Published. This book was released on 2017-05-25 with total page 123 pages. Available in PDF, EPUB and Kindle. Book excerpt: Are You Ready To Learn Ruby Easily? This book aims to guide a complete novice in Ruby programming. This book is carefully crafted to aid the new or inexperienced programmer in learning to write a code in Ruby language. If you are someone who somehow developed a fear to explore the unknown and still interested in learning Ruby programming, then this book can truly help you. This book covers everything that a beginner in Ruby programming should learn. Understand that programming offers an infinite amount of information and knowledge. However, this book understands that it may overwhelm a mere beginner in programming if it tackles even the advanced features of the Ruby language. This book can help you build a solid, basic knowledge in programming that can help you a lot when you begin to write your own program in Ruby language. You can use the acquired knowledge to pursue or learn more about Ruby's advanced concepts later on. For now, just concentrate on the basics and make sure to absorb every lesson before you go to the next one. Practice makes perfect and this book provides a lot of practice programs or exercises that can help you enhance your experience in Ruby programming. The exercises are simple and easy to understand to help you comprehend the lesson quickly. You also need to take note of the error messages that you may encounter. Let them serve as your guide so you can avoid the same mistake in the future or help you resolve the same error when you encounter them once more. Learning Ruby programming in 7 days is not something impossible to accomplish. Even a person with a little or no experience with any programming language can learn it within those days. As you go through each lesson, you will notice that it is quite easy to understand. It becomes much simpler when you have patience and discipline. Understand that you will be able to learn the Ruby basics in 7 days, but that won't make you an instant expert. You still need to practice and work your way in discovering the cool things that you can do with Ruby as you go along. Even expert programmers need to spend ample time in honing their programming skills. Before you know it, you are ready to create a more complex program.This book presents everything that a novice may need in understanding the basic Ruby programming. It is presented in such a way that anyone without prior programming knowledge will find it easy to understand - most technical jargons were kept to minimal, and they are the terminologies that you will likely encounter once you have started writing your program. Here's What You'll Learn From This Ruby For Beginners Book: ✓ Chapter 1: Getting acquainted with ruby ✓ Chapter 2: Initial Preparations ✓ Chapter 3: Start with the Basics ✓ Chapter 4: Ruby Variables ✓ Chapter 5: All About Methods ✓ Chapter 6: Flow Control ✓ Chapter 7: Iterators and Loops ✓ Chapter 8: More on Arrays and Hashes What Are You Waiting For? Start Coding Ruby Right Now!
Download or read book Python Programming written by John M. Zelle and published by Franklin, Beedle & Associates, Inc.. This book was released on 2004 with total page 533 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book is suitable for use in a university-level first course in computing (CS1), as well as the increasingly popular course known as CS0. It is difficult for many students to master basic concepts in computer science and programming. A large portion of the confusion can be blamed on the complexity of the tools and materials that are traditionally used to teach CS1 and CS2. This textbook was written with a single overarching goal: to present the core concepts of computer science as simply as possible without being simplistic.
Download or read book Go Programming From Beginner to Professional written by Samantha Coyle and published by Packt Publishing Ltd. This book was released on 2024-03-29 with total page 680 pages. Available in PDF, EPUB and Kindle. Book excerpt: Harness the power of Go through hands-on coding examples, covering basic to advanced topics like modules, database interfacing, RESTful APIs, concurrency, and beyond Key Features Leverage Go's standard library through practical examples and simplify development tasks using best practices Master effective idiomatic Go syntax, including variables, functions, and loops, to handle data Build fully functional web applications with capabilities such as database connectivity and RESTful API creation Purchase of the print or Kindle book includes a free PDF eBook Book DescriptionGo Programming – From Beginner to Professional is a comprehensive guide that takes your proficiency in the Go programming language from novice to expert. Starting with fundamental concepts, this book covers variables, command-line tools, and working with data before delving into advanced concepts, including error handling, interfaces, and generics, harnessing Go’s latest features through hands-on exercises. Along the way, you’ll learn to structure projects using Go modules, manage packages effectively, and master debugging techniques. As you progress, you’ll get to grips with practical application-centric aspects such as command-line programming, file manipulation, and working with SQL databases. Additionally, the book explores web server development, RESTful APIs, and utilizing the Go HTTP client to interact with web applications. Further enhancing your Go skills, you’ll learn concurrent programming, testing methodologies, Go tools, and how to deploy applications in the cloud. Throughout the book, you’ll uncover Go’s hidden gems and gain insights into time manipulation, best practices, and more. By the end of this book, you’ll have worked through practical exercises and activities that’ll equip you with the knowledge and skills needed to excel as a proficient Go developer, primed for success in real-world projects.What you will learn Understand the Go syntax and apply it proficiently to handle data and write functions Debug your Go code to troubleshoot development problems Safely handle errors and recover from panics Implement polymorphism using interfaces and gain insight into generics Work with files and connect to popular external databases Create an HTTP client and server and work with a RESTful web API Use concurrency to design efficient software Use Go tools to simplify development and improve your code Who this book is for Designed for both complete beginners in Go as well as professionals transitioning from another programming language, this book equips developers with skills needed to build real-world projects and launch their career in Go. With a step-by-step approach, beginners can grasp Go fundamentals even without prior programming experience, and gradually advance to idiomatic Go best practices, exploring the latest features of the language.
Download or read book Programming Ruby written by David Thomas and published by . This book was released on 2004 with total page 830 pages. Available in PDF, EPUB and Kindle. Book excerpt: A tutorial and reference to the object-oriented programming language for beginning to experienced programmers, updated for version 1.8, describes the language's structure, syntax, and operation, and explains how to build applications. Original. (Intermediate)
Download or read book The Well Grounded Rubyist written by Joe Leo and published by Simon and Schuster. This book was released on 2019-03-05 with total page 870 pages. Available in PDF, EPUB and Kindle. Book excerpt: Summary The Well-Grounded Rubyist, Third Edition is a beautifully written tutorial that begins with your first Ruby program and takes you all the way to sophisticated topics like reflection, threading, and recursion. Ruby masters David A. Black and Joe Leo distill their years of knowledge for you, concentrating on the language and its uses so you can use Ruby in any way you choose. Updated for Ruby 2.5. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Designed for developer productivity, Ruby is an easy-to-learn dynamic language perfect for creating virtually any kind of software. Its famously friendly development community, countless libraries, and amazing tools, like the Rails framework, have established it as the language of choice for high-profile companies, including GitHub, SlideShare, and Shopify. The future is bright for the well-grounded Rubyist! About the Book In The Well-Grounded Rubyist, Third Edition, expert authors David A. Black and Joseph Leo deliver Ruby mastery in an easy-to-read, casual style. You'll lock in core principles as you write your first Ruby programs. Then, you'll progressively build up to topics like reflection, threading, and recursion, cementing your knowledge with high-value exercises to practice your skills along the way. What's Inside Basic Ruby syntax Running Ruby extensions FP concepts like currying, side-effect-free code, and recursion Ruby 2.5 updates About the Reader For readers with beginner-level programming skills. About the Authors David A. Black is an internationally known Ruby developer and author, and a cofounder of Ruby Central. Ruby teacher and advocate Joseph Leo III is the founder of Def Method and lead organizer of the Gotham Ruby Conference. Table of Contents PART 1 RUBY FOUNDATIONS Bootstrapping your Ruby literacy Objects, methods, and local variables Organizing objects with classes Modules and program organization The default object (self), scope, and visibility Control-flow techniques PART 2 BUILT-IN CLASSES AND MODULES Built-in essentials Strings, symbols, and other scalar objects Collection and container objects Collections central: Enumerable and Enumerator Regular expressions and regexp-based string operations File and I/O operations PART 3 RUBY DYNAMICS Object individuation Callable and runnable objects Callbacks, hooks, and runtime introspection Ruby and functional programming
Download or read book Python Made Simple written by Beri Rydhm and published by BPB Publications. This book was released on 2019-09-20 with total page 459 pages. Available in PDF, EPUB and Kindle. Book excerpt: Take tiny steps to enter the big world of data science through this interesting guideKey features Acquire basic concepts related to python programming Understand the core functionalities of Python Programming Provide the information regarding idle IDE Computational Problem solving in Python Object oriented concepts in Python Database connectivity with Python Description In the last few years, python gained popularity and became the first choice of the students, teachers as well as professionals. It is being used in different fields such as education, software development, website development and also in various advanced research. In the field of education it allows students to learn the programming language in an easier and efficient manner. In the information technology field it can be used as a language for creating softwares as well as for web developments. It can be integrated with different platforms like Django. In research, Python programming can be used in simulation or it can be used for machine learning techniques.The primary goal of this text is to create a pedagogically sound and accessible textbook that emphasises on core concepts of Python programming. The book contains lots of practical examples to show the working of a particular code construct. The book can be very helpful in order to learn the basic and advance concepts of python programming.In the beginning of the book the focus is on the basic concepts related to core python programming starting from the installation phase of python interpreter to building the concepts for the reader towards python programming. Then the book moves towards the concept of different statements and programming conditions that python programming can handle in an easier manner. It then moves to the concepts related to object oriented programming and at last the reader will get to know about the database connectivity with the python program.What will you learn You can learn the core concept related to python programming You will get to learn how to program in python You can learn how Python programming helps to solve computational problems By reading this book you can learn how to work with python You will get familiarity with the python programming concepts. You will learn how to operate idle IDE and how it can be used to write python program in easier way. Who this book is forThe book is intended for anyone who wish to learn python programming language. This book also covers the syllabus of various universities and readers can use this book as a help in their academic education. This book can be used by readers to start with python programming from basics to advanced level even without having any prior knowledge of python programming. Table of contents1. Introduction to Python2. Python Fundamentals3. Expression and Operators4. Control Statements5. Functions6. List Processing7. Tuple Processing8. Dictionary Processing9. String Processing10. File Processing11. Exception Handling12. Object Oriented Programming13. Inheritance & Polymorphism14. Database Design in Python About the authorRydhm Beri teaches in BBK DAV College for Women, Amritsar, as an Assistant Professor, since last three years and has 5 years of experience in the field of education and 3 years of experience in research. Her research interests include MANETs, Cloud computing, IOT, Fog Computing. She has done M.Sc. Computer Science from BBK DAV College for Women, Amritsar and MCA from Lovely Professional University and is currently pursuing Ph.D. in the field of IOT and embedded systems. She has a deep knowledge of programming and has worked for different projects in languages like, .Net, Java, PHP and Python. Currently she is working on Python programming and relate it to IOT and Machine learning field.She has published 19 research papers out of which 17 are international and 2 are national research papers. She has also been working as a reviewer in conferences and journals. In her leisure time, she likes to attend workshops and conferences and likes to program applications.Her Blog links: https://rydhmberi.weebly.com/Her LinkedIn Profile: https://www.linkedin.com/in/rydhm-beri-47a721101/
Download or read book Practical Object oriented Design in Ruby written by Sandi Metz and published by Pearson Education. This book was released on 2013 with total page 272 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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 powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. This book focuses squarely on object-oriented Ruby application design. Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues. This guide will help you Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade Decide what belongs in a single Ruby class Avoid entangling objects that should be kept separate Define flexible interfaces among objects Reduce programming overhead costs with duck typing Successfully apply inheritance Build objects via composition Design cost-effective tests Solve common problems associated with poorly designed Ruby code