Show HN: "100 Page Python Intro" eBook
learnbyexample.github.io
learnbyexample.github.io
Windows/Mac instructions up front make a lot of sense.
Other hangups newbies have: where to type things? Where to run commands? Hell, what's a command? These are the things one of my kids asked me when I was showing them python last night.
> This is the big hurdle; to leap over it you have to be able to create the program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy.
For beginners, getting the development environment figured out can be a significant roadblock.
I personally think that learning the nuts and bolts of how things work is where one should start. What compiles what, where is what stored, what process executes what, how does that thing know where that other thing is located etc.
If I love websites and now I want to build one, spending more time on fundamentals than is necessary to impart a general scheme and more importantly the metaphors of those fundamentals would be a waste.
Simple JS, after you figure out which toolchain to use and how to configure it for your development and deployment environments...
> Simple JS, after you figure out which toolchain to use and how to configure it for your development and deployment environments...
And god help you when any of your dependencies undergo a major update ;).
A few wins later, they’re going to run into some friction and that’s when you can teach them about the standard to write code. Most importantly, they’ll understand the underlying “why” at this point.
Yup - I learned Photoshop in the mid 1990s because I was given a task to make some marketing material for the architecture firm I worked for... and they paid hourly for me to go to the Kinkos near the office as they had workstations with Photoshop on them.
If you have a goal/task that you need to create then you will learn faster.
You can't just sit down in front of a piece of software, such as Autocad or Photoshop and "learn" it unless you have a goal...
There is a bad-ass piece of software called "Bartender" By Seagull Scientific and its used extensively in the cannabis industry to make labels - I love that software and I had to learn how to use it as I needed to design and print Cannabis labels...
I have Linux only, so can't give Windows/Mac instructions. That said I do show how to use IDLE, so command line knowledge isn't strictly necessary to follow along this book. I also mention links for websites you can use as an alternate.
Given that knowing another programming language is a prerequisite, I hope getting started won't be an issue. I'll see if I can improve on the current instructions.
> I have Linux only, so can't give Windows/Mac instructions. That said I do show how to use IDLE, so command line knowledge isn't strictly necessary to follow along this book.
You bring up IDLE but don't define it. It's mentioned that it's related to IDE only.
> Given that knowing another programming language is a prerequisite...
Is that mentioned at all? And which ones? Why?
I mention it in the preface chapter: https://learnbyexample.github.io/100_page_python_intro/prefa...
There are plenty of books teaching Python for beginners to programming (Think Python, Automate the Boring Stuff, Python Crash Course and so on). And those are all 200+ page books, requiring a lot of effort from the author to teach programming concepts.
I've seen a few people wanting a book that assumes the reader is already familiar with programming basics. The official Python tutorial is awesome for that purpose and there are a few books as well (A Whirlwind Tour of Python, Python 101, etc). I had started another book on Python projects and I felt I needed to improve my Python knowledge, so I wrote this book.
>You bring up IDLE but don't define it. It's mentioned that it's related to IDE only.
I'm assuming reader already knows IDE. I can add a wikipedia link to make it easier to look it up for those who don't know about it.
I've seen the discussion boards of a couple nominally-intro MOOC courses filled with people utterly bewildered about basically how to use a computer for programming.
This book is a short, introductory guide for the Python programming language. This book is well suited:
* As a reference material for Python beginner workshops
* If you have prior experience with another programming language
* If you want a complement resource after reading a Python basics book, watching a video course, etc
---
The post link takes you to the free online version of the ebook. PDF/EPUB versions are currently free (for about a week) along with some of my other books. You can get them from gumroad/leanpub, links are given below:
* 100 Page Python Intro: https://gumroad.com/l/100pagepythonintro or https://leanpub.com/100pagepythonintro
* Python re(gex)?: https://gumroad.com/l/py_regex or https://leanpub.com/py_regex
* Magical one-liners (grep/sed/awk/perl/ruby): https://gumroad.com/l/oneliners or https://leanpub.com/b/oneliners
* https://github.com/tuvtran/project-based-learning#python
* https://github.com/karan/Projects-Solutions
* https://github.com/norvig/pytudes
* What do you automate with Python at home? - https://www.reddit.com/r/learnpython/comments/k5k1h0/what_do...
* Books: https://www.manning.com/books/tiny-python-projects, https://nostarch.com/impracticalpythonprojects, https://nostarch.com/real-world-python
https://github.com/kovidgoyal/kitty
Also, renpy is used for a number of games, including some commercial games, so modifiying an existing game would be another option. (As a side note, I wish someone would make a python point and click adventure equivalent of renpy since for being such basic games they very often have major technical issues).
Setup - use an online IDE Projects - learn by building
If she tries it I would love any feedback!
It's very thorough, written with care, and presented in a way that makes sense. Even as an intermediate Python programmer, I found use in this book.