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