Beginning Programming All-in-One For Dummies
Häftad, Engelska, 2022
Av Wallace Wang
449 kr
Beställningsvara. Skickas inom 7-10 vardagar
Fri frakt för medlemmar vid köp för minst 249 kr.Let there be code! Beginning Programming All-in-One For Dummies offers one guide packed with 7 books to teach you programming across multiple languages. Coding can seem complex and convoluted, but Dummies makes it simple and easy to understand. You’ll learn all about the principles of programming, algorithms, data structures, debugging programs, unique applications of programming and more while learning about some of the most popular programming languages used today. Move confidently forward in your computer science coursework or straight into the workforce. You’ll come away with a rock-solid foundation in the programming basics, using data, coding for the web, and building killer apps. Learn the basics of coding, including writing and compiling code, using algorithms, and data structuresGet comfortable with the syntax of several different programming languagesWrap your mind around interesting programming opportunities such as conducting biological experiments within a computer or programming a video game engineDevelop cross-platform applications for desktop and mobile devicesThis essential guide takes the complexity and convolution out of programming for beginners and arms you with the knowledge you need to follow where the code takes you.
Produktinformation
- Utgivningsdatum2022-08-01
- Mått180 x 234 x 51 mm
- Vikt1 043 g
- FormatHäftad
- SpråkEngelska
- Antal sidor800
- Upplaga2
- FörlagJohn Wiley & Sons Inc
- ISBN9781119884408
Tillhör följande kategorier
Wallace Wang specializes in making complex topics understandable. His assorted For Dummies tech books have sold nearly half a million copies. He has a master’s degree in computer science along with side hustles in stand-up comedy and screenwriting because life is too short to focus on just one thing.
- Introduction 1About This Book 1Foolish Assumptions 2Icons Used in This Book 2Beyond the Book 3Where to Go from Here 3Book 1: Getting Started with Programming 5Chapter 1: Getting Started Programming a Computer 7How Computer Programming Works 8Identifying the problem 8Defining the steps 9The History of Computer Programming 10Talking to a processor in machine language 11Using assembly language as a shortcut to machine language 12Hiding the details of a computer with a high-level language 15Combining the best of both worlds with the C programming language 15Weighing the pros and cons of programming languages 16Figuring Out Programming 18Desire beats technical training every time 19Picking a computer and an operating system 19Writing programs with an editor 21Converting source code with an assembler or compiler 23Translating source code with an interpreter 25Combining a compiler with an interpreter to create p-code 25Taking the time to understand 26Chapter 2: Different Methods for Writing Programs 29Spaghetti Programming 31Structured Programming 34The three parts of structured programming 34Top-down programming 36Event-Driven Programming 38Designing a user interface 41Writing event handlers 42Writing your program 44Object-Oriented Programming 44Isolating data 46Simplifying modifications 47Using Protocol-Oriented Programming 49Design Patterns 50Chapter 3: Types of Programming Languages 53Your First Language 54BASICally disrespected 55Visual programming with Scratch 56Programming robots with LEGO Mindstorms 57Learning object-oriented programming with Alice 57Programming a killer robot 58Curly-Bracket Languages 60Learning programming with C 60Adding object-oriented programming with C++ 62Gaining true portability with Java 63Programming more safely with C# 64Choosing a curly-bracket language 66Artificial Intelligence Languages 67Scripting Languages 71Automating a program 72Customizing a program 73Transferring data among multiple programs 74Creating stand-alone programs 74Database Programming Languages 75Comparing Programming Languages 76Chapter 4: Programming Tools 77Choosing a Compiler 78Defining your needs for a compiler 79Evaluating the technical features of a compiler 80Finding an Interpreter 84Compiling to a Virtual Machine 86Writing a Program with an Editor 88Stand-alone editors 88Integrated development environments 90Fixing a Program with a Debugger 91Stepping line-by-line 92Watching variables 95Saving Time with Third-Party Components 96Optimizing a Program with a Profiler 97Managing Source Code 97Creating a Help File 99Installing a Program 99Dissecting Programs with a Disassembler 99Book 2: Programming Basics 101Chapter 1: How Programs Work 103Using Keywords as Building Blocks 105Organizing a Program 108Dividing a Program into Subprograms 109Dividing a Program into Objects 113Creating a User Interface 115Chapter 2: Variables, Data Types, and Constants 119Declaring Variables 120Variable naming conventions 121Creating variables in a command 122Declaring the data type of a variable 124Using Different Data Types 126Storing Data in a Variable 130Retrieving Data from a Variable 132Using Constant Values 133Defining the Scope of a Variable 135Handling global variables with care 136Restricting scope to a module 137Isolating variables in a subprogram 138Passing data among subprograms 139Chapter 3: Manipulating Data 141Storing Data with the Assignment Operator 142Using Math to Manipulate Numbers 143Organizing equations with operator precedence 144Using built-in math functions 146Manipulating Strings 147Finding Strings with Regular Expressions 148Pattern-matching with the single character (.) wildcard 149Pattern-matching for specific characters 149Pattern-matching with the multiple-character (*) and plus (+) wildcards 150Pattern-matching with ranges 151Using Comparison Operators 153Using Boolean Operators 156Using the Not operator 156Using the And operator 157Using the Or operator 158Using the Xor operator 159Converting Data Types 160Chapter 4: Making Decisions by Branching 163Picking One Choice with the IF-THEN Statement 164Picking Two Choices with the IF-THEN-ELSE Statement 166Picking Three or More Choices with the IF-THEN-ELSEIF Statement 168Checking a condition for each set of commands 168Offering three or more choices 170Playing with Multiple Boolean Operators 171Making Multiple Choices with the SELECT CASE Statement 174Matching multiple values in a SELECT CASE statement 177Checking a range of values 178Comparing values 179Chapter 5: Repeating Commands by Looping 181Looping a Fixed Number of Times with the FOR-NEXT Loop 182Using a FOR-NEXT loop variable 183Counting by a different range 185Counting by different increments 186Counting backward 187Counting over arrays and other items 188Looping Zero or More Times with the WHILE Loop 189Looping at Least Once with the DO Loop 192Playing with Nested Loops 193Prematurely Exiting from a Loop 195Checking Your Loops 195Chapter 6: Breaking a Large Program into Subprograms 197Creating and Using Subprograms 199Creating a subprogram 200“Calling” a subprogram 201Passing Parameters 203Passing parameters by reference 206Storing values in a subprogram name 210Repeating a Subprogram with Recursion 212Chapter 7: Breaking a Large Program into Objects 215How Object-Oriented Programming Works 216Encapsulation Isolates Data and Subprograms 219Shielding data inside an object 221Grouping methods inside of an object 221Protecting code from other programmers 222Sharing Code with Inheritance 223Polymorphism: Modifying Code without Changing Its Name 226Design Patterns 228Object-Oriented Languages 230Hybrid languages 231Pure languages 231Disadvantages of object-oriented programming 232Real-Life Programming Examples 233Defining an object with a class 233Creating an object from a class 236Running methods stored in an object 236Inheriting an object 238Using method overloading to rewrite an inherited subprogram 239Chapter 8: Reading and Saving Files 243Storing Data in Text Files 243Creating a text file 246Reading a text file 247Storing Fixed-Size Data in Random-Access Files 250Writing data 251Reading data 252Storing Varying-Size Data in Untyped Files 253Writing data 254Reading data 255Using Database Files 257Looking at the structure of a database 257Connecting to a database 259Chapter 9: Documenting Your Program 263Adding Comments to Source Code 264Identifying the two types of comments 265Describing code and algorithms 268Documentation 270Debugging 271Writing Software Documentation 272Documentation types 272Documentation tools 274Help files 275Chapter 10: Principles of User Interface Design 277The Evolution of User Interfaces 278Command-line interface 278Menus 278Graphical user interface 280Elements of a User Interface 281Displaying commands to a user interface 281Giving data to the user interface 284Showing information back to the user 288Organizing a user interface 290Designing a User Interface 291Know the user 291Hide/disable unusable options 292Tolerate mistakes 293Be consistent 294Give the user freedom to customize the user interface 295Make navigation easy 295Chapter 11: Debugging and Testing 297Common Types of Programming Errors 297Debugging with Comments and Print Statements 300Breakpoints, Stepping, and Watching 302Stepping through code 304Watching variables 305Testing Code 306Unit tests 307Integration tests 308User interface testing 309Book 3: Data Structures 311Chapter 1: Structures and Arrays 313Using Structures 314Storing data 315Retrieving data 315Using an Array 316Defining the size 317Storing data 320Retrieving data 321Working with Resizable Arrays 321BASIC 322C# 323Swift 323Working with Multidimensional Arrays 323Creating a multidimensional array 324Storing and retrieving data 325Using Structures with Arrays 325Drawbacks of Arrays 327Data types 328Searching and sorting 328Adding and deleting 329Identifying the location of data in an array 330Chapter 2: Sets and Linked Lists 333Using Sets 334Adding and deleting data in a set 335Checking for membership 336Avoiding duplicate data 337Manipulating two sets 337Using Linked Lists 342Creating a linked list 343Modifying a linked list 344Creating a double linked list 345Drawbacks of Sets and Linked Lists 346Problems with pointers 347Problems with accessing data 347Chapter 3: Collections and Dictionaries 351Using a Collection 352Adding data to a collection 352Deleting data from a collection 354Identifying data with keys 355Searching and retrieving data 356Using Dictionaries 358Adding data to a dictionary 358Searching and retrieving data from a dictionary 359Understanding Hash Tables 360Converting keys with a hash function 360Hash function collisions 362Chapter 4: Stacks, Queues, and Deques 367Using Stacks 368Adding data to a stack 369Removing data from a stack 370Counting and searching a stack 371Using Queues 372Adding data to a queue 373Removing data from a queue 374Counting and searching a queue 375Using Deques 376Chapter 5: Graphs and Trees 381Understanding Graphs 383Types of graphs 384Uses for graphs 385Creating Trees 386Ordered trees 387Binary trees 388B-trees 389Taking Action on Trees 390Traversing a tree to search for data 390Adding new data 392Deleting data 393Pruning and grafting sub-trees 394Book 4: Algorithms 397Chapter 1: Sorting Algorithms 399Using Bubble Sort 400Using Selection Sort 402Using Insertion Sort 403Using Shell Sort 405Using Heap Sort 406Using Merge Sort 410Using Quick Sort 411Comparing Sorting Algorithms 412Chapter 2: Searching Algorithms 415Sequential Search 416Backward or forward searching 417Block searching 418Binary searching 419Interpolation searching 420Using Indexes 422Creating an index 422Clustered and unclustered indexes 423Problems with indexes 424Adversarial Search 424Depth versus time 426Alpha-beta pruning 426Looking up a library of good moves 427Chapter 3: String Searching 429Sequential Text Search 430The Boyer-Moore algorithm 431The Rabin–Karp algorithm 431The Shift Or algorithm 433The finite automaton algorithm 435Searching with Regular Expressions 436Searching for single character patterns 436Searching for multiple character patterns 437Searching for alternate patterns 438Searching Phonetically 438Chapter 4: Data Compression Algorithms 441Lossless Data Compression Algorithms 442Run-length encoding 442The Burrows–Wheeler transform algorithm 442Dictionary encoding 445Lossy Data Compression 449Chapter 5: Encryption Algorithms 451How Encryption Works 451The Basics of Encryption 453Stream ciphers 456Block ciphers 457Symmetric/Asymmetric Encryption Algorithms 459Cracking Encryption 463Brute-force attacks 463Dictionary attacks 464Plaintext and ciphertext attacks 466Book 5: Web Programming 469Chapter 1: HyperText Markup Language 471The Structure of an HTML Document 472Creating a title 472Creating the body text 472Aligning text 474Emphasizing text 475Adding color 476Changing the font size 477Adding comments 478Adding Graphics 478Defining the Background 479Creating Hyperlinks 480Defining an anchor point 480Linking to an anchor point 480Making Tables 481Defining a table 481Defining a table heading 482Creating table rows and data 483Displaying a table caption, header, and footer 484Chapter 2: CSS 487The Structure of a Stylesheet 488Creating Style Classes 489Separating Styles in Files 491Cascading Stylesheets 493Chapter 3: JavaScript 495The Structure of a JavaScript Program 496Creating Comments 497Declaring Variables 498Using Operators 498Increment and decrement operators 500Assignment operators 501Branching Statements 501Looping Statements 503Creating Functions 504Using Arrays 505Designing User Interfaces 505Creating dialog boxes 505Creating windows 507Chapter 4: PHP 509Examining the Structure of a PHP Program 510Creating Comments 510Declaring Variables 511Using Operators 512Increment and decrement operators 513Assignment operators 515Branching Statements 515Looping Statements 517Creating Functions 518Using Arrays 519Creating Objects 520Chapter 5: Ruby 523The Structure of a Ruby Program 524Creating Comments 524Declaring Variables 525Using Operators 526Branching Statements 528Looping Statements 530Creating Functions 531Using Data Structures 532Creating Objects 534Book 6: Programming Language Syntax 537Chapter 1: C and C++ 539Looking at the Structure of a C/C++ Program 540Creating Comments 541Declaring Variables 542Declaring string data types 542Declaring integer data types 543Declaring floating-point data types 544Declaring Boolean values 545Using Operators 545Increment and decrement operators 546Assignment operators 548Branching Statements 548Looping Statements 550Creating Functions 551Data Structures 553Creating a structure 553Creating enumerations 554Creating an array 554Using Objects 555Chapter 2: Java and C# 557Looking at the Structure of a Java/C# Program 558Creating Comments 559Declaring Variables 559Declaring string data types 560Declaring integer data types 560Declaring floating-point data types 561Declaring Boolean variables 562Using Operators 562Increment and decrement operators 564Assignment operators 564Branching Statements 565Looping Statements 568Creating Functions 569Data Structures 571Creating a C# structure 571Creating an array 572Creating a Java linked list 573Creating C# data structures 574Using Objects 574Chapter 3: Perl and Python 577Reviewing the Structure of a Perl or Python Program 578Creating Comments 579Defining Variables 580Using Operators 580Increment and decrement operators 582Assignment operators 583Branching Statements 584Looping Statements 586Creating Functions 588Making Data Structures 588Perl data structures 589Python data structures 590Using Objects 592Chapter 4: Kotlin 595Looking at the Structure of a Kotlin Program 596Creating Comments 596Declaring Variables 597Declaring string data types 597Declaring integer data types 598Declaring floating-point data types 599Declaring Boolean values 599Declaring Constants 600Using Operators 600Branching Statements 601Looping Statements 605Creating Functions 606Creating Data Structures 608Creating a list 609Creating an array 610Creating a set 610Creating Objects 611Chapter 5: Swift and SwiftUI 613Considering the Structure of a Swift Program 614Understanding SwiftUI 614Creating a SwiftUI user interface 616Understanding SwiftUI state variables 616Creating Comments 618Declaring Variables 618Declaring string data types 619Declaring integer data types 620Declaring decimal data types 620Declaring Boolean values 621Declaring Constants 621Using Operators 622Branching Statements 623Looping Statements 627Creating Functions 628Data Structures 630Creating an array 630Creating a dictionary 632Creating a set 633Creating Objects 634Chapter 6: Flutter and Dart 637Working with Flutter 638Understanding the structure of a Flutter program 638Working with widgets in Flutter 639Aligning widgets in rows and columns 642Understanding the Dart Language 645Creating comments 645Declaring variables 646Using operators 646Using branching statements 649Using looping statements 650Creating functions 652Creating data structures 653Using objects 656Book 7: Applications 657Chapter 1: Database Management 659Understanding the Basics of Databases 659Free-form databases 660Flat-file databases 661Relational databases 663Manipulating Data 667Writing database commands 669The SQL language 670Data integrity 671Data mining 672Database Programming 672Chapter 2: Bioinformatics 675The Basics of Bioinformatics 676Representing molecules 676Manipulating molecules in a computer 677Database Searches 679Bioinformatics Programming 681Chapter 3: Computer Security 685Stopping Malware 686Viruses 687Worms 687Trojan horses 688Spyware 689Distributed denial-of-service attacks 690Stopping Hackers 691Intrusion detection systems 692Rootkit detectors 693Forensics 694Secure Computing 695Patching as an afterthought 695Security in coding 696Security by design 697Chapter 4: Artificial Intelligence 699Problem Solving 700Game-playing 701Natural language processing 702Speech recognition 704Image recognition 705Machine Learning 706Bayesian probability 707Neural networks 707Applications of Artificial Intelligence 710Chapter 5: Mobile and Wearable Computing 711Understanding the Different Generations of Computing 712Giving Data to the User 714Getting Data from the User 716Tracking Motion and Location 717Tracking Real-Time Health Data 718Looking to the Future of Augmented Reality and Wearable Computers 718Chapter 6: Game Engines 721Understanding Game Engines 722Picking a Game Engine 723Programming a Game Engine 724Exploring the Future Uses of Game Engines 726Filmmaking 726Architecture and engineering simulations 727Marketing and advertising 728Chapter 7: The Future of Computer Programming 731Picking a Programming Language 732Picking an Operating System 733Doing Cross-Platform Programming 735The portability of C 735Cross-platform languages 736Virtual machines 737Software as a service 738Data science 739Website programming 740Macro programming 740Robotics programming 741Blockchain programming 742Defining Your Future in Programming 743Teaching yourself other languages 743Combining other interests besides programming 744Getting experience and knowledge 744Index 747