- Author: Zed A. Shaw
- Format: online HTML
- Price: Free
The book is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It’s intended for people who have no coding chops to build up their skills before starting a more detailed book.
The title says it’s the hard way to learn to write code; but it’s actually not. It’s only the “hard” way because it’s the way people used to teach things.
The book is very simple:
- 52 exercises in all.
- 26 cover just input/output, variables, and functions.
- 26 cover logic (boolean algebra, if-statements, while-loops, etc.)
Each exercise is one or two pages and follows the exact same format. You type each one in (no copy-paste!), make it run, do the extra credit, and then move on. If you get stuck, at least type it in and skip the extra credit for later.
Chapters include:
- The Hard Way Is Easier
- Exercise 0: The Setup
- Exercise 1: A Good First Program
- 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
- Exercise 7: More Printing
- Exercise 8: Printing, Printing
- Exercise 9: Printing, Printing, Printing
- Exercise 10: What Was That?
- Exercise 11: Asking Questions
- Exercise 12: Prompting People
- Exercise 13: Parameters, Unpacking, Variables
- 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?
- Exercise 23: Read Some Code
- Exercise 24: More Practice
- Exercise 25: Even More Practice
- Exercise 26: Congratulations, Take A Test!
- Exercise 27: Memorizing Logic
- Exercise 28: Boolean Practice
- Exercise 29: What If
- Exercise 30: Else And If
- Exercise 31: Making Decisions
- Exercise 32: Loops And Lists
- Exercise 33: While Loops
- Exercise 34: Accessing Elements Of Lists
- Exercise 35: Branches and Functions
- Exercise 36: Designing and Debugging
- Exercise 37: Symbol Review
- Exercise 38: Reading Code
- Exercise 39: Doing Things To Lists
- Exercise 40: Dictionaries, Oh Lovely Dictionaries
- Exercise 41: A Room With A View Of A Bear With A Broadsword
- Exercise 42: Getting Classy
- Exercise 43: You Make A Game
- Exercise 44: Evaluating Your Game
- Exercise 45: Is-A, Has-A, Objects, and Classes
- Exercise 46: A Project Skeleton
- Exercise 47: Automated Testing
- Exercise 48: Advanced User Input
- Exercise 49: Making Sentences
- Exercise 50: Your First Work Assignment
- Exercise 51: Reviewing Your Game
- Exercise 52: Teach Someone Else What You Know
- Next Steps
- Advice From An Old Programmer