جلد کتاب مقدمه‌ای بر تفکر محاسباتی(Introduction to Computational Thinking)

عنوان:

Introduction to Computational Thinking

نویسنده:

Thomas Mailund

انتشارات:

Apress

تاریخ انتشار:

2021

حجم:

6.54MB

دانلود

معرفی کتاب:"مقدمه‌ای بر تفکر محاسباتی: حل مسئله، الگوریتم‌ها، ساختار داده‌ها و بیشتر - ویرایش اول"

با این کتاب روش‌های تفکر محاسباتی و هنر طراحی الگوریتم‌ها را خواهید آموخت. بیشتر الگوریتم‌هایی که در این کتاب مشاهده می‌کنید، در تقریباً تمام نرم‌افزارهایی که روی کامپیوتر شما اجرا می‌شوند، استفاده می‌شوند.

یادگیری برنامه‌نویسی می‌تواند بسیار رضایت‌بخش باشد. احساسی ویژه است که ببینید کامپیوتر افکار شما را به اقدامات عملی تبدیل می‌کند و مشکلات شما را حل می‌کند. برای رسیدن به این مرحله، باید یاد بگیرید به شکل جدیدی درباره محاسبات فکر کنید—باید تفکر محاسباتی را بیاموزید.

این کتاب با بررسی مدل‌های جهان و نحوه فرمالیزه کردن مسائل آغاز می‌شود. سپس به تعریف تفکر محاسباتی پرداخته و آن را در یک زمینه گسترده‌تر قرار می‌دهد. برنامه‌نویسی عملی کتاب با زبان Python انجام می‌شود؛ شما با مقدمات برنامه‌نویسی Python آشنا خواهید شد، شامل چگونگی راه‌اندازی محیط توسعه خود.

آنچه خواهید آموخت:

  • تفکر به سبک محاسباتی
  • کشف الگوریتم‌های رشته‌ای و گراف و بهینه‌سازی آن‌ها
  • نوشتن توابع، توابع داخلی، و بازگشتی‌ها
  • استفاده از مدل‌های مخفی مارکوف
  • پیاده‌سازی درخت‌های جستجوی قرمز-سیاه، پشته‌ها و صف‌ها، Lexerها و Parserها و بسیاری موارد دیگر

مخاطبان کتاب

افرادی که تازه با برنامه‌نویسی و علوم کامپیوتر آشنا شده‌اند و علاقه‌مند به یادگیری طراحی الگوریتم‌ها و کار با جنبه‌های محاسباتی برنامه‌نویسی هستند.

فهرست مطالب

  • Table of Contents
  • About the Author
  • About the Technical Reviewer
  • Chapter 1: Introduction
  • Models of the World and Formalizing Problems
  • What Is Computational Thinking?
  • Computational Thinking in a Broader Context
  • What Is to Come
  • Chapter 2: Introducing Python Programming
  • Obtaining Python
  • Running Python
  • Expressions in Python
  • Logical (or Boolean) Expressions
  • Variables
  • Working with Strings
  • Lists
  • Tuples
  • Sets and Dictionaries
  • Input and Output
  • Conditional Statements (if Statements)
  • Loops (for and while)
  • Using Modules
  • Chapter 3: Introduction to Algorithms
  • Designing Algorithms
  • Exercises for Sequential Algorithms
  • Exercises on Lists
  • Chapter 4: Algorithmic Efficiency
  • The RAM Model of a Computer and Its Primitive Operations
  • Types of Efficiency
  • Asymptotic Running Time and Big-Oh Notation
  • Empirically Validating Algorithms’ Running Time
  • Chapter 5: Searching and Sorting
  • Searching
  • Sorting
  • Generalizing Searching and Sorting
  • How Computers Represent Numbers
  • Chapter 6: Functions
  • Parameters and Local and Global Variables
  • Side Effects
  • Returning from a Function
  • Higher-Order Functions
  • Functions vs. Function Instances
  • Default Parameters and Keyword Arguments
  • Generalizing Parameters
  • Exceptions
  • Writing Your Own Python Modules
  • Chapter 7: Inner Functions
  • A Comparison Function for a Search Algorithm
  • Counter Function
  • Apply
  • Currying Functions
  • Function Composition
  • Thunks and Lazy Evaluation
  • Lambda Expressions
  • Decorators
  • Efficiency
  • Chapter 8: Recursion
  • Definitions of Recursion
  • Recursive Functions
  • Recursion Stacks
  • Recursion and Iteration
  • Tail Calls
  • Continuations
  • Continuations, Thunks, and Trampolines
  • Chapter 9: Divide and Conquer and Dynamic Programming
  • Merge Sort
  • Quick Sort
  • Divide and Conquer Running Times
  • Dynamic Programming
  • Representing Floating-Point Numbers
  • Chapter 10: Hidden Markov Models
  • Probabilities
  • Conditional Probabilities and Dependency Graphs
  • Markov Models
  • Hidden Markov Models
  • Forward Algorithm
  • Viterbi Algorithm
  • Chapter 11: Data Structures, Objects, and Classes
  • Classes
  • Exceptions and Classes
  • Methods
  • Polymorphism
  • Abstract Data Structures
  • Magical Methods
  • Class Variables
  • Attributes (The Simple Story)
  • Objects, Classes, and Meta-classes
  • Getting Attributes
  • Setting Attributes
  • Properties
  • Descriptors
  • Return of the Decorator
  • Chapter 12: Class Hierarchies and Inheritance
  • Inheritance and Code Reuse
  • Multiple Inheritance
  • Mixins
  • Chapter 13: Sequences
  • Sequences
  • Linked Lists Sequences
  • Doubly Linked Lists
  • A Word on Garbage Collection
  • Iterators
  • Python Iterators and Other Interfaces
  • Generators
  • Chapter 14: Sets
  • Sets with Built-In Lists
  • Linked Lists Sets
  • Search Trees
  • Hash Table
  • Dictionaries
  • Chapter 15: Red-Black Search Trees
  • A Persistent Recursive Solution
  • An Iterative Solution
  • Chapter 16: Stacks and Queues
  • Building Stacks and Queues from Scratch
  • Expression Stacks and Stack Machines
  • Quick Sort and the Call Stack
  • Writing an Iterator for a Search Tree
  • Merge Sort with an Explicit Stack
  • Breadth-First Tree Traversal and Queues
  • Chapter 17: Priority Queues
  • A Tree Representation for a Heap
  • Leftist Heaps
  • Binomial Heaps
  • Binary Heaps
  • Adding Keys and Values
  • Comparisons
  • Huffman Encoding
  • Chapter 18: Conclusions
  • Where to Go from Here
  • Index

مشخصات

نام کتاب

Introduction to Computational Thinking: Problem Solving, Algorithms, Data Structures, and More Edition: 1st ed

نویسنده

Thomas Mailund

انتشارات

Apress

تاریخ انتشار

2021

ISBN

9781484270769

تعداد صفحات

661

زبان

انگلیسی

فرمت

pdf

حجم

6.54MB

موضوع

Algorithms; Computer Science; Programming Techniques