Learn Ruby the Hard Way: A Simple and Idiomatic Introduction to the Imaginative World of Computational Thinking with Code (3rd Revised edition)

Learn Ruby the Hard Way: A Simple and Idiomatic Introduction to the Imaginative World of Computational Thinking with Code (3rd Revised edition)

By: Zed A. Shaw (author)Mixed Media

1 - 2 weeks availability

£21.24 RRP £24.99  You save £3.75 (15%) & FREE Saver Delivery on orders over £25

Description

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! Zed Shaw is an avid guitar player, programmer, and writer whose books teach people all over the world how to write software. His book Learn Python the Hard Way has been read by millions of people around the world. His software has been used by many large and small companies. His essays are often quoted and read by members of many geek communities. He is an entertaining and lively writer, who is sure to keep you laughing and make you think.

Create a review

About Author

Zed Shaw is an avid guitar player, programmer, and writer whose books teach people all over the world how to write software. His book Learn Python the Hard Way has been read by millions of people around the world. His software has been used by many large and small companies. His essays are often quoted and read by members of many geek communities. He is an entertaining and lively writer, who is sure to keep you laughing and make you think.

Contents

Preface 1 Acknowledgments 1 The Hard Way Is Easier 2 Reading and Writing 2 Attention to Detail 2 Spotting Differences 3 Do Not Copy-Paste 3 Using the Included Videos 3 A Note on Practice and Persistence 3 A Warning for the Smarties 4 Exercise 0: The Setup 6 Mac OS X 6 Windows 7 Linux 8 Finding Things on the Internet 10 Warnings for Beginners 10 Exercise 1: A Good First Program 12 What You Should See 14 Study Drills 16 Common Student Questions 17 Exercise 2: Comments and Pound Characters 18 What You Should See 18 Study Drills 18 Common Student Questions 19 Exercise 3: Numbers and Math 20 What You Should See 21 Study Drills 21 Common Student Questions 22 Exercise 4: Variables and Names 24 What You Should See 25 Study Drills 25 Common Student Questions 25 Exercise 5: More Variables and Printing 28 What You Should See 28 Study Drills 29 Common Student Questions 29 Exercise 6: Strings and Text 30 What You Should See 31 Study Drills 31 Common Student Question 31 Exercise 7: More Printing 32 What You Should See 32 Study Drills 33 Common Student Questions 33 Exercise 8: Printing, Printing 34 What You Should See 34 Study Drills 35 Common Student Questions 35 Exercise 9: Printing, Printing, Printing 36 What You Should See 36 Study Drills 37 Common Student Questions 37 Exercise 10: What Was That? 38 What You Should See 39 Escape Sequences 39 Study Drills 40 Common Student Questions 40 Exercise 11: Asking Questions 42 What You Should See 42 Study Drills 43 Common Student Question 43 Exercise 12: Prompting People for Numbers 44 What You Should See 44 Study Drills 44 Exercise 13: Parameters, Unpacking, Variables 46 What You Should See 46 Study Drills 47 Common Student Questions 47 Exercise 14: Prompting and Passing 50 What You Should See 50 Study Drills 51 Common Student Questions 51 Exercise 15: Reading Files 52 What You Should See 53 Study Drills 53 Common Student Questions 54 Exercise 16: Reading and Writing Files 56 What You Should See 57 Study Drills 57 Common Student Questions 58 Exercise 17: More Files 60 What You Should See 60 Study Drills 61 Common Student Questions 61 Exercise 18: Names, Variables, Code, Functions 62 What You Should See 63 Study Drills 64 Common Student Questions 65 Exercise 19: Functions and Variables 66 What You Should See 67 Study Drills 67 Common Student Questions 67 Exercise 20: Functions and Files 70 What You Should See 71 Study Drills 71 Common Student Questions 71 Exercise 21: Functions Can Return Something 74 What You Should See 75 Study Drills 75 Common Student Questions 76 Exercise 22: What Do You Know So Far? 78 What You Are Learning 78 Exercise 23: Read Some Code 80 Exercise 24: More Practice 82 What You Should See 83 Study Drills 83 Common Student Questions 83 Exercise 25: Even More Practice 84 What You Should See 85 Study Drills 87 Common Student Questions 87 Exercise 26: Congratulations, Take a Test! 88 Common Student Questions 88 Exercise 27: Memorizing Logic 90 The Truth Terms 90 The Truth Tables 91 Common Student Question 92 Exercise 28: Boolean Practice 94 What You Should See 96 Study Drills 96 Common Student Questions 96 Exercise 29: What If 98 What You Should See 99 Study Drills 99 Common Student Question 99 Exercise 30: Else and If 100 What You Should See 101 Study Drills 101 Common Student Question 101 Exercise 31: Making Decisions 102 What You Should See 103 Study Drills 103 Common Student Questions 103 Exercise 32: Loops and Arrays 106 What You Should See 108 Study Drills 108 Common Student Questions 108 Exercise 33: While Loops 110 What You Should See 111 Study Drills 112 Common Student Questions 112 Exercise 34: Accessing Elements of Arrays 114 Study Drills 115 Exercise 35: Branches and Functions 116 What You Should See 118 Study Drills 118 Common Student Questions 118 Exercise 36: Designing and Debugging 120 Rules for If-Statements 120 Rules for Loops 120 Tips for Debugging 121 Homework 121 Exercise 37: Symbol Review 122 Keywords 122 Data Types 124 String Escape Sequences 124 Operators 125 Reading Code 126 Study Drills 126 Common Student Question 127 Exercise 38: Doing Things to Arrays 128 What You Should See 129 What Arrays Can Do 129 When to Use Arrays 130 Study Drills 131 Common Student Questions 131 Exercise 39: Hashes, Oh Lovely Hashes 132 A Hash Example 133 What You Should See 135 What Hashes Can Do 136 Making Your Own Hash Module 136 The Code Description 140 Three Levels of Arrays 142 What You Should See (Again) 142 When to Use Hashes or Arrays 143 Study Drills 143 Common Student Questions 144 Exercise 40: Modules, Classes, and Objects 146 Modules Are Like Hashes 146 What You Should See 151 Study Drills 151 Common Student Question 151 Exercise 41: Learning to Speak Object Oriented 152 Word Drills 152 Phrase Drills 152 Combined Drills 153 A Reading Test 153 Practice English to Code 156 Reading More Code 156 Common Student Questions 156 Exercise 42: Is-A, Has-A, Objects, and Classes 158 How This Looks in Code 159 Study Drills 161 Common Student Questions 161 Exercise 43: Basic Object-Oriented Analysis and Design 164 The Analysis of a Simple Game Engine 165 Top Down Versus Bottom Up 170 The Code for "Gothons from Planet Percal #25" 170 What You Should See 176 Study Drills 177 Common Student Question 177 Exercise 44: Inheritance Versus Composition 178 What Is Inheritance? 178 Composition 183 When to Use Inheritance or Composition 185 Study Drills 186 Common Student Questions 186 Exercise 45: You Make a Game 188 Evaluating Your Game 188 Function Style 189 Class Style 189 Code Style 190 Good Comments 190 Evaluate Your Game 191 Exercise 46: A Project Skeleton 192 Creating the Skeleton Project Directory 192 Testing Your Setup 195 Using the Skeleton 195 Required Quiz 195 Common Student Questions 196 Exercise 47: Automated Testing 198 Writing a Test Case 198 Testing Guidelines 201 What You Should See 201 Study Drills 202 Common Student Questions 202 Exercise 48: Advanced User Input 204 Our Game Lexicon 204 A Test First Challenge 206 What You Should Test 207 Study Drills 209 Common Student Questions 210 Exercise 49: Making Sentences 212 Match and Peek 212 The Sentence Grammar 213 A Word on Exceptions 213 The Parser Code 213 Playing with the Parser 216 What You Should Test 217 Study Drills 217 Common Student Question 217 Exercise 50: Your First Website 218 Installing Sinatra 218 Make a Simple "Hello World" Project 219 What's Happening Here? 220 Stopping and Reloading Sinatra 221 Fixing Errors 221 Create Basic Templates 222 Study Drills 223 Common Student Questions 223 Exercise 51: Getting Input from a Browser 224 How the Web Works 224 How Forms Work 226 Creating HTML Forms 227 Creating a Layout Template 228 Writing Automated Tests for Forms 229 Study Drills 230 Common Student Question 231 Exercise 52: The Start of Your Web Game 232 Refactoring the Exercise 43 Game 232 Sessions and Tracking Users 237 Creating an Engine 238 Your Final Exam 240 Next Steps 242 How to Learn Any Programming Language 243 Advice from an Old Programmer 246 Appendix: Command Line Crash Course 249 Introduction: Shut Up and Shell 249 The Setup 251 Paths, Folders, and Directories (pwd) 254 If You Get Lost 256 Make a Directory (mkdir) 257 Change Directory (cd) 260 List Directory (ls) 264 Remove Directory (rmdir) 269 Moving Around (pushd, popd) 273 Making Empty Files (Touch, New-Item) 276 Copy a File (cp) 277 Moving a File (mv) 281 View a File (less, MORE) 283 Stream a File (cat) 285 Removing a File (rm) 286 Exiting Your Terminal (exit) 289 Command Line Next Steps 290 Index 291

Product Details

  • publication date: 07/12/2014
  • ISBN13: 9780321884992
  • Format: Mixed Media
  • Number Of Pages: 336
  • ID: 9780321884992
  • weight: 560
  • ISBN10: 032188499X
  • edition: 3rd Revised edition

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close