» » Head First Programming: A learner's guide to programming using the Python language

epub Head First Programming: A learner's guide to programming using the Python language download

by Paul Barry,David Griffiths

  • ISBN: 0596802374
  • Author: Paul Barry,David Griffiths
  • ePub ver: 1885 kb
  • Fb2 ver: 1885 kb
  • Rating: 4.3 of 5
  • Language: English
  • Pages: 442
  • Publisher: O'Reilly Media; 1 edition (December 4, 2009)
  • Formats: lrf mbr lrf mobi
  • Category: IT
  • Subcategory: Programming
epub Head First Programming: A learner's guide to programming using the Python language download

David Griffiths, Paul Barry. I got this book for my 15 ear old son who has never programmed. It is very well designed to help the beginner through ACTIVELY learning the core fundamentals of programming.

David Griffiths, Paul Barry. For the novice, this is by far the best book I found. Warning, it does require you to think from the start. My son was put off by what he thought was slow progress. What he didnot realize was that he learned in 3 days what I learned in the first 6 wk of class. I highly recommend this series. I own 6 titles and they are all excellent.

David Griffiths began programming at age 12, after being inspired by a. .

David Griffiths began programming at age 12, after being inspired by a documentary on the work of Seymour Papert. As to this book (as well as all of Head First's books I study) I can't recommend them highly enough. I think you will be quite pleased with the things you make Python do as you work on the topics here. Enjoy and happy coding. The reader/student becomes a casualty of thoughtless programming jargon.

Head First Programming book. Goodreads helps you keep track of books you want to read.

On July 20, we had the largest server crash in the last 2 years. Full recovery of all data can take up to 2 weeks! So we came to the decision at this time to double the download limits for all users until the problem is completely resolved. Thanks for your understanding! Progress: 7. 2% restored. Главная Head first programming :.

Head First Programming introduces the core concepts of writing computer programs - variables, decisions, loops .

Want to be notified of new releases in solouli/Programming Python?

Part of the Head First Series Series). by David Griffiths and Paul Barry. After studying Pure Mathematics at University, he began writing code for computers and magazine articles for humans and he is currently an agile coach with Exoftware in the UK, helping people to create simpler, more valuable software. He spends his free time traveling and time with his lovely wife, Dawn.

Looking for a reliable way to learn how to program on your own, without being overwhelmed by confusing concepts? Head First Programming introduces the core concepts of writing computer programs -- variables, decisions, loops, functions, and objects -- which apply regardless of the programming language. This book offers concrete examples and exercises in the dynamic and versatile Python language to demonstrate and reinforce these concepts. Learn the basic tools to start writing the programs that interest you, and get a better understanding of what software can (and cannot) do. When you're finished, you'll have the necessary foundation to learn any programming language or tackle any software project you choose.With a focus on programming concepts, this book teaches you how to:

Understand the core features of all programming languages, including: variables, statements, decisions, loops, expressions, and operatorsReuse code with functionsUse library code to save time and effortSelect the best data structure to manage complex dataWrite programs that talk to the WebShare your data with other programsWrite programs that test themselves and help you avoid embarrassing coding errors

We think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Programming uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

Comments (7)

Knights from Bernin
The head First series of leaning is by far one of the most ingenious and effective learning methods I've encountered. I work in the Software Dev field and wanted to expand my skillset in Python and Java.

I've tried other study guides with marginal success - Head First is straight forward, easy to understand, and the programs you write and run coupled with their methods of reniforcing programming principles really makes the learning enjoyable and I retain the material quite well.

Do be advised that the 3rd Chapter is out of date now with Twitter authentication and the workaround is kind of involved. Since Amazon won't let me paste the URL here, if you google Head First forums, then follow the appropriate link, you can then create a forum account and search the Knowledge topics for Chap 3 Issue with Twitter auth.

Back to the Head First series... the books are written for Python 3 users. I am running Python 2.7, so several of the programs and scripts they have you build, I have to do a lot of Google searching to get the commands I need to get the functions to run in Python 2.7. This is *NOT* a bad thing... the need to quickly Google for dev solutions at work is a daily task you will encounter anyway, so this gives good practice. Plus it really adds some nice seasoning to the various methods the book is teaching.

As to this book (as well as all of Head First's books I study) I can't recommend them highly enough.

I think you will be quite pleased with the things you make Python do as you work on the topics here. Enjoy and happy coding.
I'm not new to programming (mostly VBA and old school Fortran); but I would never label myself a programmer. Given all the great programming languages in today's world, I thought a refresher in fundamentals was a good place to start. As a big fan of Head First series, this one is a major let down. The teaching style is on par with the rest of the HF series (on first flush it does seem aimed at first graders--yet effective for an adult student), but the content and or lack thereof is sub standard. It's obvious that the authors have a strong grasp of the subject, but communicating their knowledge is as obviously challenging for them as it was for me (as their pupil) receiving it. Assumptions are made that the reader is already familiar with python and general code structure from Chapter 1. Sadly that is the greatest blunder that geeks make when they try to become instructors. Offhand trailing, open-ended statements or exercises that make perfect sense when speaking to peers simply don't translate well in common language to common folk. Assuming the general audience already knows how to structure code and create algebraic variable relationships in a new programming language is a bad way to start and a worse way to continue. I agree with another reviewer that mentioned filling in blank areas of code, following examples, isn't too difficult. The deal breaker is the expectation to write code from scratch with absolutely no reference point. The examples provide little clues as to where to begin. As a matter of fact, the only "clues" are the Python operators. Better would be a discussion on the logic and procedure of translating that logic into a programming language using correct code structure. For instance, when to begin a loop, when/where to define the variables (before/after/in a loop) etc. Since the book uses Python and that is one of the programming languages used a great deal in many applications, I'll suffer through just for the general exposure. When the intro said "The examples are as lean as possible." It wasn't kidding! While I agree that "redundancy is intentional and important," for learning, this book fills pages with lots of white space, large graphics, little content and even less examples or exercises to practice what it is supposedly teaching. "Trial and error--fail" seems to be the book's mantra.

If you are new to programming, look elsewhere. If you are new to Python, look elsewhere. After I finish this fiasco, I'll update with recommendations on alternative sources. Let's hope there are better beginner programmer books out there.

06/12/2015 Edit: I started this review while in Chapter 2. I've since moved into Chapter 3 and am totally both confused by the lack of explanation and bad examples. For instance, page 96 discusses python parameters using some arcane, cryptic example. The authors pull out of mid-air a parameter '5.51'...What the?????? Never to be used or explained again. They then move on the what they want the dear reader to understand, which was to use a parameter 'msg' in the function. Now if I've lost you here, don't feel to bad, because I'm not sure myself what this all means. So moving forward to page 97 in hopes of figuring out what '5.51' or 'msg' does, I run across one of the worst examples yet: "To use a parameter in Python, simply but the variable name between the parentheses.... Then within the function itself, simply use the variable like you would any other." The example does not explain that Python recognizes undefined variables using the function's syntax, does not explain the syntax, and provides an extra line of code that serves NO purpose whatsoever. After muddying the waters the authors move immediately into that awful guessing game of how to "modify" your code to make a "parameterized call". It continues to use complex code without explanation, only for you, the dear reader, to surmise that the authors roved the internet to find a function that will send a message to Twitter (isn't that just peachy?) without explaining the lines of code in the function--magic! I'm not into magic functions. I'm trying to learn how to build a function. Thankfully I was able to find better explanations and examples on the internet--just search for "python function parameters". Be warned, though, I've already run across some poorly written code with bad syntax even for something this straight forward.

07/09/2015 Update: Trashed the book after reading through Chapter 4 and here's why:
After my last review update, I decided to forgo the Head First teaching/learning paradigm, which is to go through the lessons sequentially and work through the exercises before moving on. Instead I began at the back of the chapter, read through the summary and then using the chapter summary outline, I would go to internet resources to familiarize myself with the computer science concepts and python code. Next I would quickly scan through the chapter highlighting any new computer science and python terms not included as part of the chapter summary. I ended up reworking chapters 1-3 this way because unlike other HF books, this one spat out a term without explanation, without exercises to reinforce the new concept to memory or understanding and move on to another new term or concept only to repeat the process. Ok, marching forward, I redid the first three chapters because I had painfully tried the HF way first, got lost and confused, tried again without other resources, abandoned all hope of learning without outside intervention, and then finally succumbed to searching high and low for all references to the terms in each HF programming lesson. That took me a while since I need to cram this in between work and family. On to chapter 4 with my new-found non-HF learning regime. By now, I think I'm ready to put what I read into logical context. However...

The last straw: In chapter 4 on page 140, yet again a new term is introduced "option" for the python sort function for a list. I look in the book's index to see if "option" is used again in the book--no. Did I miss an example? None exist. I search "python option" on the internet with no luck. I then begin browsing the internet for ANY clue about this term "option" in python programming. Again, no luck. I end up finding more about "keys", "functions", "arguments", "parameters", but no "option". The example used on page 140 is a poor attempt in explaining that a python list object using the sort method can also have a reverse parameter if desired (I learned all these terms by having to read myriads of material just to do a lesson in Chapter 2). Since chapters 1-3 nor 4 have not bothered to explain the basic concepts of an object (too soon in computer science concepts) nor given any clear explanation of python methods, dropping the "options" term in mid-stream is just plain cruel. No demonstration to reinforce the concept is crueler still. The authors word-drop inferences to a programming language (python) that do not exist in that program's nomenclature. The reader/student becomes a casualty of thoughtless programming jargon.

It does not develop sound computer science logic and processes--even a beginner's book has to explain the fundamentals. Big, advanced concepts such as scope, stack frame, and data types are discussed prematurely and so superficially that one is left as to the value of including them in the first place at the beginning of a beginner's book. It uses a nice programming language (Python) and then decimates the programming structure and syntax by bad nomenclature; further, does not explain the logic of the code fully enough to build on for the next lesson.

Granted I've learned way more than I expected because of this book--that is I had to go find out the information for myself in order to fill in huge gaps of missing information to understand the exercises, which, in the end did nothing to help me to become more confident to learn a new program language. Below are a list of online Python tutorials that I've found very useful--site that I've had to rely on to understand HF Programming chapters 1-4. For computer science, I've found a few useful sites, but none that I would recommend for a beginner--still searching.

Lean Codeacademy--currently enrolled for Python. It is rudimentary, provides interactive exercises. As of 7/14/2015, I can't recommend this online tutorial any more. The lesson modules are set up with an interactive console to check for correct code syntax, structure, and source code. Unfortunately a great concept with very bad execution. Essentially very bad source coding is passed and when the correct source code is presented, it fails. As the lesson modules become more advanced, the instructions become more cryptic. The forum offered is loaded with bad advice and filled mostly with what appears to be high school students that submit a bunch of hooey code just to pass the module. There is no moderator from Code Academy to correct erroneous code or to keep "students" from cheating. Try another if you want to LEARN instead of COPY.

How to Think Like a Computer Scientist
Learn Python the Hard Way
The Hitchhiker's Guide to Python
Beginning Python Programming
Introduction to Programming using Python
Ferri - My name
If you want a slow intro to computer science concepts involving programming, this is an outstanding place to start. Python is friendly, and like others I cannot say enough about the teaching premise of the Head First Series. It has encouraged me to purchase HF Software Development and Python. I just finished this book and I'm just starting the Python book. It's given me the courage to enroll in another programming language class at the college level and start an undergrad Computer Science curriculum without wondering about all of the remediation I might need during the first class.

The friendly learning method aside, this is a seriously well written text. It has you developing a couple of apps in ways that most really develop, organically. It takes you through what are likely scenarios for some simple requests by people to do things that they show you how to do in a low key, no pressure learning method that will stay with you long after the book is on your shelf or passed to a friend.

If you had trouble with a programming class, missed out on the software skills you wanted to develop this is an outstanding first book. Does not matter if you are 50 years old or 19.

Not even thinking about it you learn about libraries, functions and code reuse. You learn how to do things you will no doubt see later if you continue with the series or head off to college or adult learning classes in any computer language. If you did scientific programming at one time and wanted to find a way to bite off newer technology which will let you not fear taking a College level android programming class or learning how to make an application, give this a try.

I expect that you will find this is a very important connection to get you into programming, no matter what your background. Oh yeah, the python book suggested you have programming experience of some sort, this book was the perfect answer. I now no longer say I'm going to learn programming, now I can build small programs which I think up and need to see a little more of the guts of the language, so the python book is my next read - for which I cannot wait. Starting today!

Good work HF. I'm thinking the process would work well with languages and even to introduce other subjects like electromagnetics... if I have time one day I could definitely see trying to contribute to texts like this. Great stuff!

Related to Head First Programming: A learner's guide to programming using the Python language: