[Tutor] Python Beginner Book Advice

David L Neil PyTutor at DancesWithMice.info
Tue Mar 17 21:05:40 EDT 2020


On 18/03/20 3:07 AM, Genius Pete wrote:
> Hello!
> I am a high schooler taking AP CSP and I am about 2 weeks off from school
> due to coronavirus. My teacher has told us that we will start with the
> Create Task when we come back, but I only know JavaScript and HTML. I need
> to learn either Python or Java, and decided to learn about Python. I need
> to study for those two weeks, so can you please recommend a textbook for
> beginners and or a step by step guide that would be helpful. Thank you very
> much, I don’t know whom to contact, but please let me know whom to contact
> if you don’t know the answer to my problem. Also I have been looking around
> Automate the Boring Stuff, Python Crash Course, and Invent your own Games
> with Python. Do you recommend to buy all three of these books for my create
> task, or stick to one or two?
> Thanks for your time,
> Pete
> P.S: I would like a textbook since I can see it and take notes on it, I
> don’t want a virtual guide, but if it helps include it with the textbook.


Wow, I wonder how many other genii (geniuses) we have here? I'd make a 
joke about genies (also genii?) but you're probably too young to 
remember Barbara Eden.


Your question about 'how many books' reminds me of the old saw: never 
take two chronometers to sea. (if they differ, which one do you 
believe?) In this case, one book is good (implicit quality assumption), 
two books might be helpful, but having a third is likely to find itself 
used much less.

You need to start with a focus, ie following one book. If something is 
unclear, having a second volume will enable you to see if 'the same 
material' presented differently helps your mind go 'click'. However, 
there are so many sources on-line, if that one book is insufficient, you 
might as well improve your search-engine key-word selection skills to 
find alternative presentations - and ultimately, we are here!


I learned the language using a book called "Core Python" by Chen. 
Hundreds of pages long, I describe such tomes as 'sold by the pound'. 
After sounding like an insult, I have to say I found it very 
comprehensive. Sadly, my copy is Python2, but I recall that he published 
an update for Python3. Perhaps you will find details on Amazon or similar?

Referring back to the three-books idea: Sixty-North publish a series of 
books: Python Apprentice, ...Journeyman, and ...Master. (you won't want 
to purchase all three at once!). These follow a circular or spiral path 
through Python materials, so as a total picture they exceed your current 
request - but will 'grow' with you! I can recommend them.


I am intrigued by your preference for a "textbook". Most 'modern' 
educational writing suggests that today's generation of school-kids are 
"digital natives" and prefer their materials on-screen. (rightly or 
wrongly). Did you have a particular reason for using the term, or is the 
medium less important than a cohesive and cumulative presentation?

Noting that you already have a response which talks about books 
available on-line, continuing that idea, would you consider on-line 
courses from edX, Coursera, etc? Were you implying that video-lectures 
don't suit you?


The earlier advice - don't just read, but practice, is pure-gold! You 
cannot prove your understanding of Python until you can write code! I 
would like to add, that highlighting or scribbling in textbook margins 
is NOT an effective learning technique. Interestingly, making notes on a 
PC or tablet similarly lacks 'stickability' in the brain.

The proven way to learn (from (at least) as far back as my time, and 
according to current research) is to make notes in a lab-book/log-book. 
The process of pausing (not so easy during a live-lecture), thinking 
about the material, forming your own "model", and then (hand) writing 
notes in your own words; which aids memory. It also facilitates 
reviewing the material that evening/next day (or very soon but not 
immediately-after initial writing).

The first step helps you to form your own view or 'map' of the material. 
The second, will more than double the chances that the major points will 
lodge in long-term memory - ie you will remember it even after this 
year's exams!


One word of warning, if I may: (Cognitive Psychology is my research 
area) there was a Pop-Psy theory which spread widely through the 
teaching community, parents, et al; that there are different 
'intelligences' (which part we won't debate at this time), which led to 
the conclusion that different intelligences require different forms of 
teaching. This last part is *not* proven by serious research. In 
reality, we need to be able to take any and all information we are 
given, in whatever form/format/media - and learn from that if we are to 
survive in a fast-changing world. Accordingly, the aforementioned theory 
does tremendous damage when people fixate on the idea that they can only 
learn in one manner or mode. Yes we might have preferences, and yours 
might well differ from mine, but the fact remains that the IT-business 
changes so much and so fast, we must 'learn'/stay up-to-date from a 
veritable fire-hose of information-flow. So, learning-flexibility is a 
paramount skill!


Disclaimers:
- I use edX as a training platform, but not in Python
- I would receive no commission were you to purchase a book from Amazon, etc
- I'm writing this without Internet access, so no web.refs (apologies), 
but I'm sure you're capable of tracking-down stuff for yourself.
-- 
Regards =dn


More information about the Tutor mailing list