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 operators Reuse code with functions Use library code to save time and effort Select the best data structure to manage complex data Write programs that talk to the Web Share your data with other programs Write programs that test themselves and help you avoid embarrassing coding errors.
Contents
Intro xxiii 1 Starting to Code: Finding Your Way 2 Textual Data: Every String Has Its Place 3 Functions: Let’s Get Organized 4 Data Files and Arrays: Sort It Out 5 Hashes and Databases: Putting Data in Its Place 6 Modular Programming: Keeping Things Straight 7 Building a Graphical User Interface: Going All Gooey 8 GUIs and Data: Data Entry Widgets 8 1/2 Exceptions and Message Boxes: Get the Message? 9 Graphical Interface Elements: Selecting the Right Tool 10 Custom Widgets and Classes: With an Object in Mind
Appendix i Leftovers: The Top Ten Things (We Didn’t Cover)
من این کتاب رو برای شروع و شناساندن برنامهنویسی به یک تازه جوان، خوندم. مناسب هدفم بود، چون این کتاب از خواننده یک برنامهنویس نمیسازه، اما مفهوم برنامهنویسی، تفکرش و شیوه اصولی و صحیحش و کاربردهای هرچند سادهای از اون رو نمایش میده. کتابی بود که وقتی خوندم، حسرت خوردم که چرا درک مفهوم برنامه نویسی رو با این کتاب شروع نکردم! اما مشکلات کتاب: کتابی کمی قدیمیه، و خوب یک سری لینک داره که برای کدهاش استفاده میکنه و الان از کار افتاده. البته لینک جایگزین رو بعدا معرفی کرده که کمی سرچ میخواد تا پیدا بشه. مورد دیگه جایی از api اکانت توئیتر استفاده کرده که خوب الان مدتهاست توئیتر اون api رو غیرفعال کرده و روش جایگزینی برای این بخش در نت پیدا نکردم. یکی دو نفر با api جدید توئیتر راه انداخته بودند که به نظرم برای یک تازه کار پیچیده است. من خودم برای آموزش نوآموزم، یه سایت سبکی بالاآوردم و پست ها رو به جای توئیتر روی اون سایت ارسال کردیم. در مجموع برای کسی که می خواد بفهمه برنامهنویسی چیه و چه جوریه، در واقع برای شروع کار کتاب مفیدی هستش. اینم بگم آموزشها بر اساس زبان python هست.
خیلی باهاش حال کردم. به نظر میاد کتاب با هدف سلف استادی نوشته شده باشه اما من براش معلم داشتم. البته که توانایی معلمم توی تدریسش خیلی موثر بود (:دی) اما خود کتاب هم واقعا خوب بود. برای اولین بار بود که موقع یادگرفتن برنامه نویسی (تلاش های شکست خورده زیادی داشتم) یه صفحه سفید جلوم نذاشتن و نگفتن از صفر کد بزن و فاکتوریل رو حساب کن که باعث شه مغزم کاملا خالی شه و اعصابم خورد که چرا من هیچی به ذهنم نمیرسه. خیلی جاهای کتاب تمرین با کنار هم چیدن بلاک های کد حل میشد؛ خیلی جاها باید فقط pseudo code مینوشتی و کد اصلی رو نوشته بود و بالعکس. تک تک خط های کد برای هر تمرین رو توضیح داده بود طوری که اگر نمیخواستی بفهمی هم نمیتونستی نفهمی:)) شوخ طبعی نویسنده رو هم دوست داشتم. منی که همیشه فکر میکردم خنگتر از اونیم که برنامهنویسی رو بفهمم حسابی به پایتون علاقهمند کرد. اگه میخواین برنامه نویسی یاد بگیرین و کاملا مبتدی هستین توصیهش میکنم.
Excellent book for anyone wanting to learn how to program or fill in the gaps. This book uses Python 3 as the main programming language and features some interesting APIs such as tkinter for building graphical user interfaces. The final project of the book teaches you how to build a piece of DJ mixing software, which felt really satisfying to complete! The only downside to this book is that some of the code segments have been depreciated (in particular the API used to post to Twitter which is no longer working due to updated security features on their website). Besides that this is indeed a good read!
I'm giving this 5-stars because it covers most concepts well and is a brief introduction to them all — but it could've done it in less space by cutting out some of the quirkiness. It could've used that for more content, but it did well with what it had. This book is aimed at adults but is good enough for kids to get them programming with Python and understanding the basic concepts that I don't typically see in kids' books. I wish that it'd covered other languages as well that don't have the idioms of Python, or at least mentioned how they're different. I'll be trying the rest of the series for intros to other languages to see how well they handle those.
Как же быстро теряется актуальность информации в таких книгах. Могу сказать что немного хромает система, слишком быстрое наращивание сложности, при этом аргументы функций разбираются только в 8 главе. Но стиль изложения мне очень нравится, визуализация важна, твёрдо и чётко.
Really good book, I recommend it for reading. Maybe it is not introduction level, but if you have at least some little experience with Python this book will fit your goals nicely.
A breezy and irreverent introduction to programming in Python, very much in the distinctive Head First style -unabashed puns meet Dorling Kindersly for some joyful, hip and wacky edutainment.
Even though I would not recommend the book as a textbook for CS majors, because I think that in its relentless drive to be entertaining, its more serious asides don´t strike deep enough, it is very much a fun book to read and covers -as most Head First books deceptively manage to do- a lot of ground. The examples are chosen very much with an eye for motivating a younger generation of wannabee programmers. The first six chapters cover basic control structures (chapter 8 briefly looks into exception handling, strings, arrays, dictionaries and files but by chapter 7 the book is dipping into GUI widgets in tkinker and borrowing from pygame in order a tune mixer for a hypothetical DJ, which allows him to play several tunes simultaneously while using sliders to control the volume of each individual tune.
The Head First style is not for everyone, but if you like it and are interested in learning to program in a popular programming language like Python, this will be a rewarding book.