[HN Gopher] Show HN: "100 Page Python Intro" eBook
       ___________________________________________________________________
        
       Show HN: "100 Page Python Intro" eBook
        
       Author : asicsp
       Score  : 91 points
       Date   : 2021-02-09 12:33 UTC (10 hours ago)
        
 (HTM) web link (learnbyexample.github.io)
 (TXT) w3m dump (learnbyexample.github.io)
        
       | asicsp wrote:
       | Hello! Author here.
       | 
       | 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
        
       | usrme wrote:
       | Great work! One minor nitpick would be to move the "In-place
       | editing with fileinput" section to "Dealing with files" as it
       | seems only tangentially related to command line arguments. At
       | first glance I thought it was put there in error...
        
       | NDizzle wrote:
       | The first thing I'd tell you is that people who are looking to
       | learn python with 0% knowledge of python are most likely not
       | using linux as an operating system.
       | 
       | 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.
        
         | serjester wrote:
         | Google Colab is amazing for speeding through these early
         | roadblocks. Controversial opinion but a beginner's goal should
         | be accomplishing a task - not learning about software
         | development.
         | 
         | 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.
        
           | samstave wrote:
           | >* beginner's goal should be accomplishing a task*
           | 
           | 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...
        
         | poisonborz wrote:
         | As OP stated, the book is for beginners in Python, not in
         | development. I don't think your remarks would apply to that
         | group.
        
           | ghaff wrote:
           | That's how I read it as well. That said, I think it's fair to
           | note that anyone who has only ever used their computer for
           | browsing, word processing, and gaming who gets dropped into
           | most Introduction to X courses really has a whole (somewhat
           | operating system and tools-dependent) course worth of
           | material they probably need to go through first.
           | 
           | 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.
        
             | dharmab wrote:
             | Web IDEs are great for these intro-to-programming courses.
             | Ideally the students get a couple of weeks of material on
             | how to set up a local development environment later.
        
         | asicsp wrote:
         | Thanks for the feedback.
         | 
         | 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.
        
           | fock wrote:
           | While Mac is indeed problematic, for Windows you can just
           | download a copy of their evaluation VM and go through
           | installation there. For my own course installing and doing
           | "Hello World" is actually the 0th exercise, because it
           | doesn't make sense to start doing stuff if this doesn't work.
        
           | interestica wrote:
           | This is a pretty good framework for learning.
           | 
           | > 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?
        
           | t0mmyb0y wrote:
           | Mac is almost identical to linux.
        
         | dddddaviddddd wrote:
         | I recently read The C Programming Language, and the paragraph
         | about the difficulty of writing a 'Hello, world' resonated with
         | me:
         | 
         | > 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.
        
           | geephroh wrote:
           | Exactly! React and node are just simple JS, right?
           | 
           | Simple JS, after you figure out which toolchain to use and
           | how to configure it for your development and deployment
           | environments...
        
             | bigwavedave wrote:
             | > Exactly! React and node are just simple JS, right?
             | 
             | > 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 ;).
        
           | mszcz wrote:
           | Seconded. When my brother was learning front-end developement
           | those were the kind of things that caused most problems in
           | the beginning but were the most glossed over in the
           | tutorials.
           | 
           | 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.
        
             | musingsole wrote:
             | Most people who code will need an inverted triangle of
             | knowledge in relation to the software stack. Starting with
             | some subset of software fundamentals is great, but it's
             | easy to lose the forest for the trees in that approach.
             | 
             | 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.
        
       | nathannh20 wrote:
       | My partner has tried learning Python multiple times. What hung
       | her up the most each time was the installation and setup on a
       | Mac. After finally finding a Python course that held her hand
       | through the installation phase, the next hurdle was finding a
       | project that was interesting to her.
        
         | michaelmcdonald wrote:
         | Care to share the course that helped with the install / setup
         | on a Mac?
        
         | sixhobbits wrote:
         | We tried to solve both of these problems with
         | https://codewithrepl.it - an ebook and set of tutorials.
         | 
         | Setup - use an online IDE Projects - learn by building
         | 
         | If she tries it I would love any feedback!
        
         | asicsp wrote:
         | If you are still interested in exploring projects, here's some:
         | 
         | * 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
        
           | joveian wrote:
           | Kitty terminal is about half python as well with extension
           | opportunities and would probably be a good early project
           | opportunity for some people.
           | 
           | 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).
        
           | jhloa2 wrote:
           | Thank you for posting this. I've been meaning to get back
           | into programming for fun recently but have been struggling to
           | find something I wanted to work on.
        
       | healeycodes wrote:
       | (n.b. I gave feedback on an early draft of this book.)
       | 
       | 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.
        
       | jpm48 wrote:
       | A lot of talk with issues of setup here. I have been using
       | https://trinket.io/ with my lecture notes / students as a good
       | way of getting started. Especially now we are teaching online and
       | not using our dedicated labs with python already installed. It
       | works well and you can use turtle.
        
       ___________________________________________________________________
       (page generated 2021-02-09 23:01 UTC)