{"product_id":"beginning-programming-all-in-one-for-dummies-isbn-9781119884408","title":"Beginning Programming All-in-One For Dummies","description":"\u003cp\u003e\u003cb\u003eLet there be code!\u003c\/b\u003e \u003c\/p\u003e\u003cp\u003e\u003ci\u003eBeginning Programming All-in-One For Dummies\u003c\/i\u003e 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. \u003c\/p\u003e\u003cul\u003e \u003cli\u003eLearn the basics of coding, including writing and compiling code, using algorithms, and data structures\u003c\/li\u003e \u003cli\u003eGet comfortable with the syntax of several different programming languages\u003c\/li\u003e \u003cli\u003eWrap your mind around interesting programming opportunities such as conducting biological experiments within a computer or programming a video game engine\u003c\/li\u003e \u003cli\u003eDevelop cross-platform applications for desktop and mobile devices\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eThis 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. \u003c\/p\u003e\u003cp\u003e\u003cb\u003eIntroduction\u003c\/b\u003e\u003cb\u003e 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAbout This Book 1\u003c\/p\u003e \u003cp\u003eFoolish Assumptions 2\u003c\/p\u003e \u003cp\u003eIcons Used in This Book 2\u003c\/p\u003e \u003cp\u003eBeyond the Book 3\u003c\/p\u003e \u003cp\u003eWhere to Go from Here 3\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 1: Getting Started with Programming\u003c\/b\u003e\u003cb\u003e 5\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Getting Started Programming a Computer\u003c\/b\u003e\u003cb\u003e 7\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Computer Programming Works 8\u003c\/p\u003e \u003cp\u003eIdentifying the problem 8\u003c\/p\u003e \u003cp\u003eDefining the steps 9\u003c\/p\u003e \u003cp\u003eThe History of Computer Programming 10\u003c\/p\u003e \u003cp\u003eTalking to a processor in machine language 11\u003c\/p\u003e \u003cp\u003eUsing assembly language as a shortcut to machine language 12\u003c\/p\u003e \u003cp\u003eHiding the details of a computer with a high-level language 15\u003c\/p\u003e \u003cp\u003eCombining the best of both worlds with the C programming language 15\u003c\/p\u003e \u003cp\u003eWeighing the pros and cons of programming languages 16\u003c\/p\u003e \u003cp\u003eFiguring Out Programming 18\u003c\/p\u003e \u003cp\u003eDesire beats technical training every time 19\u003c\/p\u003e \u003cp\u003ePicking a computer and an operating system 19\u003c\/p\u003e \u003cp\u003eWriting programs with an editor 21\u003c\/p\u003e \u003cp\u003eConverting source code with an assembler or compiler 23\u003c\/p\u003e \u003cp\u003eTranslating source code with an interpreter 25\u003c\/p\u003e \u003cp\u003eCombining a compiler with an interpreter to create p-code 25\u003c\/p\u003e \u003cp\u003eTaking the time to understand 26\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Different Methods for Writing Programs\u003c\/b\u003e\u003cb\u003e 29\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSpaghetti Programming 31\u003c\/p\u003e \u003cp\u003eStructured Programming 34\u003c\/p\u003e \u003cp\u003eThe three parts of structured programming 34\u003c\/p\u003e \u003cp\u003eTop-down programming 36\u003c\/p\u003e \u003cp\u003eEvent-Driven Programming 38\u003c\/p\u003e \u003cp\u003eDesigning a user interface 41\u003c\/p\u003e \u003cp\u003eWriting event handlers 42\u003c\/p\u003e \u003cp\u003eWriting your program 44\u003c\/p\u003e \u003cp\u003eObject-Oriented Programming 44\u003c\/p\u003e \u003cp\u003eIsolating data 46\u003c\/p\u003e \u003cp\u003eSimplifying modifications 47\u003c\/p\u003e \u003cp\u003eUsing Protocol-Oriented Programming 49\u003c\/p\u003e \u003cp\u003eDesign Patterns 50\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Types of Programming Languages\u003c\/b\u003e\u003cb\u003e 53\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eYour First Language 54\u003c\/p\u003e \u003cp\u003eBASICally disrespected 55\u003c\/p\u003e \u003cp\u003eVisual programming with Scratch 56\u003c\/p\u003e \u003cp\u003eProgramming robots with LEGO Mindstorms 57\u003c\/p\u003e \u003cp\u003eLearning object-oriented programming with Alice 57\u003c\/p\u003e \u003cp\u003eProgramming a killer robot 58\u003c\/p\u003e \u003cp\u003eCurly-Bracket Languages 60\u003c\/p\u003e \u003cp\u003eLearning programming with C 60\u003c\/p\u003e \u003cp\u003eAdding object-oriented programming with C++ 62\u003c\/p\u003e \u003cp\u003eGaining true portability with Java 63\u003c\/p\u003e \u003cp\u003eProgramming more safely with C# 64\u003c\/p\u003e \u003cp\u003eChoosing a curly-bracket language 66\u003c\/p\u003e \u003cp\u003eArtificial Intelligence Languages 67\u003c\/p\u003e \u003cp\u003eScripting Languages 71\u003c\/p\u003e \u003cp\u003eAutomating a program 72\u003c\/p\u003e \u003cp\u003eCustomizing a program 73\u003c\/p\u003e \u003cp\u003eTransferring data among multiple programs 74\u003c\/p\u003e \u003cp\u003eCreating stand-alone programs 74\u003c\/p\u003e \u003cp\u003eDatabase Programming Languages 75\u003c\/p\u003e \u003cp\u003eComparing Programming Languages 76\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Programming Tools\u003c\/b\u003e\u003cb\u003e 77\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChoosing a Compiler 78\u003c\/p\u003e \u003cp\u003eDefining your needs for a compiler 79\u003c\/p\u003e \u003cp\u003eEvaluating the technical features of a compiler 80\u003c\/p\u003e \u003cp\u003eFinding an Interpreter 84\u003c\/p\u003e \u003cp\u003eCompiling to a Virtual Machine 86\u003c\/p\u003e \u003cp\u003eWriting a Program with an Editor 88\u003c\/p\u003e \u003cp\u003eStand-alone editors 88\u003c\/p\u003e \u003cp\u003eIntegrated development environments 90\u003c\/p\u003e \u003cp\u003eFixing a Program with a Debugger 91\u003c\/p\u003e \u003cp\u003eStepping line-by-line 92\u003c\/p\u003e \u003cp\u003eWatching variables 95\u003c\/p\u003e \u003cp\u003eSaving Time with Third-Party Components 96\u003c\/p\u003e \u003cp\u003eOptimizing a Program with a Profiler 97\u003c\/p\u003e \u003cp\u003eManaging Source Code 97\u003c\/p\u003e \u003cp\u003eCreating a Help File 99\u003c\/p\u003e \u003cp\u003eInstalling a Program 99\u003c\/p\u003e \u003cp\u003eDissecting Programs with a Disassembler 99\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 2: Programming Basics\u003c\/b\u003e\u003cb\u003e 101\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: How Programs Work\u003c\/b\u003e\u003cb\u003e 103\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Keywords as Building Blocks 105\u003c\/p\u003e \u003cp\u003eOrganizing a Program 108\u003c\/p\u003e \u003cp\u003eDividing a Program into Subprograms 109\u003c\/p\u003e \u003cp\u003eDividing a Program into Objects 113\u003c\/p\u003e \u003cp\u003eCreating a User Interface 115\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Variables, Data Types, and Constants\u003c\/b\u003e\u003cb\u003e 119\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDeclaring Variables 120\u003c\/p\u003e \u003cp\u003eVariable naming conventions 121\u003c\/p\u003e \u003cp\u003eCreating variables in a command 122\u003c\/p\u003e \u003cp\u003eDeclaring the data type of a variable 124\u003c\/p\u003e \u003cp\u003eUsing Different Data Types 126\u003c\/p\u003e \u003cp\u003eStoring Data in a Variable 130\u003c\/p\u003e \u003cp\u003eRetrieving Data from a Variable 132\u003c\/p\u003e \u003cp\u003eUsing Constant Values 133\u003c\/p\u003e \u003cp\u003eDefining the Scope of a Variable 135\u003c\/p\u003e \u003cp\u003eHandling global variables with care 136\u003c\/p\u003e \u003cp\u003eRestricting scope to a module 137\u003c\/p\u003e \u003cp\u003eIsolating variables in a subprogram 138\u003c\/p\u003e \u003cp\u003ePassing data among subprograms 139\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Manipulating Data\u003c\/b\u003e\u003cb\u003e 141\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eStoring Data with the Assignment Operator 142\u003c\/p\u003e \u003cp\u003eUsing Math to Manipulate Numbers 143\u003c\/p\u003e \u003cp\u003eOrganizing equations with operator precedence 144\u003c\/p\u003e \u003cp\u003eUsing built-in math functions 146\u003c\/p\u003e \u003cp\u003eManipulating Strings 147\u003c\/p\u003e \u003cp\u003eFinding Strings with Regular Expressions 148\u003c\/p\u003e \u003cp\u003ePattern-matching with the single character (.) wildcard 149\u003c\/p\u003e \u003cp\u003ePattern-matching for specific characters 149\u003c\/p\u003e \u003cp\u003ePattern-matching with the multiple-character (*) and plus (+) wildcards 150\u003c\/p\u003e \u003cp\u003ePattern-matching with ranges 151\u003c\/p\u003e \u003cp\u003eUsing Comparison Operators 153\u003c\/p\u003e \u003cp\u003eUsing Boolean Operators 156\u003c\/p\u003e \u003cp\u003eUsing the Not operator 156\u003c\/p\u003e \u003cp\u003eUsing the And operator 157\u003c\/p\u003e \u003cp\u003eUsing the Or operator 158\u003c\/p\u003e \u003cp\u003eUsing the Xor operator 159\u003c\/p\u003e \u003cp\u003eConverting Data Types 160\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Making Decisions by Branching\u003c\/b\u003e\u003cb\u003e 163\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePicking One Choice with the IF-THEN Statement 164\u003c\/p\u003e \u003cp\u003ePicking Two Choices with the IF-THEN-ELSE Statement 166\u003c\/p\u003e \u003cp\u003ePicking Three or More Choices with the IF-THEN-ELSEIF Statement 168\u003c\/p\u003e \u003cp\u003eChecking a condition for each set of commands 168\u003c\/p\u003e \u003cp\u003eOffering three or more choices 170\u003c\/p\u003e \u003cp\u003ePlaying with Multiple Boolean Operators 171\u003c\/p\u003e \u003cp\u003eMaking Multiple Choices with the SELECT CASE Statement 174\u003c\/p\u003e \u003cp\u003eMatching multiple values in a SELECT CASE statement 177\u003c\/p\u003e \u003cp\u003eChecking a range of values 178\u003c\/p\u003e \u003cp\u003eComparing values 179\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Repeating Commands by Looping\u003c\/b\u003e\u003cb\u003e 181\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLooping a Fixed Number of Times with the FOR-NEXT Loop 182\u003c\/p\u003e \u003cp\u003eUsing a FOR-NEXT loop variable 183\u003c\/p\u003e \u003cp\u003eCounting by a different range 185\u003c\/p\u003e \u003cp\u003eCounting by different increments 186\u003c\/p\u003e \u003cp\u003eCounting backward 187\u003c\/p\u003e \u003cp\u003eCounting over arrays and other items 188\u003c\/p\u003e \u003cp\u003eLooping Zero or More Times with the WHILE Loop 189\u003c\/p\u003e \u003cp\u003eLooping at Least Once with the DO Loop 192\u003c\/p\u003e \u003cp\u003ePlaying with Nested Loops 193\u003c\/p\u003e \u003cp\u003ePrematurely Exiting from a Loop 195\u003c\/p\u003e \u003cp\u003eChecking Your Loops 195\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Breaking a Large Program into Subprograms\u003c\/b\u003e\u003cb\u003e 197\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreating and Using Subprograms 199\u003c\/p\u003e \u003cp\u003eCreating a subprogram 200\u003c\/p\u003e \u003cp\u003e“Calling” a subprogram 201\u003c\/p\u003e \u003cp\u003ePassing Parameters 203\u003c\/p\u003e \u003cp\u003ePassing parameters by reference 206\u003c\/p\u003e \u003cp\u003eStoring values in a subprogram name 210\u003c\/p\u003e \u003cp\u003eRepeating a Subprogram with Recursion 212\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: Breaking a Large Program into Objects\u003c\/b\u003e\u003cb\u003e 215\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Object-Oriented Programming Works 216\u003c\/p\u003e \u003cp\u003eEncapsulation Isolates Data and Subprograms 219\u003c\/p\u003e \u003cp\u003eShielding data inside an object 221\u003c\/p\u003e \u003cp\u003eGrouping methods inside of an object 221\u003c\/p\u003e \u003cp\u003eProtecting code from other programmers 222\u003c\/p\u003e \u003cp\u003eSharing Code with Inheritance 223\u003c\/p\u003e \u003cp\u003ePolymorphism: Modifying Code without Changing Its Name 226\u003c\/p\u003e \u003cp\u003eDesign Patterns 228\u003c\/p\u003e \u003cp\u003eObject-Oriented Languages 230\u003c\/p\u003e \u003cp\u003eHybrid languages 231\u003c\/p\u003e \u003cp\u003ePure languages 231\u003c\/p\u003e \u003cp\u003eDisadvantages of object-oriented programming 232\u003c\/p\u003e \u003cp\u003eReal-Life Programming Examples 233\u003c\/p\u003e \u003cp\u003eDefining an object with a class 233\u003c\/p\u003e \u003cp\u003eCreating an object from a class 236\u003c\/p\u003e \u003cp\u003eRunning methods stored in an object 236\u003c\/p\u003e \u003cp\u003eInheriting an object 238\u003c\/p\u003e \u003cp\u003eUsing method overloading to rewrite an inherited subprogram 239\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Reading and Saving Files\u003c\/b\u003e\u003cb\u003e 243\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eStoring Data in Text Files 243\u003c\/p\u003e \u003cp\u003eCreating a text file 246\u003c\/p\u003e \u003cp\u003eReading a text file 247\u003c\/p\u003e \u003cp\u003eStoring Fixed-Size Data in Random-Access Files 250\u003c\/p\u003e \u003cp\u003eWriting data 251\u003c\/p\u003e \u003cp\u003eReading data 252\u003c\/p\u003e \u003cp\u003eStoring Varying-Size Data in Untyped Files 253\u003c\/p\u003e \u003cp\u003eWriting data 254\u003c\/p\u003e \u003cp\u003eReading data 255\u003c\/p\u003e \u003cp\u003eUsing Database Files 257\u003c\/p\u003e \u003cp\u003eLooking at the structure of a database 257\u003c\/p\u003e \u003cp\u003eConnecting to a database 259\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: Documenting Your Program\u003c\/b\u003e\u003cb\u003e 263\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAdding Comments to Source Code 264\u003c\/p\u003e \u003cp\u003eIdentifying the two types of comments 265\u003c\/p\u003e \u003cp\u003eDescribing code and algorithms 268\u003c\/p\u003e \u003cp\u003eDocumentation 270\u003c\/p\u003e \u003cp\u003eDebugging 271\u003c\/p\u003e \u003cp\u003eWriting Software Documentation 272\u003c\/p\u003e \u003cp\u003eDocumentation types 272\u003c\/p\u003e \u003cp\u003eDocumentation tools 274\u003c\/p\u003e \u003cp\u003eHelp files 275\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: Principles of User Interface Design\u003c\/b\u003e\u003cb\u003e 277\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Evolution of User Interfaces 278\u003c\/p\u003e \u003cp\u003eCommand-line interface 278\u003c\/p\u003e \u003cp\u003eMenus 278\u003c\/p\u003e \u003cp\u003eGraphical user interface 280\u003c\/p\u003e \u003cp\u003eElements of a User Interface 281\u003c\/p\u003e \u003cp\u003eDisplaying commands to a user interface 281\u003c\/p\u003e \u003cp\u003eGiving data to the user interface 284\u003c\/p\u003e \u003cp\u003eShowing information back to the user 288\u003c\/p\u003e \u003cp\u003eOrganizing a user interface 290\u003c\/p\u003e \u003cp\u003eDesigning a User Interface 291\u003c\/p\u003e \u003cp\u003eKnow the user 291\u003c\/p\u003e \u003cp\u003eHide\/disable unusable options 292\u003c\/p\u003e \u003cp\u003eTolerate mistakes 293\u003c\/p\u003e \u003cp\u003eBe consistent 294\u003c\/p\u003e \u003cp\u003eGive the user freedom to customize the user interface 295\u003c\/p\u003e \u003cp\u003eMake navigation easy 295\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: Debugging and Testing\u003c\/b\u003e\u003cb\u003e 297\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCommon Types of Programming Errors 297\u003c\/p\u003e \u003cp\u003eDebugging with Comments and Print Statements 300\u003c\/p\u003e \u003cp\u003eBreakpoints, Stepping, and Watching 302\u003c\/p\u003e \u003cp\u003eStepping through code 304\u003c\/p\u003e \u003cp\u003eWatching variables 305\u003c\/p\u003e \u003cp\u003eTesting Code 306\u003c\/p\u003e \u003cp\u003eUnit tests 307\u003c\/p\u003e \u003cp\u003eIntegration tests 308\u003c\/p\u003e \u003cp\u003eUser interface testing 309\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 3: Data Structures\u003c\/b\u003e\u003cb\u003e 311\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Structures and Arrays\u003c\/b\u003e\u003cb\u003e 313\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Structures 314\u003c\/p\u003e \u003cp\u003eStoring data 315\u003c\/p\u003e \u003cp\u003eRetrieving data 315\u003c\/p\u003e \u003cp\u003eUsing an Array 316\u003c\/p\u003e \u003cp\u003eDefining the size 317\u003c\/p\u003e \u003cp\u003eStoring data 320\u003c\/p\u003e \u003cp\u003eRetrieving data 321\u003c\/p\u003e \u003cp\u003eWorking with Resizable Arrays 321\u003c\/p\u003e \u003cp\u003eBASIC 322\u003c\/p\u003e \u003cp\u003eC# 323\u003c\/p\u003e \u003cp\u003eSwift 323\u003c\/p\u003e \u003cp\u003eWorking with Multidimensional Arrays 323\u003c\/p\u003e \u003cp\u003eCreating a multidimensional array 324\u003c\/p\u003e \u003cp\u003eStoring and retrieving data 325\u003c\/p\u003e \u003cp\u003eUsing Structures with Arrays 325\u003c\/p\u003e \u003cp\u003eDrawbacks of Arrays 327\u003c\/p\u003e \u003cp\u003eData types 328\u003c\/p\u003e \u003cp\u003eSearching and sorting 328\u003c\/p\u003e \u003cp\u003eAdding and deleting 329\u003c\/p\u003e \u003cp\u003eIdentifying the location of data in an array 330\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Sets and Linked Lists\u003c\/b\u003e\u003cb\u003e 333\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Sets 334\u003c\/p\u003e \u003cp\u003eAdding and deleting data in a set 335\u003c\/p\u003e \u003cp\u003eChecking for membership 336\u003c\/p\u003e \u003cp\u003eAvoiding duplicate data 337\u003c\/p\u003e \u003cp\u003eManipulating two sets 337\u003c\/p\u003e \u003cp\u003eUsing Linked Lists 342\u003c\/p\u003e \u003cp\u003eCreating a linked list 343\u003c\/p\u003e \u003cp\u003eModifying a linked list 344\u003c\/p\u003e \u003cp\u003eCreating a double linked list 345\u003c\/p\u003e \u003cp\u003eDrawbacks of Sets and Linked Lists 346\u003c\/p\u003e \u003cp\u003eProblems with pointers 347\u003c\/p\u003e \u003cp\u003eProblems with accessing data 347\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Collections and Dictionaries\u003c\/b\u003e\u003cb\u003e 351\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing a Collection 352\u003c\/p\u003e \u003cp\u003eAdding data to a collection 352\u003c\/p\u003e \u003cp\u003eDeleting data from a collection 354\u003c\/p\u003e \u003cp\u003eIdentifying data with keys 355\u003c\/p\u003e \u003cp\u003eSearching and retrieving data 356\u003c\/p\u003e \u003cp\u003eUsing Dictionaries 358\u003c\/p\u003e \u003cp\u003eAdding data to a dictionary 358\u003c\/p\u003e \u003cp\u003eSearching and retrieving data from a dictionary 359\u003c\/p\u003e \u003cp\u003eUnderstanding Hash Tables 360\u003c\/p\u003e \u003cp\u003eConverting keys with a hash function 360\u003c\/p\u003e \u003cp\u003eHash function collisions 362\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Stacks, Queues, and Deques\u003c\/b\u003e\u003cb\u003e 367\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Stacks 368\u003c\/p\u003e \u003cp\u003eAdding data to a stack 369\u003c\/p\u003e \u003cp\u003eRemoving data from a stack 370\u003c\/p\u003e \u003cp\u003eCounting and searching a stack 371\u003c\/p\u003e \u003cp\u003eUsing Queues 372\u003c\/p\u003e \u003cp\u003eAdding data to a queue 373\u003c\/p\u003e \u003cp\u003eRemoving data from a queue 374\u003c\/p\u003e \u003cp\u003eCounting and searching a queue 375\u003c\/p\u003e \u003cp\u003eUsing Deques 376\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Graphs and Trees\u003c\/b\u003e\u003cb\u003e 381\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Graphs 383\u003c\/p\u003e \u003cp\u003eTypes of graphs 384\u003c\/p\u003e \u003cp\u003eUses for graphs 385\u003c\/p\u003e \u003cp\u003eCreating Trees 386\u003c\/p\u003e \u003cp\u003eOrdered trees 387\u003c\/p\u003e \u003cp\u003eBinary trees 388\u003c\/p\u003e \u003cp\u003eB-trees 389\u003c\/p\u003e \u003cp\u003eTaking Action on Trees 390\u003c\/p\u003e \u003cp\u003eTraversing a tree to search for data 390\u003c\/p\u003e \u003cp\u003eAdding new data 392\u003c\/p\u003e \u003cp\u003eDeleting data 393\u003c\/p\u003e \u003cp\u003ePruning and grafting sub-trees 394\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 4: Algorithms\u003c\/b\u003e\u003cb\u003e 397\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Sorting Algorithms\u003c\/b\u003e\u003cb\u003e 399\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Bubble Sort 400\u003c\/p\u003e \u003cp\u003eUsing Selection Sort 402\u003c\/p\u003e \u003cp\u003eUsing Insertion Sort 403\u003c\/p\u003e \u003cp\u003eUsing Shell Sort 405\u003c\/p\u003e \u003cp\u003eUsing Heap Sort 406\u003c\/p\u003e \u003cp\u003eUsing Merge Sort 410\u003c\/p\u003e \u003cp\u003eUsing Quick Sort 411\u003c\/p\u003e \u003cp\u003eComparing Sorting Algorithms 412\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Searching Algorithms\u003c\/b\u003e\u003cb\u003e 415\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSequential Search 416\u003c\/p\u003e \u003cp\u003eBackward or forward searching 417\u003c\/p\u003e \u003cp\u003eBlock searching 418\u003c\/p\u003e \u003cp\u003eBinary searching 419\u003c\/p\u003e \u003cp\u003eInterpolation searching 420\u003c\/p\u003e \u003cp\u003eUsing Indexes 422\u003c\/p\u003e \u003cp\u003eCreating an index 422\u003c\/p\u003e \u003cp\u003eClustered and unclustered indexes 423\u003c\/p\u003e \u003cp\u003eProblems with indexes 424\u003c\/p\u003e \u003cp\u003eAdversarial Search 424\u003c\/p\u003e \u003cp\u003eDepth versus time 426\u003c\/p\u003e \u003cp\u003eAlpha-beta pruning 426\u003c\/p\u003e \u003cp\u003eLooking up a library of good moves 427\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: String Searching \u003c\/b\u003e\u003cb\u003e429\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eSequential Text Search 430\u003c\/p\u003e \u003cp\u003eThe Boyer-Moore algorithm 431\u003c\/p\u003e \u003cp\u003eThe Rabin–Karp algorithm 431\u003c\/p\u003e \u003cp\u003eThe Shift Or algorithm 433\u003c\/p\u003e \u003cp\u003eThe finite automaton algorithm 435\u003c\/p\u003e \u003cp\u003eSearching with Regular Expressions 436\u003c\/p\u003e \u003cp\u003eSearching for single character patterns 436\u003c\/p\u003e \u003cp\u003eSearching for multiple character patterns 437\u003c\/p\u003e \u003cp\u003eSearching for alternate patterns 438\u003c\/p\u003e \u003cp\u003eSearching Phonetically 438\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Data Compression Algorithms\u003c\/b\u003e\u003cb\u003e 441\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLossless Data Compression Algorithms 442\u003c\/p\u003e \u003cp\u003eRun-length encoding 442\u003c\/p\u003e \u003cp\u003eThe Burrows–Wheeler transform algorithm 442\u003c\/p\u003e \u003cp\u003eDictionary encoding 445\u003c\/p\u003e \u003cp\u003eLossy Data Compression 449\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Encryption Algorithms\u003c\/b\u003e\u003cb\u003e 451\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eHow Encryption Works 451\u003c\/p\u003e \u003cp\u003eThe Basics of Encryption 453\u003c\/p\u003e \u003cp\u003eStream ciphers 456\u003c\/p\u003e \u003cp\u003eBlock ciphers 457\u003c\/p\u003e \u003cp\u003eSymmetric\/Asymmetric Encryption Algorithms 459\u003c\/p\u003e \u003cp\u003eCracking Encryption 463\u003c\/p\u003e \u003cp\u003eBrute-force attacks 463\u003c\/p\u003e \u003cp\u003eDictionary attacks 464\u003c\/p\u003e \u003cp\u003ePlaintext and ciphertext attacks 466\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 5: Web Programming\u003c\/b\u003e\u003cb\u003e 469\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: HyperText Markup Language\u003c\/b\u003e\u003cb\u003e 471\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Structure of an HTML Document 472\u003c\/p\u003e \u003cp\u003eCreating a title 472\u003c\/p\u003e \u003cp\u003eCreating the body text 472\u003c\/p\u003e \u003cp\u003eAligning text 474\u003c\/p\u003e \u003cp\u003eEmphasizing text 475\u003c\/p\u003e \u003cp\u003eAdding color 476\u003c\/p\u003e \u003cp\u003eChanging the font size 477\u003c\/p\u003e \u003cp\u003eAdding comments 478\u003c\/p\u003e \u003cp\u003eAdding Graphics 478\u003c\/p\u003e \u003cp\u003eDefining the Background 479\u003c\/p\u003e \u003cp\u003eCreating Hyperlinks 480\u003c\/p\u003e \u003cp\u003eDefining an anchor point 480\u003c\/p\u003e \u003cp\u003eLinking to an anchor point 480\u003c\/p\u003e \u003cp\u003eMaking Tables 481\u003c\/p\u003e \u003cp\u003eDefining a table 481\u003c\/p\u003e \u003cp\u003eDefining a table heading 482\u003c\/p\u003e \u003cp\u003eCreating table rows and data 483\u003c\/p\u003e \u003cp\u003eDisplaying a table caption, header, and footer 484\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: CSS\u003c\/b\u003e\u003cb\u003e 487\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Structure of a Stylesheet 488\u003c\/p\u003e \u003cp\u003eCreating Style Classes 489\u003c\/p\u003e \u003cp\u003eSeparating Styles in Files 491\u003c\/p\u003e \u003cp\u003eCascading Stylesheets 493\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: JavaScript \u003c\/b\u003e\u003cb\u003e495\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Structure of a JavaScript Program 496\u003c\/p\u003e \u003cp\u003eCreating Comments 497\u003c\/p\u003e \u003cp\u003eDeclaring Variables 498\u003c\/p\u003e \u003cp\u003eUsing Operators 498\u003c\/p\u003e \u003cp\u003eIncrement and decrement operators 500\u003c\/p\u003e \u003cp\u003eAssignment operators 501\u003c\/p\u003e \u003cp\u003eBranching Statements 501\u003c\/p\u003e \u003cp\u003eLooping Statements 503\u003c\/p\u003e \u003cp\u003eCreating Functions 504\u003c\/p\u003e \u003cp\u003eUsing Arrays 505\u003c\/p\u003e \u003cp\u003eDesigning User Interfaces 505\u003c\/p\u003e \u003cp\u003eCreating dialog boxes 505\u003c\/p\u003e \u003cp\u003eCreating windows 507\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: PHP\u003c\/b\u003e\u003cb\u003e 509\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExamining the Structure of a PHP Program 510\u003c\/p\u003e \u003cp\u003eCreating Comments 510\u003c\/p\u003e \u003cp\u003eDeclaring Variables 511\u003c\/p\u003e \u003cp\u003eUsing Operators 512\u003c\/p\u003e \u003cp\u003eIncrement and decrement operators 513\u003c\/p\u003e \u003cp\u003eAssignment operators 515\u003c\/p\u003e \u003cp\u003eBranching Statements 515\u003c\/p\u003e \u003cp\u003eLooping Statements 517\u003c\/p\u003e \u003cp\u003eCreating Functions 518\u003c\/p\u003e \u003cp\u003eUsing Arrays 519\u003c\/p\u003e \u003cp\u003eCreating Objects 520\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Ruby\u003c\/b\u003e\u003cb\u003e 523\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Structure of a Ruby Program 524\u003c\/p\u003e \u003cp\u003eCreating Comments 524\u003c\/p\u003e \u003cp\u003eDeclaring Variables 525\u003c\/p\u003e \u003cp\u003eUsing Operators 526\u003c\/p\u003e \u003cp\u003eBranching Statements 528\u003c\/p\u003e \u003cp\u003eLooping Statements 530\u003c\/p\u003e \u003cp\u003eCreating Functions 531\u003c\/p\u003e \u003cp\u003eUsing Data Structures 532\u003c\/p\u003e \u003cp\u003eCreating Objects 534\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 6: Programming Language Syntax\u003c\/b\u003e\u003cb\u003e 537\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: C and C++\u003c\/b\u003e\u003cb\u003e 539\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLooking at the Structure of a C\/C++ Program 540\u003c\/p\u003e \u003cp\u003eCreating Comments 541\u003c\/p\u003e \u003cp\u003eDeclaring Variables 542\u003c\/p\u003e \u003cp\u003eDeclaring string data types 542\u003c\/p\u003e \u003cp\u003eDeclaring integer data types 543\u003c\/p\u003e \u003cp\u003eDeclaring floating-point data types 544\u003c\/p\u003e \u003cp\u003eDeclaring Boolean values 545\u003c\/p\u003e \u003cp\u003eUsing Operators 545\u003c\/p\u003e \u003cp\u003eIncrement and decrement operators 546\u003c\/p\u003e \u003cp\u003eAssignment operators 548\u003c\/p\u003e \u003cp\u003eBranching Statements 548\u003c\/p\u003e \u003cp\u003eLooping Statements 550\u003c\/p\u003e \u003cp\u003eCreating Functions 551\u003c\/p\u003e \u003cp\u003eData Structures 553\u003c\/p\u003e \u003cp\u003eCreating a structure 553\u003c\/p\u003e \u003cp\u003eCreating enumerations 554\u003c\/p\u003e \u003cp\u003eCreating an array 554\u003c\/p\u003e \u003cp\u003eUsing Objects 555\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Java and C#\u003c\/b\u003e\u003cb\u003e 557\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLooking at the Structure of a Java\/C# Program 558\u003c\/p\u003e \u003cp\u003eCreating Comments 559\u003c\/p\u003e \u003cp\u003eDeclaring Variables 559\u003c\/p\u003e \u003cp\u003eDeclaring string data types 560\u003c\/p\u003e \u003cp\u003eDeclaring integer data types 560\u003c\/p\u003e \u003cp\u003eDeclaring floating-point data types 561\u003c\/p\u003e \u003cp\u003eDeclaring Boolean variables 562\u003c\/p\u003e \u003cp\u003eUsing Operators 562\u003c\/p\u003e \u003cp\u003eIncrement and decrement operators 564\u003c\/p\u003e \u003cp\u003eAssignment operators 564\u003c\/p\u003e \u003cp\u003eBranching Statements 565\u003c\/p\u003e \u003cp\u003eLooping Statements 568\u003c\/p\u003e \u003cp\u003eCreating Functions 569\u003c\/p\u003e \u003cp\u003eData Structures 571\u003c\/p\u003e \u003cp\u003eCreating a C# structure 571\u003c\/p\u003e \u003cp\u003eCreating an array 572\u003c\/p\u003e \u003cp\u003eCreating a Java linked list 573\u003c\/p\u003e \u003cp\u003eCreating C# data structures 574\u003c\/p\u003e \u003cp\u003eUsing Objects 574\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Perl and Python\u003c\/b\u003e\u003cb\u003e 577\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eReviewing the Structure of a Perl or Python Program 578\u003c\/p\u003e \u003cp\u003eCreating Comments 579\u003c\/p\u003e \u003cp\u003eDefining Variables 580\u003c\/p\u003e \u003cp\u003eUsing Operators 580\u003c\/p\u003e \u003cp\u003eIncrement and decrement operators 582\u003c\/p\u003e \u003cp\u003eAssignment operators 583\u003c\/p\u003e \u003cp\u003eBranching Statements 584\u003c\/p\u003e \u003cp\u003eLooping Statements 586\u003c\/p\u003e \u003cp\u003eCreating Functions 588\u003c\/p\u003e \u003cp\u003eMaking Data Structures 588\u003c\/p\u003e \u003cp\u003ePerl data structures 589\u003c\/p\u003e \u003cp\u003ePython data structures 590\u003c\/p\u003e \u003cp\u003eUsing Objects 592\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Kotlin \u003c\/b\u003e\u003cb\u003e595\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLooking at the Structure of a Kotlin Program 596\u003c\/p\u003e \u003cp\u003eCreating Comments 596\u003c\/p\u003e \u003cp\u003eDeclaring Variables 597\u003c\/p\u003e \u003cp\u003eDeclaring string data types 597\u003c\/p\u003e \u003cp\u003eDeclaring integer data types 598\u003c\/p\u003e \u003cp\u003eDeclaring floating-point data types 599\u003c\/p\u003e \u003cp\u003eDeclaring Boolean values 599\u003c\/p\u003e \u003cp\u003eDeclaring Constants 600\u003c\/p\u003e \u003cp\u003eUsing Operators 600\u003c\/p\u003e \u003cp\u003eBranching Statements 601\u003c\/p\u003e \u003cp\u003eLooping Statements 605\u003c\/p\u003e \u003cp\u003eCreating Functions 606\u003c\/p\u003e \u003cp\u003eCreating Data Structures 608\u003c\/p\u003e \u003cp\u003eCreating a list 609\u003c\/p\u003e \u003cp\u003eCreating an array 610\u003c\/p\u003e \u003cp\u003eCreating a set 610\u003c\/p\u003e \u003cp\u003eCreating Objects 611\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Swift and SwiftUI\u003c\/b\u003e\u003cb\u003e 613\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eConsidering the Structure of a Swift Program 614\u003c\/p\u003e \u003cp\u003eUnderstanding SwiftUI 614\u003c\/p\u003e \u003cp\u003eCreating a SwiftUI user interface 616\u003c\/p\u003e \u003cp\u003eUnderstanding SwiftUI state variables 616\u003c\/p\u003e \u003cp\u003eCreating Comments 618\u003c\/p\u003e \u003cp\u003eDeclaring Variables 618\u003c\/p\u003e \u003cp\u003eDeclaring string data types 619\u003c\/p\u003e \u003cp\u003eDeclaring integer data types 620\u003c\/p\u003e \u003cp\u003eDeclaring decimal data types 620\u003c\/p\u003e \u003cp\u003eDeclaring Boolean values 621\u003c\/p\u003e \u003cp\u003eDeclaring Constants 621\u003c\/p\u003e \u003cp\u003eUsing Operators 622\u003c\/p\u003e \u003cp\u003eBranching Statements 623\u003c\/p\u003e \u003cp\u003eLooping Statements 627\u003c\/p\u003e \u003cp\u003eCreating Functions 628\u003c\/p\u003e \u003cp\u003eData Structures 630\u003c\/p\u003e \u003cp\u003eCreating an array 630\u003c\/p\u003e \u003cp\u003eCreating a dictionary 632\u003c\/p\u003e \u003cp\u003eCreating a set 633\u003c\/p\u003e \u003cp\u003eCreating Objects 634\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Flutter and Dart\u003c\/b\u003e\u003cb\u003e 637\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWorking with Flutter 638\u003c\/p\u003e \u003cp\u003eUnderstanding the structure of a Flutter program 638\u003c\/p\u003e \u003cp\u003eWorking with widgets in Flutter 639\u003c\/p\u003e \u003cp\u003eAligning widgets in rows and columns 642\u003c\/p\u003e \u003cp\u003eUnderstanding the Dart Language 645\u003c\/p\u003e \u003cp\u003eCreating comments 645\u003c\/p\u003e \u003cp\u003eDeclaring variables 646\u003c\/p\u003e \u003cp\u003eUsing operators 646\u003c\/p\u003e \u003cp\u003eUsing branching statements 649\u003c\/p\u003e \u003cp\u003eUsing looping statements 650\u003c\/p\u003e \u003cp\u003eCreating functions 652\u003c\/p\u003e \u003cp\u003eCreating data structures 653\u003c\/p\u003e \u003cp\u003eUsing objects 656\u003c\/p\u003e \u003cp\u003e\u003cb\u003eBook 7: Applications\u003c\/b\u003e\u003cb\u003e 657\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Database Management \u003c\/b\u003e\u003cb\u003e659\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding the Basics of Databases 659\u003c\/p\u003e \u003cp\u003eFree-form databases 660\u003c\/p\u003e \u003cp\u003eFlat-file databases 661\u003c\/p\u003e \u003cp\u003eRelational databases 663\u003c\/p\u003e \u003cp\u003eManipulating Data 667\u003c\/p\u003e \u003cp\u003eWriting database commands 669\u003c\/p\u003e \u003cp\u003eThe SQL language 670\u003c\/p\u003e \u003cp\u003eData integrity 671\u003c\/p\u003e \u003cp\u003eData mining 672\u003c\/p\u003e \u003cp\u003eDatabase Programming 672\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Bioinformatics\u003c\/b\u003e\u003cb\u003e 675\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Basics of Bioinformatics 676\u003c\/p\u003e \u003cp\u003eRepresenting molecules 676\u003c\/p\u003e \u003cp\u003eManipulating molecules in a computer 677\u003c\/p\u003e \u003cp\u003eDatabase Searches 679\u003c\/p\u003e \u003cp\u003eBioinformatics Programming 681\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Computer Security\u003c\/b\u003e\u003cb\u003e 685\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eStopping Malware 686\u003c\/p\u003e \u003cp\u003eViruses 687\u003c\/p\u003e \u003cp\u003eWorms 687\u003c\/p\u003e \u003cp\u003eTrojan horses 688\u003c\/p\u003e \u003cp\u003eSpyware 689\u003c\/p\u003e \u003cp\u003eDistributed denial-of-service attacks 690\u003c\/p\u003e \u003cp\u003eStopping Hackers 691\u003c\/p\u003e \u003cp\u003eIntrusion detection systems 692\u003c\/p\u003e \u003cp\u003eRootkit detectors 693\u003c\/p\u003e \u003cp\u003eForensics 694\u003c\/p\u003e \u003cp\u003eSecure Computing 695\u003c\/p\u003e \u003cp\u003ePatching as an afterthought 695\u003c\/p\u003e \u003cp\u003eSecurity in coding 696\u003c\/p\u003e \u003cp\u003eSecurity by design 697\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Artificial Intelligence\u003c\/b\u003e\u003cb\u003e 699\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eProblem Solving 700\u003c\/p\u003e \u003cp\u003eGame-playing 701\u003c\/p\u003e \u003cp\u003eNatural language processing 702\u003c\/p\u003e \u003cp\u003eSpeech recognition 704\u003c\/p\u003e \u003cp\u003eImage recognition 705\u003c\/p\u003e \u003cp\u003eMachine Learning 706\u003c\/p\u003e \u003cp\u003eBayesian probability 707\u003c\/p\u003e \u003cp\u003eNeural networks 707\u003c\/p\u003e \u003cp\u003eApplications of Artificial Intelligence 710\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Mobile and Wearable Computing\u003c\/b\u003e\u003cb\u003e 711\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding the Different Generations of Computing 712\u003c\/p\u003e \u003cp\u003eGiving Data to the User 714\u003c\/p\u003e \u003cp\u003eGetting Data from the User 716\u003c\/p\u003e \u003cp\u003eTracking Motion and Location 717\u003c\/p\u003e \u003cp\u003eTracking Real-Time Health Data 718\u003c\/p\u003e \u003cp\u003eLooking to the Future of Augmented Reality and Wearable Computers 718\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: Game Engines\u003c\/b\u003e\u003cb\u003e 721\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Game Engines 722\u003c\/p\u003e \u003cp\u003ePicking a Game Engine 723\u003c\/p\u003e \u003cp\u003eProgramming a Game Engine 724\u003c\/p\u003e \u003cp\u003eExploring the Future Uses of Game Engines 726\u003c\/p\u003e \u003cp\u003eFilmmaking 726\u003c\/p\u003e \u003cp\u003eArchitecture and engineering simulations 727\u003c\/p\u003e \u003cp\u003eMarketing and advertising 728\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: The Future of Computer Programming\u003c\/b\u003e\u003cb\u003e 731\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePicking a Programming Language 732\u003c\/p\u003e \u003cp\u003ePicking an Operating System 733\u003c\/p\u003e \u003cp\u003eDoing Cross-Platform Programming 735\u003c\/p\u003e \u003cp\u003eThe portability of C 735\u003c\/p\u003e \u003cp\u003eCross-platform languages 736\u003c\/p\u003e \u003cp\u003eVirtual machines 737\u003c\/p\u003e \u003cp\u003eSoftware as a service 738\u003c\/p\u003e \u003cp\u003eData science 739\u003c\/p\u003e \u003cp\u003eWebsite programming 740\u003c\/p\u003e \u003cp\u003eMacro programming 740\u003c\/p\u003e \u003cp\u003eRobotics programming 741\u003c\/p\u003e \u003cp\u003eBlockchain programming 742\u003c\/p\u003e \u003cp\u003eDefining Your Future in Programming 743\u003c\/p\u003e \u003cp\u003eTeaching yourself other languages 743\u003c\/p\u003e \u003cp\u003eCombining other interests besides programming 744\u003c\/p\u003e \u003cp\u003eGetting experience and knowledge 744\u003c\/p\u003e \u003cp\u003eIndex 747\u003c\/p\u003e \u003cp\u003e\u003cb\u003eWallace Wang\u003c\/b\u003e specializes in making complex topics understandable. His assorted \u003ci\u003eFor Dummies\u003c\/i\u003e 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.\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eYour all-in-one guide to coding\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThis step-by-step guide introduces you to the mysteries of computer programming! You’ll start with the basic principles of programming, the evolution of programming languages, the common techniques for organizing code, and how programmers create a program from start to finish. You’ll see the syntax of different programming languages, discover how programs store information in data structures, and learn different coding for the web so you can be well on your way to a programming career! \u003c\/p\u003e\u003cp\u003e\u003cb\u003e7 Books Inside…\u003c\/b\u003e \u003c\/p\u003e\u003cul\u003e\u003cb\u003e\u003cli\u003eGetting Started with Programming\u003c\/li\u003e \u003cli\u003eProgramming Basics\u003c\/li\u003e \u003cli\u003eData Structures\u003c\/li\u003e \u003cli\u003eAlgorithms\u003c\/li\u003e \u003cli\u003eWeb Programming\u003c\/li\u003e \u003cli\u003eProgramming Language Syntax\u003c\/li\u003e \u003cli\u003eApplications\u003c\/li\u003e\u003c\/b\u003e\u003c\/ul\u003e","brand":"For Dummies","offers":[{"title":"Default Title","offer_id":47988799045861,"sku":"NP9781119884408","price":41.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781119884408.jpg?v=1761781633","url":"https:\/\/k12savings.com\/es\/products\/beginning-programming-all-in-one-for-dummies-isbn-9781119884408","provider":"K12savings","version":"1.0","type":"link"}