Learn Ruby the hard way : a simple and idiomatic introduction to the imaginative world of computational thinking with code
(2014)
By: Shaw, Zed

Nonfiction

Book

Call Numbers:
005.133/RUBY/SHAW,Z

Availability

Locations Call Number Status
Adult Nonfiction 005.133/RUBY/SHAW,Z Available

Details

PUBLISHED
Upper Saddle River, NJ : Addison-Wesley Professional, 2014
EDITION
Third edition
DESCRIPTION

xv, 303 pages : illustrations ; 23 cm + 1 DVD-ROM (4 3/4 in.)

ISBN/ISSN
9780321884992, 032188499X :, 032188499X, 9780321884992
LANGUAGE
English
NOTES

Includes index

The Hard Way Is Easier -- Reading and Writing -- Attention to Detail -- Spotting Differences -- Do Not Copy-Paste -- Using the Included Videos -- A Note on Practice and Persistence -- A Warning for the Smarties -- Exercise 0: The Setup -- Mac OS X -- Windows -- Linux -- Finding Things on the Internet -- Warnings for Beginners -- Exercise 1: A Good First Program -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 2: Comments and Pound Characters -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 3: Numbers and Math -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 4: Variables and Names -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 5: More Variables and Printing -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 6: Strings and Text -- What You Should See -- Study Drills -- Common Student Question -- Exercise 7: More Printing -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 8: Printing, Printing -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 9: Printing, Printing, Printing -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 10: What Was That? -- What You Should See -- Escape Sequences -- Study Drills -- Common Student Questions -- Exercise 11: Asking Questions -- What You Should See -- Study Drills -- Common Student Question -- Exercise 12: Prompting People for Numbers -- What You Should See -- Study Drills -- Exercise 13: Parameters, Unpacking, Variables -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 14: Prompting and Passing -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 15: Reading Files -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 16: Reading and Writing Files -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 17: More Files -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 18: Names, Variables, Code, Functions -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 19: Functions and Variables -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 20: Functions and Files -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 21: Functions Can Return Something -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 22: What Do You Know So Far? -- What You Are Learning -- Exercise 23: Read Some Code -- Exercise 24: More Practice -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 25: Even More Practice -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 26: Congratulations, Take a Test! -- Common Student Questions -- Exercise 27: Memorizing Logic -- The Truth Terms -- The Truth Tables -- Common Student Question -- Exercise 28: Boolean Practice -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 29: What If -- What You Should See -- Study Drills -- Common Student Question -- Exercise 30: Else and If -- What You Should See -- Study Drills -- Common Student Question -- Exercise 31: Making Decisions -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 32: Loops and Arrays -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 33: While Loops -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 34: Accessing Elements of Arrays -- Study Drills -- Exercise 35: Branches and Functions -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 36: Designing and Debugging -- Rules for If-Statements -- Rules for Loops -- Tips for Debugging -- Homework -- Exercise 37: Symbol Review -- Keywords -- Data Types -- String Escape Sequences -- Operators -- Reading Code -- Study Drills -- Common Student Question -- Exercise 38: Doing Things to Arrays -- What You Should See -- What Arrays Can Do -- When to Use Arrays -- Study Drills -- Common Student Questions -- Exercise 39: Hashes, Oh Lovely Hashes -- A Hash Example -- What You Should See -- What Hashes Can Do -- Making Your Own Hash Module -- The Code Description -- Three Levels of Arrays -- What You Should See (Again) -- When to Use Hashes or Arrays -- Study Drills -- Common Student Questions -- Exercise 40: Modules, Classes, and Objects -- Modules Are Like Hashes -- What You Should See -- Study Drills -- Common Student Question -- Exercise 41: Learning to Speak Object Oriented -- Word Drills -- Phrase Drills -- Combined Drills -- A Reading Test -- Practice English to Code -- Reading More Code -- Common Student Questions -- Exercise 42: Is-A, Has-A, Objects, and Classes -- How This Looks in Code -- Study Drills -- Common Student Questions -- Exercise 43: Basic Object-Oriented Analysis and Design -- The Analysis of a Simple Game Engine -- Top Down Versus Bottom Up -- The Code for "Gothons from Planet Percal #25" -- What You Should See -- Study Drills -- Common Student Question -- Exercise 44: Inheritance Versus Composition -- What Is Inheritance? -- Composition -- When to Use Inheritance or Composition -- Study Drills -- Common Student Questions -- Exercise 45: You Make a Game -- Evaluating Your Game -- Function Style -- Class Style -- Code Style -- Good Comments -- Evaluate Your Game -- Exercise 46: A Project Skeleton -- Creating the Skeleton Project Directory -- Testing Your Setup -- Using the Skeleton -- Required Quiz -- Common Student Questions -- Exercise 47: Automated Testing -- Writing a Test Case -- Testing Guidelines -- What You Should See -- Study Drills -- Common Student Questions -- Exercise 48: Advanced User Input -- Our Game Lexicon -- A Test First Challenge -- What You Should Test -- Study Drills -- Common Student Questions -- Exercise 49: Making Sentences -- Match and Peek -- The Sentence Grammar -- A Word on Exceptions -- The Parser Code -- Playing with the Parser -- What You Should Test -- Study Drills -- Common Student Question -- Exercise 50: Your First Website -- Installing Sinatra -- Make a Simple "Hello World" Project -- What's Happening Here? -- Stopping and Reloading Sinatra -- Fixing Errors -- Create Basic Templates -- Study Drills -- Common Student Questions -- Exercise 51: Getting Input from a Browser -- How the Web Works -- How Forms Work -- Creating HTML Forms -- Creating a Layout Template -- Writing Automated Tests for Forms -- Study Drills -- Common Student Question -- Exercise 52: The Start of Your Web Game -- Refactoring the Exercise 43 Game -- Sessions and Tracking Users -- Creating an Engine -- Your Final Exam -- Next Steps -- How to Learn Any Programming Language -- Advice from an Old Programmer -- Appendix: Command Line Crash Course -- Introduction: Shut Up and Shell -- The Setup -- Paths, Folders, and Directories (pwd) -- If You Get Lost -- Make a Directory (mkdir) -- Change Directory (cd) -- List Directory (ls) -- Remove Directory (rmdir) -- Moving Around (pushd, popd) -- Making Empty Files (Touch, New-Item) -- Copy a File (cp) -- Moving a File (mv) -- View a File (less, MORE) -- Stream a File (cat) -- Removing a File (rm) -- Exiting Your Terminal (exit) -- Command Line Next Steps

You will learn Ruby! Zed Shaw has perfected the world's best system for learning Ruby. Follow it and you will succeed -- just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else. In Learn Ruby the Hard Way, Third Edition, you'll learn Ruby 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 software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Ruby software of your own: Installing your Ruby environment; Organizing and writing code; Ruby symbols and keywords; Basic mathematics; Variables and printing; Strings and text; Interacting with users; Working with files; Using and creating functions; Looping and logic; Arrays and elements; Hashmaps; Program design; Object-oriented programming; Inheritance and composition; Modules, classes, and objects; Project "skeleton" directories; Debugging and automated testing; Advanced user input; Text processing; 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 tutorial 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 Ruby programmer. Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Ruby video course! - Publisher