Essential computational thinking : computer science from scratch
معرفی کتاب «Essential computational thinking : computer science from scratch» نوشتهٔ Ricky J. Sethi، منتشرشده توسط نشر Cognella در سال 2020. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Essential computational thinking : computer science from scratch» در دستهٔ بدون دستهبندی قرار دارد.
Essential Computational Thinking: Computer Science from Scratch helps students build a theoretical and practical foundation for learning computer science. Rooted in fundamental science, this text defines elementary ideas including data and information, quantifies these ideas mathematically, and, through key concepts in physics and computation, demonstrates the relationship between computer science and the universe itself. In Part I , students explore the theoretical underpinnings of computer science in a wide-ranging manner. Readers receive a robust overview of essential computational theories and programming ideas, as well as topics that examine the mathematical and physical foundations of computer science. Part 2 presents the basics of computation and underscores programming as an invaluable tool in the discipline. Students can apply their newfound knowledge and begin writing substantial programs immediately. Finally, Part 3 explores more sophisticated computational ideas, including object-oriented programing, databases, data science, and some of the underlying principles of machine learning. Essential Computational Thinking is an ideal text for a firmly technical CS0 course in computer science. It is also a valuable resource for highly-motivated non-computer science majors at the undergraduate or graduate level who are interested in learning more about the discipline for either professional or personal development. Hi-Res Images at: (https://research.sethi.org/ricky/book/) https://research.sethi.org/ricky/book/ Part I — Theory: What Is Computer Science? 0 On the Road to Computation 0.1 What Is Knowledge? 0.2 Declarative vs Imperative Knowledge 0.3 The Key to Science 0.4 Computer Science: The Study of Computation 0.5 A Review of Functions 0.6 Computable Functions 0.7 Talking in Tongues: Programming Languages 1 Computational Thinking and Information Theory 1.1 What Is Thinking? 1.2 Deductive vs Inductive Thinking 1.3 Thinking About Probabilities 1.4 Logical Thinking 1.5 Computational Thinking and Computational Solutions 1.6 Two Fundamental Models of Programming 1.7 Pseudocode 1.8 Functional and Imperative Models of Computation 1.9 Information Theory 1.10 Shannon's Information Entropy 2 Computational Problem Solving 2.1 What Is a Model? 2.2 Data Representations 2.3 Number Representations 2.4 Digital Representations 2.5 Boolean Algebra 2.6 What Is Information Processing? 2.7 What Is Computer Information Systems (CIS)? 2.8 Programming Languages 2.9 Computational Thinking Defined 2.10 Problem Space and System State 2.11 Computational Thinking in Action Part II — Basics: Algorithmic Expression 3 Computational Thinking and Structured Programming 3.1 Review of Computation 3.2 Computational Thinking Basics 3.3 Minimal Instruction Set 3.4 Getting Started with Python 3.5 Syntax, Semantic, or Logic Errors 3.6 State of a Computational System 3.7 Natural vs Formal Languages 3.8 Translating Your Programs 3.9 Playing with Python 3.10 An Example Using Computational Thinking 4 Data Types and Variables 4.1 Different Types of Data 4.2 Data Type = Values + Operations 4.3 Variables and Expressions 4.4 Input/Output 4.5 An Example Using Computational Thinking 5 Control Structures 5.1 Algorithms and Control Structures 5.2 Sequence 5.3 Selection 5.4 Repetition 5.5 An Example Using Computational Thinking 6 Data Structures 6.1 Abstract Data Types 6.2 A Non-Technical Abstract Type 6.3 Advantages of ADTs 6.4 Data Structures 6.5 Strings 6.6 Lists and Tuples 6.7 An Example Using Computational Thinking 7 Procedural Programming 7.1 Functions Redux 7.2 Functions in Python 7.3 Sub-Routines with Parameters and Values 7.4 Namespaces and Variable Scope 7.5 Exception Handling 7.6 File I/O 7.7 An Example Using Computational Thinking Part III — Advanced: Data and Computation 8 Object-Oriented Programming (OOP) 8.1 Zen and the Art of Object-Oriented Programming 8.2 The Road to OOP 8.3 Solving Problems with Software Objects 8.4 What Is Java? 8.5 Data Structures and I/O in Java 9 Databases and MDM 9.1 Mind Your Data 9.2 Database Management 9.3 Relational Database Model 9.4 Database Modeling and Querying 9.5 Normalization 10 Machine Learning and Data Science 10.1 Computational Thinking and Artificial Intelligence 10.2 Getting Started with Machine Learning 10.3 Elements of Machine Learning 10.4 Data Science and Data Analytics 10.5 Bayesian Inference and Hypothesis Testing 10.6 The Entropy Strikes Back 10.7 Learning in Decision Trees 10.8 Machine Learning, Data Science, and Computational Thinking Bibliography Index Essential Computational Thinking: Computer Science from Scratch helps students build a theoretical and practical foundation for learning computer science. Rooted in fundamental science, this text defines elementary ideas including data and information, quantifies these ideas mathematically, and, through key concepts in physics and computation, demonstrates the relationship between computer science and the universe itself. In Part I, students explore the theoretical underpinnings of computer science in a wide-ranging manner. Readers receive a robust overview of essential computational theories and programming ideas, as well as topics that examine the mathematical and physical foundations of computer science. Part 2 presents the basics of computation and underscores programming as an invaluable tool in the discipline. Students can apply their newfound knowledge and begin writing substantial programs immediately. Finally, Part 3 explores more sophisticated computational ideas, including object-oriented programing, databases, data science, and some of the underlying principles of machine learning.-- Source other than the Library of Congress
دانلود کتاب Essential computational thinking : computer science from scratch