My Account Log in

1 option

Learn Ruby the Hard Way: : A Simple and Idiomatic Introduction to the Imaginative World of Computational Thinking with Code, Third Edition / Shaw, Zed.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Shaw, Zed, author.
Series:
Zed Shaw's Hard Way
Language:
English
Subjects (All):
Ruby (Computer program language).
Application software--Development.
Application software.
Physical Description:
1 online resource (336 pages)
Edition:
1st edition
Other Title:
Simple and idiomatic introduction to the imaginative world of computational thinking with code
Place of Publication:
Addison-Wesley Professional, 2014.
System Details:
text file
Summary:
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.
Contents:
Intro
About This eBook
Title Page
Copyright Page
Contents
Preface
Acknowledgments
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
OS X: What You Should See
Windows
Windows: What You Should See
Linux
Linux: What You Should See
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
Exercise 3. Numbers and Math
Exercise 4. Variables and Names
Exercise 5. More Variables and Printing
Exercise 6. Strings and Text
Common Student Question
Exercise 7. More Printing
Exercise 8. Printing, Printing
Exercise 9. Printing, Printing, Printing
Exercise 10. What Was That?
Escape Sequences
Exercise 11. Asking Questions
Exercise 12. Prompting People for Numbers
Exercise 13. Parameters, Unpacking, Variables
Common Student Questions.
Exercise 14. Prompting and Passing
Exercise 15. Reading Files
Exercise 16. Reading and Writing Files
Exercise 17. More Files
Exercise 18. Names, Variables, Code, Functions
Exercise 19. Functions and Variables
Exercise 20. Functions and Files
Exercise 21. Functions Can Return Something
Exercise 22. What Do You Know So Far?
What You Are Learning
Exercise 23. Read Some Code
Exercise 24. More Practice
Exercise 25. Even More Practice
Exercise 26. Congratulations, Take a Test!
Exercise 27. Memorizing Logic
The Truth Terms
The Truth Tables
Exercise 28. Boolean Practice
Exercise 29. What If
Exercise 30. Else and If
Exercise 31. Making Decisions
Exercise 32. Loops and Arrays
Exercise 33. While Loops
Study Drills.
Common Student Questions
Exercise 34. Accessing Elements of Arrays
Exercise 35. Branches and Functions
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
Exercise 38. Doing Things to Arrays
What Arrays Can Do
When to Use Arrays
Exercise 39. Hashes, Oh Lovely Hashes
A Hash Example
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
Exercise 40. Modules, Classes, and Objects
Modules Are Like Hashes
Classes Are Like Modules
Objects Are Like Require
Getting Things from Things
A First Class Example
Exercise 41. Learning to Speak Object Oriented
Word Drills
Phrase Drills
Combined Drills
A Reading Test
Practice English to Code
Reading More Code
Exercise 42. Is-A, Has-A, Objects, and Classes
How This Looks in Code
Exercise 43. Basic Object-Oriented Analysis and Design
The Analysis of a Simple Game Engine
Write or Draw about the Problem
Extract Key Concepts and Research Them
Create a Class Hierarchy and Object Map for the Concepts
Code the Classes and a Test to Run Them
Repeat and Refine
Top Down Versus Bottom Up
The Code for "Gothons from Planet Percal #25"
What You Should See.
Study Drills
Exercise 44. Inheritance Versus Composition
What Is Inheritance?
Implicit Inheritance
Override Explicitly
Alter Before or After
All Three Combined
Using super() with initialize
Composition
When to Use Inheritance or Composition
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
Final Directory Structure
Testing Your Setup
Using the Skeleton
Required Quiz
Exercise 47. Automated Testing
Writing a Test Case
Testing Guidelines
Exercise 48. Advanced User Input
Our Game Lexicon
Breaking Up a Sentence
Lexicon Tuples
Scanning Input
Exceptions and Numbers
A Test First Challenge
What You Should Test
Exercise 49. Making Sentences
Match and Peek
The Sentence Grammar
A Word on Exceptions
The Parser Code
Playing with the Parser
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
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
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
How to Use This Appendix
You Will Be Memorizing Things
The Setup
Do This
You Learned This
Do More
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
UNIX Bash References
PowerShell References
Index
Where are the Companion Content Files?
Code Snippets.
Notes:
Includes index.
Online resource; Title from title page (viewed December 7, 2014)
Description based on publisher supplied metadata and other sources.
ISBN:
9780133135633
0133135632
9780133124484
0133124487
OCLC:
897934088

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account