Learn Coding with Python and JavaScript : A Practical Introduction for Beginners
معرفی کتاب «Learn Coding with Python and JavaScript : A Practical Introduction for Beginners» نوشتهٔ Joachim L. Zuckarelli، منتشرشده توسط نشر Springer Spektrum. in Springer Fachmedien Wiesbaden GmbH در سال 2024. این کتاب در فرمت epub، زبان انگلیسی ارائه شده است. «Learn Coding with Python and JavaScript : A Practical Introduction for Beginners» در دستهٔ بدون دستهبندی قرار دارد.
Whether on the computer, tablet, mobile phone, in the car or in the coffee machine - computer programs determine our everyday life. Software is becoming increasingly important, hardly anything works without the mysterious power of algorithms. But how do programs work? And how do you develop them? This book teaches you the basics of programming. Using everyday examples, you will first learn the basic concepts of programming, which are similar in all programming languages. Based on these basic ideas, you will then learn two popular and very useful programming languages, Python and JavaScript, in a systematic way and with many practical exercises, which you can use for a wide range of different tasks. The book is aimed at novice programmers of all ages (from students to professionals) who have no previous programming experience. Introduction The New World The Approach of This Book Contents About Programming 1: What Is Programming? 1.1 The Mysterious Power—or: Consciousness Determines Being 1.2 Algorithms 1.3 Limits of Classical Algorithms: The Playing Field of Artificial Intelligence 1.3.1 Only Apparently Intelligent 1.3.2 Cat or Not Cat: That Is the Question Here 2: Why Learn Programming? 2.1 Many Good Reasons 2.1.1 Make Your Everyday Life Easier! 2.1.2 Speak “IT”! 2.1.3 Make Money! 2.1.4 Understand What Holds the World Together At Its Core! 2.1.5 Train Your Logical, Problem-Solving Thinking! 2.2 Clichés and Prejudices 2.2.1 Programming is Only for Nerds 2.2.2 Software and Its Programming Are Just a Fashion, a Hype 2.2.3 Programming is Only for Men 3: What Is a Programming Language? 3.1 Languages for Humans, Languages for Machines 3.2 Translation and Execution of Programming Languages 3.3 From Machine Language to High-Level Language 4: Why Are There So Many Programming Languages? 4.1 Different Fields of Application 4.2 Different Paradigms 4.3 Further Developments and Dialects 5: Which Programming Languages Should You Learn? 5.1 Subject of Your Project 5.2 Customer Preference and Employer Preference 5.3 Pedagogical Aspects 6: Some Tips 6.1 Learn the Basics First! 6.2 Play! 6.3 Don’t Lose Heart! 6.4 Start Small, and Let Your Program Grow Incrementally! 6.5 Let Beauty Be Beauty! 6.6 Document! The Basic Concepts of Programming 7: Nine Questions 8: What Do I Need for Programming? 8.1 Tools 8.1.1 Compiler and Interpreter 8.1.2 Code Editors 8.1.3 Integrated Development Environments (IDEs) 8.1.4 Simple Online Development Environments 8.2 Help and Information 8.3 Generative Artificial Intelligence Like ChatGPT 8.4 Your Roadmap to Learning a New Programming Language 9: What Do I Have to Do to Get a Program Running? 9.1 All Beginnings Are Easy 9.2 Hello, World! 9.3 Your Roadmap to Learning a New Programming Language 10: How Do I Make Sure That I (and Others) Still Understand My Program Later? 10.1 Understandable Program Code 10.2 Design of the Program Code and Naming of Program Elements 10.3 Comments 10.3.1 Explain Your Own Program Code 10.3.2 What Else Comments Are Useful For 10.3.3 Documentation Outside the Program Code 10.4 Your Roadmap to Learning a New Programming Language 11: How Do I Store Data to Work With? 11.1 Variables as Placeholders for Data 11.2 Data Types of Variables 11.2.1 Different Types of Data Require Different Types of Variables 11.2.2 Important Data Types 11.2.3 Changing the Data Type: Conversion of Variables 11.3 Creating and Initializing Variables 11.4 Not So Variable: Constants 11.5 Ordered Fields of Variables/Arrays 11.6 Associative Fields of Variables/Hashes 11.7 Objects 11.7.1 The World Is Made of Objects 11.7.2 Classes 11.7.3 Inheritance 11.7.4 Methods 11.7.5 Polymorphism 11.7.6 Access Rights 11.8 Your Roadmap to Learning a New Programming Language 11.9 Solutions to the Exercises 12: How Do I Input and Output Data? 12.1 Forms of Data Input and Output 12.2 Graphical or Non-Graphical: That Is the Question Here 12.2.1 Graphical User Interfaces 12.2.1.1 Important Controls 12.2.1.2 Developing Graphical User Interfaces 12.2.2 Console Applications 12.3 Working with Files 12.4 Working with Databases 12.5 Your Roadmap to Learning a New Programming Language 12.6 Solutions to the Exercises 13: How Do I Work with Program Functions to Edit Data and Trigger Actions? 13.1 Functions 13.2 Libraries 13.3 Frameworks 13.4 Application Programming Interfaces (APIs) 13.5 Your Roadmap to Learning a New Programming Language 13.6 Solutions to the Exercises 14: How Do I Control the Program Flow and Make the Program React to User Actions and Other Events? 14.1 Why Program Flow Control Is Necessary 14.2 Forms of Flow Control 14.3 If-Else Constructs 14.4 A Closer Look at Conditions 14.5 Complex Conditions with Logical Operators (AND, OR, NOT) 14.6 Checking Similar Conditions Efficiently with Switch-Case Constructs (Switch/Select...Case) 14.7 Events 14.8 Your Roadmap to Learning a New Programming Language 14.9 Solutions to the Exercises 15: Loops: How Do I Repeat Program Instructions Efficiently? 15.1 Loops and Their Variants 15.2 Counting Loops 15.3 Conditional Loops 15.4 Your Roadmap to Learning a New Programming Language 15.5 Solutions to the Exercises 16: How Do I Search For and Fix Errors in a Structured Way? 16.1 Errors at Development Time 16.2 Errors at Runtime 16.3 Testing 16.4 Debugging Methods 16.5 Your Roadmap to Learning a New Programming Language Python 17: Introduction 18: Tools & Help: What Do I Need for Programming? 18.1 Installing the Python Interpreter 18.2 Installing the PyCharm IDE 18.3 Getting Help with Python 18.4 Summary 19: Program Execution & Hello World: What Do I Have to Do to Get a Program Running? 19.1 Developing and Executing Programs in Python 19.2 The Python console: Python in interactive mode 19.3 Get to Know PyCharm 19.4 Some Alternatives to PyCharm for Python Code Execution 19.5 Summary 20: Syntax, Comments, Code Style & Documentation: How Do I Make Sure That I (And Others) Still Understand My Program Later? 20.1 Design of the Program Code and Naming Conventions 20.1.1 Indentation and General Code Formatting 20.1.2 End of Statement Without Semicolon, Statements Over Several Lines 20.1.3 Case Sensitivity and Choice of Identifiers 20.2 Comments 20.3 Documentation with Docstrings 20.4 Summary 21: Variables & Objects: How Do I Store Data to Work With? 21.1 Creating and Assigning Variables 21.2 Deleting Variables 21.3 Basic Types of Variables 21.3.1 Numbers (int, float) 21.3.2 Strings (str) 21.3.3 Truth Values (bool) 21.3.4 None 21.3.5 Other Data Types 21.4 Variables as Objects 21.4.1 Attributes and Methods of Variables 21.4.2 Creating Variables with the Constructor Method 21.5 Converting Variables 21.6 Complex Data Types 21.6.1 Lists 21.6.1.1 Creating and Displaying Lists 21.6.1.2 Selecting Individual Elements of a List 21.6.1.3 Edit Lists 21.6.1.4 Lists as Elements of Lists 21.6.1.5 Strings as Lists 21.6.2 Tuples 21.6.3 Dictionaries 21.6.4 Sets 21.7 Self-Defined Classes 21.7.1 Defining and Using Classes 21.7.2 Deriving Classes from Other Classes 21.7.3 Avoid Ambiguity: Name Mangling 21.8 Summary 21.9 Solutions to the Exercises 22: User Interfaces: How Do I Input and Output Data? 22.1 Input and Output in the Console 22.2 Graphical User Interfaces with Tkinter 22.2.1 Overview 22.2.2 Hello Tkinter! 22.2.3 Graphical Controls (Widgets) 22.2.3.1 Buttons (Class Button) 22.2.3.2 Menus (Class Menu) 22.2.3.3 Input Fields (Classes Entry and ScrolledText) 22.2.3.4 Text Outputs (Label) 22.2.3.5 Check Buttons and Radio Buttons 22.2.3.6 Selection Lists (Listbox) 22.2.3.7 Message/Decision Dialogs (Class messagebox) 22.2.3.8 File Open/File Save Dialogs 22.2.3.9 Other Widgets 22.2.4 Arrangement of the Controls (Geometry Managers) 22.2.4.1 Pack 22.2.4.2 Grid 22.2.4.3 Place 22.2.5 Events 22.2.6 Example: Calculator Application 22.3 Working with Files 22.4 Exercise: Development of a Simple Text Editor 22.5 Summary 22.6 Solutions to the Exercises 23: Functions & Methods: How Do I Work with Program Functions to Work with Data and Trigger Actions? 23.1 Working with Functions 23.1.1 Definition of Functions 23.1.2 Function Arguments 23.1.3 Return Values 23.1.4 Local and Global Variables 23.2 Using Functions as Class Methods of Objects 23.3 Working with Modules and Packages 23.3.1 Modularizing Program Code 23.3.2 Importing Elements from Modules 23.3.3 Using the Community: The Python Package Index (PyPI) 23.4 Summary 23.5 Solutions to the Exercises 24: Conditional Statements & Event Handling: How Do I Control the Program Flow and Make the Program React to User Actions and Other Events? 24.1 If-Else Constructs 24.1.1 Simple If-Else Constructs 24.1.2 Nested if-else Constructs 24.1.3 If-Else Construct with Composite Conditions 24.1.4 If-Else Construct with Alternative Conditions (elif) 24.2 Events 24.3 Summary 24.4 Solutions to the Exercises 25: Loops: How Do I Repeat Program Instructions Efficiently? 25.1 Counting Loops (for) 25.1.1 Simple for-Loops 25.1.2 Nested for-Loops 25.1.3 List Comprehension Expressions 25.2 Conditional Loops (while) 25.3 Exiting Loops Prematurely and Restarting Them 25.4 Summary 25.5 Solutions to the Exercises 26: Debugging & Error-Handling: How to Find and Fix Errors in a Structured Way 26.1 Error Handling at Runtime 26.1.1 Catching Errors Through Targeted Checks 26.1.2 Try-Except Constructs 26.2 Troubleshooting During Development 26.2.1 Breakpoints 26.2.2 Display of Variable Content and Use of Watches 26.2.3 Step-by-Step Execution 26.3 Summary 26.4 Solutions to the Exercises JavaScript 27: Introduction 28: Tools & Help: What Do I Need for Programming? 28.1 Interpreter 28.2 Code Editors and Development Environments 28.3 Assistance and Documentation 28.4 Summary 29: Program Execution & Hello World: What Do I Have to Do to Get a Program Running? 29.1 Embedding JavaScript Code in Web Pages 29.1.1 The Script Element in HTML 29.1.2 Safety Aspects 29.2 “Hello World” in JavaScript 29.2.1 Do-it-Yourself: The (Not so) Laborious Way 29.2.2 With a Little Help: Fast Implementation with a Web Service 29.3 Summary 30: Syntax, Comments, Code Style & Documentation: How Do I Make Sure That I (And Others) Still Understand My Program Later? 30.1 Design of the Program Code and Naming Conventions 30.2 Comments 30.3 Summary 31: Variables & Objects: How Do I Store Data to Work With? 31.1 Declaration of Variables 31.2 Elementary Data Types 31.2.1 Numbers (number) 31.2.2 Text (string) 31.2.3 Logical Values (boolean) 31.2.4 Special Types and Values (null, undefined, NaN) 31.3 Converting Variables 31.3.1 Implicit Conversion 31.4 Arrays 31.5 Objects 31.5.1 Object Orientation in JavaScript 31.5.2 Creating Objects Directly 31.5.3 Accessing Properties of Objects 31.5.4 Creating Objects Using the Object Constructor 31.5.5 Creating Objects Using Constructor Functions 31.5.6 JSON 31.6 Summary 31.7 Solutions to the Exercises 32: User Interfaces: How Do I Input and Output Data? 32.1 Overview of Input and Output in JavaScript 32.2 Output Via the Console 32.3 Inputs and Outputs Via Dialog Boxes 32.4 Output to an HTML Document/Web Page 32.4.1 Writing HTML Code into the Web Page 32.4.2 The Document Object Model (DOM) 32.4.3 Selecting DOM Nodes by Their Properties 32.4.4 Selecting DOM Nodes via the Hierarchical Structure of the Document 32.4.5 Changing HTML Elements 32.4.6 Adding and Deleting HTML Elements 32.5 Input with Forms 32.5.1 Forms in HTML 32.5.2 Accessing Forms from JavaScript 32.6 Example: Simple Calculator 32.6.1 The Web Interface 32.6.2 The CSS Design Instructions 32.6.3 The JavaScript Code 32.7 Example: Color Picker 32.7.1 The Web Interface 32.7.2 The JavaScript Code 32.8 Summary 32.9 Solutions to the Exercises 33: Functions & Methods: How Do I Work with Program Functions to Work with Data and Trigger Actions? 33.1 Working with Functions 33.1.1 Definition of Functions 33.1.2 Return Values 33.1.3 Arguments and Parameters of Functions 33.1.4 Scope of Variables in Functions 33.2 Working with Modules/Libraries 33.2.1 Developing and Using Your Own Modules 33.2.2 Finding and Integrating External Modules/Libraries 33.3 Frameworks 33.4 Summary 33.5 Solutions to the Exercises 34: Conditional Statements & Event Handling: How Do I Control the Program Flow and Make the Program React to User Actions and Other Events? 34.1 If-Else Constructs 34.2 Switch-Case Constructs 34.3 Events 34.4 Summary 34.5 Solutions to the Exercises 35: Loops: How Do I Repeat Program Instructions Efficiently? 35.1 Counting Loops (for and for-of) 35.1.1 for-Loops with Numerical Run Variables 35.1.2 for-Loop with Object Run Variable (for...of) 35.2 Conditional Loops (while and do-while) 35.3 Summary 35.4 Solutions to the Exercises 36: Debugging & Error-Handling: How Do I Search for and Fix Errors in a Structured Way? 36.1 Error Handling at Runtime 36.2 Troubleshooting During Development 36.3 Summary Index
دانلود کتاب Learn Coding with Python and JavaScript : A Practical Introduction for Beginners