دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Felienne Hermans
سری:
ISBN (شابک) : 1617298670, 9781617298677
ناشر: Manning
سال نشر: 2021
تعداد صفحات: 0
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 3 مگابایت
در صورت تبدیل فایل کتاب The Programmer's Brain: What every programmer needs to know about cognition به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مغز برنامه نویس: آنچه که هر برنامه نویسی باید در مورد شناخت بداند نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
مغز شما هنگام مواجهه با کارهای جدید یا دشوار به روشی قابل پیش بینی پاسخ می دهد. این کتاب منحصربهفرد به شما تکنیکهای مشخصی را میآموزد که ریشه در علوم شناختی دارند که نحوه یادگیری و تفکر شما را در مورد کد بهبود میبخشد. خلاصه در مغز برنامه نویس: آنچه که هر برنامه نویسی باید بداند درباره شناخت خواهید آموخت: راه های سریع و موثر برای تسلط بر زبان های برنامه نویسی جدید مهارت های تندخوانی برای درک سریع کدهای جدید تکنیک هایی برای کشف معنای کدهای پیچیده راه هایی برای یادگیری نحو جدید و حفظ آن نوشتن کدی که خواندن آن برای دیگران آسان باشد انتخاب نام مناسب برای متغیرهای خود ایجاد پایگاه کد خود برای تازه واردان قابل درک تر قرار دادن توسعه دهندگان جدید در تیم خود بیاموزید که چگونه فرآیندهای شناختی طبیعی مغز خود را بهینه کنید تا کد را راحت تر بخواند، سریعتر کد بنویسید و زبان های جدید را در زمان بسیار کمتری دریافت کنید. این کتاب به شما کمک می کند تا از سردرگمی که در مواجهه با کدهای عجیب و پیچیده احساس می کنید، بگذرید و یک پایگاه کد را به روش هایی توضیح دهید که می تواند یک عضو جدید تیم را در چند روز سازنده کند! خرید کتاب چاپی شامل یک کتاب الکترونیکی رایگان در قالبهای PDF، Kindle و ePub از انتشارات منینگ است. در مورد تکنولوژی از فرآیندهای طبیعی مغز خود استفاده کنید تا برنامه نویس بهتری باشید. تکنیکهای مبتنی بر علوم شناختی یادگیری سریعتر زبانهای جدید، بهبود بهرهوری، کاهش نیاز به بازنویسی کد و موارد دیگر را ممکن میسازد. این کتاب منحصر به فرد به شما کمک می کند تا به این دستاوردها برسید. درباره کتاب مغز برنامه نویس طرز تفکر ما در مورد کد را باز می کند. این تکنیکهای علمی معتبری را ارائه میکند که میتواند روش تسلط شما بر فناوری جدید، درک کد، و حفظ نحو را به طور اساسی بهبود بخشد. شما یاد خواهید گرفت که چگونه از مبارزه سازنده سود ببرید و سردرگمی را به یک ابزار یادگیری تبدیل کنید. در طول مسیر، با تبدیل شدن به متخصص در آموزش خود و به کارگیری همکاران جدید، نحوه ایجاد منابع مطالعه را خواهید یافت. داخلش چیه درک کنید که مغز شما چگونه کد را می بیند مهارت های تندخوانی برای یادگیری سریع کد تکنیک هایی برای کشف کدهای پیچیده نکاتی برای قابل فهم کردن پایگاه های کد درباره خواننده برای برنامه نویسانی که تجربه کار در بیش از یک زبان را دارند. درباره نویسنده دکتر Felienne Hermans دانشیار دانشگاه لیدن هلند است. او دهه گذشته را صرف تحقیق در مورد برنامه نویسی، چگونگی یادگیری و نحوه آموزش آن کرده است. فهرست مطالب بخش 1 در مورد بهتر خواندن کد 1 رمزگشایی سردرگمی خود در هنگام کدنویسی 2 سرعت خواندن برای کد 3 نحوه یادگیری سریع نحو برنامه نویسی 4 نحوه خواندن کدهای پیچیده بخش 2 در مورد تفکر در مورد کد 5 دستیابی به درک عمیق تر از کد 6 بهتر شدن در حل مسائل برنامه نویسی 7 باور غلط: اشکال در تفکر قسمت 3 در نوشتن کد بهتر 8 چگونه در نامگذاری چیزها بهتر شویم 9 اجتناب از کد بد و بار شناختی: دو چارچوب 10 بهتر شدن در حل مسائل پیچیده بخش 4 در مورد همکاری در کد 11 عمل نوشتن کد 12 طراحی و بهبود سیستم های بزرگتر 13 نحوه سوار شدن به توسعه دهندگان جدید
Your brain responds in a predictable way when it encounters new or difficult tasks. This unique book teaches you concrete techniques rooted in cognitive science that will improve the way you learn and think about code. Summary In The Programmer’s Brain: What every programmer needs to know about cognition you will learn: Fast and effective ways to master new programming languages Speed reading skills to quickly comprehend new code Techniques to unravel the meaning of complex code Ways to learn new syntax and keep it memorized Writing code that is easy for others to read Picking the right names for your variables Making your codebase more understandable to newcomers Onboarding new developers to your team Learn how to optimize your brain’s natural cognitive processes to read code more easily, write code faster, and pick up new languages in much less time. This book will help you through the confusion you feel when faced with strange and complex code, and explain a codebase in ways that can make a new team member productive in days! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Take advantage of your brain’s natural processes to be a better programmer. Techniques based in cognitive science make it possible to learn new languages faster, improve productivity, reduce the need for code rewrites, and more. This unique book will help you achieve these gains. About the book The Programmer’s Brain unlocks the way we think about code. It offers scientifically sound techniques that can radically improve the way you master new technology, comprehend code, and memorize syntax. You’ll learn how to benefit from productive struggle and turn confusion into a learning tool. Along the way, you’ll discover how to create study resources as you become an expert at teaching yourself and bringing new colleagues up to speed. What's inside Understand how your brain sees code Speed reading skills to learn code quickly Techniques to unravel complex code Tips for making codebases understandable About the reader For programmers who have experience working in more than one language. About the author Dr. Felienne Hermans is an associate professor at Leiden University in the Netherlands. She has spent the last decade researching programming, how to learn and how to teach it. Table of Contents PART 1 ON READING CODE BETTER 1 Decoding your confusion while coding 2 Speed reading for code 3 How to learn programming syntax quickly 4 How to read complex code PART 2 ON THINKING ABOUT CODE 5 Reaching a deeper understanding of code 6 Getting better at solving programming problems 7 Misconceptions: Bugs in thinking PART 3 ON WRITING BETTER CODE 8 How to get better at naming things 9 Avoiding bad code and cognitive load: Two frameworks 10 Getting better at solving complex problems PART 4 ON COLLABORATING ON CODE 11 The act of writing code 12 Designing and improving larger systems 13 How to onboard new developers
The Programmer\'s Brain brief contents contents foreword preface acknowledgments about this book How this book is organized: A roadmap liveBook discussion forum about the author about the cover illustration Part 1: On reading code better Chapter 1: Decoding your confusion while coding 1.1 Different kinds of confusion in code 1.1.1 Confusion type 1: Lack of knowledge 1.1.2 Confusion type 2: Lack of information 1.1.3 Confusion type 3: Lack of processing power 1.2 Different cognitive processes that affect coding 1.2.1 LTM and programming 1.2.2 STM and programming 1.2.3 Working memory and programming 1.3 Cognitive processes in collaboration 1.3.1 A brief dissection of how the cognitive processes interacted 1.3.2 Cognitive processes regarding programming tasks Chapter 2: Speed reading for code 2.1 Quickly reading code 2.1.1 What just happened in your brain? 2.1.2 Reexamine your reproduction 2.1.3 Reexamining your second attempt at reproducing code 2.1.4 Why is reading unfamiliar code hard? 2.2 Overcoming size limits in your memory 2.2.1 The power of chunking 2.2.2 Expert programmers can remember code better than beginners 2.3 You see more code than you can read 2.3.1 Iconic memory 2.3.2 It’s not what you remember; it’s the way you remember it 2.3.3 Practice chunking Chapter 3: How to learn programming syntax quickly 3.1 Tips for remembering syntax 3.1.1 Disruptions play havoc with your workflow 3.2 How to learn syntax quickly with flashcards 3.2.1 When to use the flashcards 3.2.2 Expanding the set of flashcards 3.2.3 Thinning the set of flashcards 3.3 How to not forget things 3.3.1 Why do we forget memories? 3.3.2 Spaced repetition 3.4 How to remember syntax longer 3.4.1 Two forms of remembering information 3.4.2 Just seeing information is not enough 3.4.3 Remembering information strengthens memories 3.4.4 Strengthen memories by actively thinking Chapter 4: How to read complex code 4.1 Why it’s hard to understand complex code 4.1.1 What’s the difference between working memory and STM? 4.1.2 Types of cognitive load as they relate to programming 4.2 Techniques to reduce cognitive load 4.2.1 Refactoring 4.2.2 Replacing unfamiliar language constructs 4.2.3 Code synonyms are great additions to a flashcard deck 4.3 Memory aids to use when your working memory is overloaded 4.3.1 Creating a dependency graph 4.3.2 Using a state table 4.3.3 Combining dependency graphs and state tables Part 2: On thinking about code Chapter 5: Reaching a deeper understanding of code 5.1 Roles of variables framework 5.1.1 Different variables do different things 5.1.2 Eleven roles to cover almost all variables 5.2 Roles and paradigms 5.2.1 Benefits of roles 5.2.2 Hungarian notation 5.3 Gaining a deeper knowledge of programs 5.3.1 Text knowledge vs. plan knowledge 5.3.2 Different stages of program understanding 5.4 Reading text is similar to reading code 5.4.1 What happens in the brain when we read code? 5.4.2 If you can learn French, you can learn Python 5.5 Text comprehension strategies applied to code 5.5.1 Activating prior knowledge 5.5.2 Monitoring 5.5.3 Determining the importance of different lines of code 5.5.4 Inferring the meaning of variable names 5.5.5 Visualizing 5.5.6 Questioning 5.5.7 Summarizing code Chapter 6: Getting better at solving programming problems 6.1 Using models to think about code 6.1.1 The benefits of using models 6.2 Mental models 6.2.1 Examining mental models in detail 6.2.2 Learning new mental models 6.2.3 How to use mental models efficiently when thinking about code 6.3 Notional machines 6.3.1 What is a notional machine? 6.3.2 Examples of notional machines 6.3.3 Different levels of notional machines 6.4 Notional machines and language 6.4.1 Expanding sets of notional machines 6.4.2 Different notional machines can create conflicting mental models 6.5 Notional machines and schemata 6.5.1 Why schemata matters 6.5.2 Are notional machines semantics? Chapter 7: Misconceptions: Bugs in thinking 7.1 Why learning a second programming language is easier than learning the first one 7.1.1 How to increase the chances of benefiting from existing programming knowledge 7.1.2 Different forms of transfer 7.1.3 Already knowing something: Curse or blessing? 7.1.4 The difficulties of transfer 7.2 Misconceptions: Bugs in thinking 7.2.1 Debugging misconceptions with conceptual change 7.2.2 Suppressing misconceptions 7.2.3 Misconceptions about programming languages 7.2.4 Preventing misconceptions while learning a new programming language 7.2.5 Diagnosing misconceptions in a new codebase Part 3: On writing better code Chapter 8: How to get better at naming things 8.1 Why naming matters 8.1.1 Why naming matters 8.1.2 Different perspectives on naming 8.1.3 Initial naming practices have a lasting impact 8.2 Cognitive aspects of naming 8.2.1 Formatting names supports your STM 8.2.2 Clear names help your LTM 8.2.3 Variable names can contain different types of information to help you understand them 8.2.4 When to evaluate the quality of names 8.3 What types of names are easier to understand? 8.3.1 To abbreviate or not to abbreviate? 8.3.2 Snake case or camel case? 8.4 The influence of names on bugs 8.4.1 Code with bad names has more bugs 8.5 How to choose better names 8.5.1 Name molds 8.5.2 Feitelson’s three-step model for better variable names Chapter 9: Avoiding bad code and cognitive load: Two frameworks 9.1 Why code with code smells creates a lot of cognitive load 9.1.1 A brief intro to code smells 9.1.2 How code smells harm cognition 9.2 The influence of bad names on cognitive load 9.2.1 Linguistic antipatterns 9.2.2 Measuring cognitive load 9.2.3 Linguistic antipatterns and cognitive load 9.2.4 Why linguistic antipatterns cause confusion Chapter 10: Getting better at solving complex problems 10.1 What is problem solving? 10.1.1 Elements of problem solving 10.1.2 State space 10.2 What is the role of the LTM when you solve programming problems? 10.2.1 Is problem solving a cognitive process on its own? 10.2.2 How to teach your LTM to solve problems 10.2.3 Two types of memories that play a role in problem solving 10.3 Automatization: Creating implicit memories 10.3.1 Implicit memories over time 10.3.2 Why automatization will make you program quicker 10.3.3 Improving implicit memories 10.4 Learning from code and its explanation 10.4.1 A new type of cognitive load: Germane load 10.4.2 Using worked examples in your working life Part 4: On collaborating on code Chapter 11: The act of writing code 11.1 Different activities while programming 11.1.1 Searching 11.1.2 Comprehension 11.1.3 Transcription 11.1.4 Incrementation 11.1.5 Exploration 11.1.6 What about debugging? 11.2 Programmer interrupted 11.2.1 Programming tasks require a warm-up 11.2.2 What happens after an interruption? 11.2.3 How to better prepare for interruptions 11.2.4 When to interrupt a programmer 11.2.5 Some thoughts on multitasking Chapter 12: Designing and improving larger systems 12.1 Examining the properties of codebases 12.1.1 Cognitive dimensions 12.1.2 Using CDCB to improve your codebase 12.1.3 Design maneuvers and their trade-offs 12.2 Dimensions and activities 12.2.1 Impact of dimensions on different activities 12.2.2 Optimizing your codebase for expected activities Chapter 13: How to onboard new developers 13.1 Issues in the onboarding process 13.2 Differences between experts and novices 13.2.1 Beginners’ behavior in more depth 13.2.2 Difference between seeing concepts concretely and abstractly 13.3 Activities for a better onboarding process 13.3.1 Limit tasks to one programming activity 13.3.2 Support the memory of the onboardee 13.3.3 Read code together epilogue Some words to close this book index Symbols Numerics A B C D E F G H I J K L M N O P Q R S T U V W