Skimming the book, it does not use type annotations in its functions. I would talk about type annotations and encourage their use soon after presenting the concept of functions. Agree?
No. Type annotations are pointless because they are not enforced in any way – if you're coming from another language it might be really misleading. It's good the author omitted this information. Also most code in the wild doesn't use it anyway.
Fundamentals of Python Programming [pdf]
21–30 of 38 posts
Re: Fundamentals of Python Programming [pdf]
#22I apologize for going off topic, but if the author is reading this (perhaps I should email him instead), please be informed that your work has been plagiarized on Amazon, by a book called "Python Programming: A Step By Step Guide From Beginner To Expert" [1]. Read the first few pages of the print book's "Look inside" and you'll see a word for word copy of the book. Not only did they plagiarize your work, but they did…
Re: Fundamentals of Python Programming [pdf]
#23Love this book. I decided to make a career change about six months ago, found this book, and started learning Python. Over the past six months I've built four apps (after learning JS and a couple different frameworks), and have multiple interviews lined up for back-end roles. For anyone interested in possibly writing an intro book (or some such material) in the future, here are a beginners thoughts on what makes this…
I'm a researcher interested in language acquisition so this is very interesting to me. Thank you for sharing! I have a couple questions: 1. Was Python your first programming language? / Was this book your first attempt at learning programming? 2. Why do you feel that presenting functions before lists was beneficial for you?
(2) This is not an easy question to answer, because it includes a lot of speculation, but I'll try. For me, at least, it was important to understand - in some rough sense - the nature of the concepts. Obviously, there is plenty more to the nature of the following basic concepts than what I provide, but here's the way I was perceiving the concepts:
Variables - being able to name and rename data (or code) and use different things you've named
Conditionals - run code under certain conditions
Loops - run the same code multiple times under certain conditions
Functions - reuse the same code at different points in time
Lists/Arrays - save code (or data) to later be used and/or manipulated
Looking back on this textbook, as well as the other material I read where lists/arrays were presented very early, I just think it was more natural to think about code reuse before thinking about storing stuff for use and manipulation.
Just my two cents.
Re: Fundamentals of Python Programming [pdf]
#24I apologize for going off topic, but if the author is reading this (perhaps I should email him instead), please be informed that your work has been plagiarized on Amazon, by a book called "Python Programming: A Step By Step Guide From Beginner To Expert" [1]. Read the first few pages of the print book's "Look inside" and you'll see a word for word copy of the book. Not only did they plagiarize your work, but they did…
In the book's front matter I grant permission for anyone to use the book freely and to make as many copies as they like as long as the original copyright notice remains intact. It started out as my small way of helping my students who are facing escalating higher education costs. Over the years, I've received feedback from other instructors at both the university and high school level who appreciate having this option available for their students.
Re: Fundamentals of Python Programming [pdf]
#25Love this book. I decided to make a career change about six months ago, found this book, and started learning Python. Over the past six months I've built four apps (after learning JS and a couple different frameworks), and have multiple interviews lined up for back-end roles. For anyone interested in possibly writing an intro book (or some such material) in the future, here are a beginners thoughts on what makes this…
Writing this up in a blog post would benefit many people thinking about a career change. What lead to it, how you went about it, etc.
Re: Fundamentals of Python Programming [pdf]
#26Earlier quoted context omitted.
I'm a researcher interested in language acquisition so this is very interesting to me. Thank you for sharing! I have a couple questions: 1. Was Python your first programming language? / Was this book your first attempt at learning programming? 2. Why do you feel that presenting functions before lists was beneficial for you?
(1) If you count HTML as a programming language, then I had about 3 hours of HTML under my belt when I first started reading this book. Which is to say I understood nothing nothing about programming when I picked this up. I have a method for learning new domains, and a part of that method includes skimming intro books to find ones that seem well put together. So, I had also blitz skimmed a number of books before find…
Personally, I'd be inclined to teach basic types and control flow, e.g. loops and conditions, before teaching how to structure code so that you can start with something long and repetitive and understand the benefit of utilising functions. Having said that, both are fairly basic concepts so I don't think you'd lose much either way.
Re: Fundamentals of Python Programming [pdf]
#27Love this book. I decided to make a career change about six months ago, found this book, and started learning Python. Over the past six months I've built four apps (after learning JS and a couple different frameworks), and have multiple interviews lined up for back-end roles. For anyone interested in possibly writing an intro book (or some such material) in the future, here are a beginners thoughts on what makes this…
While it might not make the most sense for a beginner still learning the fundamentals to be taught lists before functions it's generally advantageous for introductory language books to focus on what the language excels at. But of course this is a fundamentals book and not every book needs to be general purpose!
Some examples of where this holds true: The Rust Programming Language introduces ownership concepts, a difficult topic even outside of Rust, immediately after the chapter on fundamental concepts like the data types, functions, and control flow. It could be argued that such a concept needs to be introduced early to understand the language more, although you see similar things with OOP being emphasised very early on in Java on the tutorials on the Sun/Oracle website. Any introduction to Perl will be very string processing heavy, and Ruby introductions, like Python, will introduce lists/splicing very early on. It's easier to appreciate as you pick up more languages.
Re: Fundamentals of Python Programming [pdf]
#28Aw hell yeah. Programming books that teach you how to actually think like a programmer are THE best ones. Thanks for the resource.
Then, you might also like: Think Python [1] and related interactive course [2] [1] https://greenteapress.com/wp/think-python-2e/ [2] https://runestone.academy/runestone/static/thinkcspy/index.h...
Re: Fundamentals of Python Programming [pdf]
#29Re: Fundamentals of Python Programming [pdf]
#30Love this book. I decided to make a career change about six months ago, found this book, and started learning Python. Over the past six months I've built four apps (after learning JS and a couple different frameworks), and have multiple interviews lined up for back-end roles. For anyone interested in possibly writing an intro book (or some such material) in the future, here are a beginners thoughts on what makes this…
>(2) Functions are presented before lists. While it might not make the most sense for a beginner still learning the fundamentals to be taught lists before functions it's generally advantageous for introductory language books to focus on what the language excels at. But of course this is a fundamentals book and not every book needs to be general purpose! Some examples of where this holds true: The Rust Programming Lan…