Object-oriented programming (OOP) Books
O'Reilly Media Modernizing Enterprise Java
Book SynopsisThis practical book helps developers examine these long established models and demonstrates how to bring monolithic applications successfully into the future. Relying on their years of modernization experience, authors Markus Eisele and Natale Vinto walk you through the steps necessary to update your application.
£39.74
O'Reilly Media A Functional Approach to Java
Book SynopsisIf you're interested in applying FP concepts to your Java code, this book is for you. You'll learn how, when, and why to use FP concepts such as immutability and pure functions to write more concise, reasonable, and future-proof code.
£44.99
O'Reilly Media Effective Rust
Book Synopsis
£35.99
O'Reilly Media Programming C 12
Book Synopsis
£47.99
John Wiley & Sons Inc JavaFX For Dummies
Book SynopsisUnleash the power of JavaFX for a wide range of devices JavaFX For Dummies gives you access to an innovative software platform that allows you to create and deliver rich Internet applications that can run across a wide variety of connected devices.Table of ContentsIntroduction 1 About This Book 1 Foolish Assumptions 2 How This Book Is Organized 3 Part I: Getting Started with JavaFX 3 Part II: JavaFX Controls 3 Part III: Enhancing Your Scenic Design 3 Part IV: Making Your Programs Come Alive 4 Part V: The Part of Tens 4 Icons Used in This Book 4 Beyond the Book 5 Where to Go from Here 5 Part I: Getting Started with JavaFX 7 Chapter 1: Hello, JavaFX! 9 Chapter 2: Looking Closer at JavaFX Programming 31 Chapter 3: Handling Events 49 Chapter 4: Setting the Stage and Scene Layout 67 Chapter 5: Using Layout Panes to Arrange Your Scenes 93 Chapter 6: Getting Input from the User 117 Part II: JavaFX Controls 141 Chapter 7: Introducing the JavaFX Node Hierarchy 143 Chapter 8: Choosing from a List 155 Chapter 9: Working with Tables 185 Chapter 10: Making Menus 209 Part III: Enhancing Your Scenic Design 225 Chapter 11: More about Layout Panes for Precise Scene Design 227 Chapter 12: Skinning Your Application with CSS 255 Chapter 13: Drawing Shapes 267 Chapter 14: Adding Special Effects 289 Part IV: Making Your Programs Come Alive 307 Chapter 15: Using Properties to Create Dynamic Scenes 309 Chapter 16: Using Images and Media 327 Chapter 17: Animating Your Scenes 341 Chapter 18: Targeting Touch Devices 365 Part V: The Part of Tens 375 Chapter 19: Ten More JavaFX Controls 377 Chapter 20: Ten Steps to Building a 3D World 389 Index 407
£18.69
John Wiley & Sons Inc How to Implement Market Models Using VBA
Book SynopsisAccessible VBA coding for complex financial modelling How to Implement Market Models Using VBA makes solving complex valuation issues accessible to any financial professional with a taste for mathematics.Table of ContentsPreface ix Acknowledgements xi Abbreviations xiii About the Author xv CHAPTER 1 The Basics of VBA Programming 1 1.1 Getting started 1 1.2 VBA objects and syntax 2 1.2.1 The object-oriented basic syntax 3 1.2.2 Using objects 3 1.3 Variables 5 1.3.1 Variable declaration 5 1.3.2 Some usual objects 7 1.3.3 Arrays 9 1.4 Arithmetic 10 1.5 Subroutines and functions 13 1.5.1 Subroutines 14 1.5.2 Functions 15 1.5.3 Operations on one-dimensional arrays 16 1.5.4 Operations on two-dimensional arrays (matrices) 16 1.5.5 Operations with dates 19 1.6 Custom objects 21 1.6.1 Types 21 1.6.2 Classes 22 1.7 Debugging 24 1.7.1 Error handling 24 1.7.2 Tracking the code execution 25 CHAPTER 2 Mathematical Algorithms 29 2.1 Introduction 29 2.2 Sorting lists 29 2.2.1 Shell sort 29 2.2.2 Quick sort 32 2.3 Implicit equations 34 2.4 Search for extrema 36 2.4.1 The Nelder-Mead algorithm 36 2.4.2 The simulated annealing 40 2.5 Linear algebra 43 2.5.1 Matrix inversion 44 2.5.2 Cholesky decomposition 46 2.5.3 Interpolation 48 2.5.4 Integration 57 2.5.5 Principal Component Analysis 60 CHAPTER 3 Vanilla Instruments 67 3.1 Definitions 67 3.2 Fixed income 67 3.2.1 Bond market 68 3.2.2 Interbank market 72 3.3 Vanilla derivatives 75 3.3.1 Forward contracts 75 3.3.2 Swaps 77 3.3.3 Bond futures 81 3.4 Options basics 84 3.4.1 Brownian motion 84 3.4.2 Ito integral 85 3.4.3 Ito formula 86 3.4.4 Black–Scholes basic model 89 3.4.5 Risk-neutral probability 90 3.4.6 Change of probability 90 3.4.7 Martingale and numeraires 92 3.4.8 European-style options pricing 94 3.5 First generation exotic options 95 3.5.1 Barrier options 95 3.5.2 Quanto options 102 CHAPTER 4 Numerical Solutions 105 4.1 Finite differences 105 4.1.1 Generic equation 105 4.1.2 Implementation 106 4.2 Trees 112 4.2.1 Binomial trees 112 4.2.2 Trinomial trees 116 4.3 Monte-Carlo scenarios 116 4.3.1 Uniform number generator 117 4.3.2 From uniform to Gaussian numbers 127 4.4 Simulation and regression 129 4.5 Double-barrier analytical approximation 134 CHAPTER 5 Monte-Carlo Pricing Issues 139 5.1 Multi-asset simulation 139 5.1.1 The correlations issue 139 5.1.2 The Gaussian case 139 5.1.3 Exotics 143 5.2 Discretization schemes 146 5.3 Variance reduction techniques 147 5.3.1 Antithetic variates 147 5.3.2 Importance sampling 148 5.3.3 Control variates 153 CHAPTER 6 Yield Curve Models 163 6.1 Short rate models 163 6.1.1 Introduction 163 6.1.2 Hull and White one-factor model 164 6.1.3 Gaussian two-factor model 180 6.1.4 Hull and White two-factor model 203 6.2 Forward rate models 204 6.2.1 Generic Heath-Jarrow-Morton 205 6.2.2 LMM (LIBOR market model) 216 CHAPTER 7 Stochastic Volatilities 233 7.1 The Heston model 234 7.1.1 Code 234 7.1.2 A faster algorithm 239 7.1.3 Calibration 248 7.2 Barrier options 254 7.2.1 Numerical results 257 7.2.2 Code 257 7.3 Asian-style options 260 7.4 SABR model 264 7.4.1 Caplets 264 7.4.2 Code 265 CHAPTER 8 Interest Rate Exotics 267 8.1 CMS swaps 267 8.1.1 Code 269 8.2 Cancelable swaps 272 8.2.1 Code 272 8.2.2 Tree approximation 276 8.3 Target redemption note 281 8.3.1 Code 282 Bibliography 287 Index 289
£54.00
John Wiley & Sons Inc Big C
Book SynopsisTable of ContentsPreface iii Special Features xxiv 1 Introduction 1 1.1 What is Programming? 2 1.2 The Anatomy of a Computer 3 C&S Computers are Everywhere 5 1.3 Machine Code and Programming Languages 5 C&S Standards Organizations 7 1.4 Becoming Familiar with Your Programming Environment 7 PT 1 Backup Copies 10 1.5 Analyzing Your First Program 11 CE 1 Omitting Semicolons 13 ST 1 Escape Sequences 13 1.6 Errors 14 CE 2 Misspelling Words 15 1.7 PROBLEM SOLVING Algorithm Design 16 The Algorithm Concept 16 An Algorithm for Solving an Investment Problem 17 Pseudocode 18 From Algorithms to Programs 19 HT 1 Describing an Algorithm with Pseudocode 19 WE 1 Writing an Algorithm for Tiling a Floor 21 2 Fundamental Data Types 25 2.1 Variables 26 Variable Definitions 26 Number Types 28 Variable Names 29 The Assignment Statement 30 Constants 31 Comments 31 CE 1 Using Undefined Variables 33 CE 2 Using Uninitialized Variables 33 PT 1 Choose Descriptive Variable Names 33 PT 2 Do Not Use Magic Numbers 34 ST 1 Numeric Types in C++ 34 ST 2 Numeric Ranges and Precisions 35 ST 3 Defining Variables with auto 35 2.2 Arithmetic 36 Arithmetic Operators 36 Increment and Decrement 36 Integer Division and Remainder 36 Converting Floating-Point Numbers to Integers 37 Powers and Roots 38 CE 3 Unintended Integer Division 39 CE 4 Unbalanced Parentheses 40 CE 5 Forgetting Header Files 40 CE 6 Roundoff Errors 41 PT 3 Spaces in Expressions 42 ST 4 Casts 42 ST 5 Combining Assignment and Arithmetic 42 C&S The Pentium Floating-Point Bug 43 2.3 Input and Output 44 Input 44 Formatted Output 45 2.4 PROBLEM SOLVING First Do It By Hand 47 WE 1 Computing Travel Time 48 HT 1 Carrying out Computations 48 WE 2 Computing the Cost of Stamps 51 2.5 Strings 51 The string Type 51 Concatenation 52 String Input 52 String Functions 52 C&S International Alphabets and Unicode 55 3 Decisions 59 3.1 The if Statement 60 CE 1 A Semicolon After the if Condition 63 PT 1 Brace Layout 63 PT 2 Always Use Braces 64 PT 3 Tabs 64 PT 4 Avoid Duplication in Branches 65 ST 1 The Conditional Operator 65 3.2 Comparing Numbers and Strings 66 CE 2 Confusing = and == 68 CE 3 Exact Comparison of Floating-Point Numbers 68 PT 5 Compile with Zero Warnings 69 ST 2 Lexicographic Ordering of Strings 69 HT 1 Implementing an if Statement 70 WE 1 Extracting the Middle 72 C&S Dysfunctional Computerized Systems 72 3.3 Multiple Alternatives 73 ST 3 The switch Statement 75 3.4 Nested Branches 76 CE 4 The Dangling else Problem 79 PT 6 Hand-Tracing 79 3.5 PROBLEM SOLVING Flowcharts 81 3.6 PROBLEM SOLVING Test Cases 83 PT 7 Make a Schedule and Make Time for Unexpected Problems 84 3.7 Boolean Variables and Operators 85 CE 5 Combining Multiple Relational Operators 88 CE 6 Confusing && and || Conditions 88 ST 4 Short-Circuit Evaluation of Boolean Operators 89 ST 5 De Morgan’s Law 89 3.8 APPLICATION Input Validation 90 C&S Artificial Intelligence 92 4 Loops 95 4.1 The while Loop 96 CE 1 Infinite Loops 100 CE 2 Don’t Think “Are We There Yet?” 101 CE 3 Off-by-One Errors 101 C&S The First Bug 102 4.2 PROBLEM SOLVING Hand-Tracing 103 4.3 The for Loop 106 PT 1 Use for Loops for Their Intended Purpose Only 109 PT 2 Choose Loop Bounds That Match Your Task 110 PT 3 Count Iterations 110 4.4 The do Loop 111 PT 4 Flowcharts for Loops 111 4.5 Processing Input 112 Sentinel Values 112 Reading Until Input Fails 114 ST 1 Clearing the Failure State 115 ST 2 The Loop-and-a-Half Problem and the break Statement 116 ST 3 Redirection of Input and Output 116 4.6 PROBLEM SOLVING Storyboards 117 4.7 Common Loop Algorithms 119 Sum and Average Value 119 Counting Matches 120 Finding the First Match 120 Prompting Until a Match is Found 121 Maximum and Minimum 121 Comparing Adjacent Values 122 HT 1 Writing a Loop 123 WE 1 Credit Card Processing 126 4.8 Nested Loops 126 WE 2 Manipulating the Pixels in an Image 129 4.9 PROBLEM SOLVING Solve a Simpler Problem First 130 4.10 Random Numbers and Simulations 134 Generating Random Numbers 134 Simulating Die Tosses 135 The Monte Carlo Method 136 C&S Digital Piracy 138 5 Functions 141 5.1 Functions as Black Boxes 142 5.2 Implementing Functions 143 PT 1 Function Comments 146 5.3 Parameter Passing 146 PT 2 Do Not Modify Parameter Variables 148 5.4 Return Values 148 CE 1 Missing Return Value 149 ST 1 Function Declarations 150 HT 1 Implementing a Function 151 WE 1 Generating Random Passwords 152 WE 2 Using a Debugger 152 5.5 Functions Without Return Values 153 5.6 PROBLEM SOLVING Reusable Functions 154 5.7 PROBLEM SOLVING Stepwise Refinement 156 PT 3 Keep Functions Short 161 PT 4 Tracing Functions 161 PT 5 Stubs 162 WE 3 Calculating a Course Grade 163 5.8 Variable Scope and Global Variables 163 PT 6 Avoid Global Variables 165 5.9 Reference Parameters 165 PT 7 Prefer Return Values to Reference Parameters 169 ST 2 Constant References 170 5.10 Recursive Functions (Optional) 170 HT 2 Thinking Recursively 173 C&S The Explosive Growth of Personal Computers 174 6 Arrays and Vectors 179 6.1 Arrays 180 Defining Arrays 180 Accessing Array Elements 182 Partially Filled Arrays 183 CE 1 Bounds Errors 184 PT 1 Use Arrays for Sequences of Related Values 184 C&S Computer Viruses 185 6.2 Common Array Algorithms 185 Filling 186 Copying 186 Sum and Average Value 186 Maximum and Minimum 187 Element Separators 187 Counting Matches 187 Linear Search 188 Removing an Element 188 Inserting an Element 189 Swapping Elements 190 Reading Input 191 ST 1 Sorting with the C++ Library 192 ST 2 A Sorting Algorithm 192 ST 3 Binary Search 193 6.3 Arrays and Functions 194 ST 4 Constant Array Parameters 198 6.4 PROBLEM SOLVING Adapting Algorithms 198 HT 1 Working with Arrays 200 WE 1 Rolling the Dice 203 6.5 PROBLEM SOLVING Discovering Algorithms by Manipulating Physical Objects 203 6.6 Two-Dimensional Arrays 206 Defining Two-Dimensional Arrays 207 Accessing Elements 207 Locating Neighboring Elements 208 Computing Row and Column Totals 208 Two-Dimensional Array Parameters 210 CE 2 Omitting the Column Size of a Two-Dimensional Array Parameter 212 WE 2 A World Population Table 213 6.7 Vectors 213 Defining Vectors 214 Growing and Shrinking Vectors 215 Vectors and Functions 216 Vector Algorithms 216 Two-Dimensional Vectors 218 PT 2 Prefer Vectors over Arrays 219 ST 5 The Range-Based for Loop 219 7 Pointers and Structures 223 7.1 Defining and Using Pointers 224 Defining Pointers 224 Accessing Variables Through Pointers 225 Initializing Pointers 227 CE 1 Confusing Pointers with the Data to Which They Point 228 PT 1 Use a Separate Definition for Each Pointer Variable 229 ST 1 Pointers and References 229 7.2 Arrays and Pointers 230 Arrays as Pointers 230 Pointer Arithmetic 230 Array Parameter Variables are Pointers 232 ST 2 Using a Pointer to Step Through an Array 233 CE 2 Returning a Pointer to a Local Variable 234 PT 2 Program Clearly, Not Cleverly 234 ST 3 Constant Pointers 235 7.3 C and C++ Strings 235 The char Type 235 C Strings 236 Character Arrays 237 Converting Between C and C++ Strings 237 C++ Strings and the [] Operator 238 ST 4 Working with C Strings 238 7.4 Dynamic Memory Allocation 240 CE 3 Dangling Pointers 242 CE 4 Memory Leaks 243 7.5 Arrays and Vectors of Pointers 243 7.6 PROBLEM SOLVING Draw a Picture 246 HT 1 Working with Pointers 248 WE 1 Producing a Mass Mailing 249 C&S Embedded Systems 250 7.7 Structures 250 Structured Types 250 Structure Assignment and Comparison 251 Functions and Structures 252 Arrays of Structures 252 Structures with Array Members 253 Nested Structures 253 7.8 Pointers and Structures 254 Pointers to Structures 254 Structures with Pointer Members 255 ST 5 Smart Pointers 256 8 Streams 259 8.1 Reading and Writing Text Files 260 Opening a Stream 260 Reading from a File 261 Writing to a File 262 A File Processing Example 262 8.2 Reading Text Input 265 Reading Words 265 Reading Characters 266 Reading Lines 267 CE 1 Mixing >> and getline Input 268 ST 1 Stream Failure Checking 269 8.3 Writing Text Output 270 ST 2 Unicode, UTF-8, and C++ Strings 272 8.4 Parsing and Formatting Strings 273 8.5 Command Line Arguments 274 C&S Encryption Algorithms 277 HT 1 Processing Text Files 278 WE 1 Looking for for Duplicates 281 8.6 Random Access and Binary Files 281 Random Access 281 Binary Files 282 Processing Image Files 282 C&S Databases and Privacy 286 9 Classes 289 9.1 Object-Oriented Programming 290 9.2 Implementing a Simple Class 292 9.3 Specifying the Public Interface of a Class 294 CE 1 Forgetting a Semicolon 296 9.4 Designing the Data Representation 297 9.5 Member Functions 299 Implementing Member Functions 299 Implicit and Explicit Parameters 299 Calling a Member Function from a Member Function 301 PT 1 All Data Members Should Be Private; Most Member Functions Should Be Public 303 PT 2 const Correctness 303 9.6 Constructors 304 CE 2 Trying to Call a Constructor 306 ST 1 Overloading 306 ST 2 Initializer Lists 307 ST 3 Universal and Uniform Initialization Syntax 308 9.7 PROBLEM SOLVING Tracing Objects 308 HT 1 Implementing a Class 310 WE 1 Implementing a Bank Account Class 314 C&S Electronic Voting Machines 314 9.8 PROBLEM SOLVING Discovering Classes 315 PT 3 Make Parallel Vectors into Vectors of Objects 317 9.9 Separate Compilation 318 9.10 Pointers to Objects 322 Dynamically Allocating Objects 322 The -> Operator 323 The this Pointer 324 9.11 PROBLEM SOLVING Patterns for Object Data 324 Keeping a Total 324 Counting Events 325 Collecting Values 326 Managing Properties of an Object 326 Modeling Objects with Distinct States 327 Describing the Position of an Object 328 C&S Open Source and Free Software 329 10 Inheritance 333 10.1 Inheritance Hierarchies 334 10.2 Implementing Derived Classes 338 CE 1 Private Inheritance 341 CE 2 Replicating Base-Class Members 341 PT 1 Use a Single Class for Variation in Values, Inheritance for Variation in Behavior 342 ST 1 Calling the Base-Class Constructor 342 10.3 Overriding Member Functions 343 CE 3 Forgetting the Base-Class Name 345 10.4 Virtual Functions and Polymorphism 346 The Slicing Problem 346 Pointers to Base and Derived Classes 347 Virtual Functions 348 Polymorphism 349 PT 2 Don’t Use Type Tags 352 CE 4 Slicing an Object 352 CE 5 Failing to Override a Virtual Function 353 ST 2 Virtual Self-Calls 354 HT 1 Developing an Inheritance Hierarchy 354 WE 1 Implementing an Employee Hierarchy for Payroll Processing 359 C&S Who Controls the Internet? 360 11 Recursion 363 11.1 Triangle Numbers 364 CE 1 Tracing Through Recursive Functions 367 CE 2 Infinite Recursion 368 HT 1 Thinking Recursively 369 WE 1 Finding Files 372 11.2 Recursive Helper Functions 372 11.3 The Efficiency of Recursion 373 11.4 Permutations 377 11.5 Mutual Recursion 380 11.6 Backtracking 383 WE 2 Towers of Hanoi 389 C&S The Limits of Computation 390 12 Sorting and Searching 393 12.1 Selection Sort 394 12.2 Profiling the Selection Sort Algorithm 397 12.3 Analyzing the Performance of the Selection Sort Algorithm 398 ST 1 Oh, Omega, and Theta 399 ST 2 Insertion Sort 400 12.4 Merge Sort 402 12.5 Analyzing the Merge Sort Algorithm 405 ST 3 The Quicksort Algorithm 407 12.6 Searching 408 Linear Search 408 Binary Search 410 PT 1 Library Functions for Sorting and Binary Search 412 ST 4 Defining an Ordering for Sorting Objects 413 12.7 PROBLEM SOLVING Estimating the Running Time of an Algorithm 413 Linear Time 413 Quadratic Time 414 The Triangle Pattern 415 Logarithmic Time 417 WE 1 Enhancing the Insertion Sort Algorithm 418 C&S The First Programmer 418 13 Advanced C++ 421 13.1 Operator Overloading 422 Operator Functions 422 Overloading Comparison Operators 425 Input and Output 425 Operator Members 426 ST 1 Overloading Increment and Decrement Operators 427 ST 2 Implicit Type Conversions 428 ST 3 Returning References 429 WE 1 A Fraction Class 430 13.2 Automatic Memory Management 430 Constructors That Allocate Memory 430 Destructors 432 Overloading the Assignment Operator 433 Copy Constructors 437 PT 1 Use Reference Parameters to Avoid Copies 441 CE 1 Defining a Destructor Without the Other Two Functions of the “Big Three” 442 ST 4 Virtual Destructors 443 ST 5 Suppressing Automatic Generation of Memory Management Functions 443 ST 6 Move Operations 444 ST 7 Shared Pointers 445 WE 2 Tracing Memory Management of Strings 446 13.3 Templates 446 Function Templates 447 Class Templates 448 ST 8 Non-Type Template Parameters 450 14 Linked Lists, Stacks, and Queues 453 14.1 Using Linked Lists 454 14.2 Implementing Linked Lists 459 The Classes for Lists, Node, and Iterators 459 Implementing Iterators 460 Implementing Insertion and Removal 462 WE 1 Implementing a Linked List Template 472 14.3 The Efficiency of List, Array, and Vector Operations 472 14.4 Stacks and Queues 476 14.5 Implementing Stacks and Queues 479 Stacks as Linked Lists 479 Stacks as Arrays 482 Queues as Linked Lists 482 Queues as Circular Arrays 483 14.6 Stack and Queue Applications 484 Balancing Parentheses 484 Evaluating Reverse Polish Expressions 485 Evaluating Algebraic Expressions 487 Backtracking 490 ST 1 Reverse Polish Notation 492 15 Sets, Maps, and Hash Tables 495 15.1 Sets 496 15.2 Maps 499 PT 1 Use the auto Type for Iterators 503 ST 1 Multisets and Multimaps 503 WE 1 Word Frequency 504 15.3 Implementing a Hash Table 504 Hash Codes 504 Hash Tables 505 Finding an Element 507 Adding and Removing Elements 508 Iterating over a Hash Table 508 ST 2 Implementing Hash Functions 514 ST 3 Open Addressing 516 16 Tree Structures 519 16.1 Basic Tree Concepts 520 16.2 Binary Trees 524 Binary Tree Examples 524 Balanced Trees 526 A Binary Tree Implementation 527 WE 1 Building a Huffman Tree 528 16.3 Binary Search Trees 528 The Binary Search Property 529 Insertion 530 Removal 532 Efficiency of the Operations 533 16.4 Tree Traversal 538 Inorder Traversal 539 Preorder and Postorder Traversals 540 The Visitor Pattern 541 Depth-First and Breadth-First Search 542 Tree Iterators 543 16.5 Red-Black Trees 544 Basic Properties of Red-Black Trees 544 Insertion 546 Removal 548 WE 2 Implementing a Red-Black Tree 551 17 Priority Queues and Heaps 553 17.1 Priority Queues 554 WE 1 Simulating a Queue of Waiting Customers 557 17.2 Heaps 557 17.3 The Heapsort Algorithm 567 Appendix A Reserved Word Summary A-1 Appendix B Operator Summary A-3 Appendix C Character Codes A-5 Appendix D C++ Library Summary A-8 Appendix E C++ Language Coding Guidelines A-12 Appendix F Number Systems and Bit and Shift Operations A-19 Glossary G-1 Index I-1 Credits C-1 Quick Reference C-2
£121.51
John Wiley & Sons Inc Job Ready Python
Book SynopsisGet ready to take on Pythonwithapracticaland job-focused guide Job Ready Pythonoffers readers a straightforward and elegant approach to learning Python that emphasizes hands-on and employable skillsyou can apply to real-world environments immediately. Based on therenownedmthreeGlobal Academy and Software Guild training program, this book will get you up to speed in the basics of Python, loops and data structures, object-oriented programming, and data processing.You'll alsoget: Thorough discussions ofExtract, Transform, and Load (ETL) scripting in PythonExplorations of databases, including MySQL, and MongoDBall commonly used database platforms in the fieldSimple, step-by-step approaches to dealing with dates and times, CSV files, and JSON files Ideal forPython newbies looking to make a transition to an exciting new career,Job Ready Pythonalso belongs on the bookshelves of Python developershoping to brush up on the fundamentals with an authoritative and practical new handbook.Table of ContentsAbout the Authors v About the Technical Writer v About the Technical Editor v Acknowledgments vi Introduction xvii Part I: Getting Started with Python 1 Lesson 1: Setting Up a Python Programming Environment 3 Python Overview 4 Using Replit Online 4 Getting Started with Jupyter Notebook 14 A Quick Look at Visual Studio Code 21 Using Python from the Command Line 24 Summary 26 Exercises 26 Lesson 2: Understanding Programming Basics 29 The Future of Computer Programming 30 Programming Languages 32 Data Types and Variables 37 Variables 40 Constants 44 Summary 46 Exercises 46 Lesson 3: Exploring Basic Python Syntax 49 Using with Single- Line Commands 51 Using Semicolons 52 Continuing with Backslash 54 Working with Case Structure 55 Adding Comments 56 Using the Input Function 57 Storing Input 59 Understanding Variable Types 61 Displaying Variable Values 62 Naming Variables 64 Summary 65 Exercises 65 Lesson 4: Working with Basic Python Data Types 69 Review of Data Types 70 Number Data Types 70 Identifying Data Types 72 Mathematical Operations 74 Pemdas 77 Common Math Functions 81 Math Library Functions 83 Using Numbers with User Input 86 Boolean Types and Boolean Operations 89 Logic Operations 92 Comparative Operators 95 Summary 96 Exercises 97 Lesson 5: Using Python Control Statements 101 Control Structures Review 101 Understanding Sequence Control Structure 102 Understanding Selection Statements 103 Understanding Conditional Statements 106 If- Else Statements 108 Working with Nested Conditions 109 Embedding Conditions 112 Summary 114 Exercises 114 Lesson 6: Pulling It All Together: Income Tax Calculator 117 Getting Started 118 Step 1: Gather Requirements 118 Step 2: Design the Program 120 Step 3: Create the Inputs 120 Step 4: Calculate the Taxable Income 122 Step 5: Calculate the Tax Rate 124 Step 6: Update the Application 133 Step 7: Address the UI 136 On Your Own 139 Summary 139 Part II: Loops and Data Structures 141 Lesson 7: Controlling Program Flow with Loops 143 Iterations Overview 144 The Anatomy of a Loop 144 The for Loop 145 The while Loop 146 for vs. while Loops 149 Strings and String Operations 151 Iterating through Strings 164 Summary 167 Exercises 167 Lesson 8: Understanding Basic Data Structures: Lists 173 Data Structure Overview—Part 1 174 Creating Lists 175 Determining List Length 179 Working with List Indexes 179 Negative Indexing in Lists 182 Slicing Lists 184 Adding Items to a List 189 Inserting List Items 190 Removing List Items 192 Concatenating Lists 196 List Comprehension 197 Sorting Lists 199 Copying Lists 200 Summary 202 Exercises 202 Lesson 9: Understanding Basic Data Structures: Tuples 205 Tuples and Tuple Operations 206 Tuple Index Values 209 Negative Indexing in Tuples 210 Slicing Tuples 212 Immutability 213 Concatenating Tuples 216 Searching Tuples 217 Summary 218 Exercises 219 Lesson 10: Diving Deeper into Data Structures: Dictionaries 223 Data Structure Overview— Part 2 224 Getting Started with Dictionaries 224 Generating a Dictionary 227 Retrieving Items from a Dictionary 230 Using the keys() Method 233 Using the items() Method 234 Reviewing the keys(), values(), and items() Methods 236 Using the get() Method 239 Using the pop() Method 241 Working with the in Operator 245 Updating a Dictionary 246 Duplicating a Dictionary 249 Clearing a Dictionary 254 Summary 255 Exercises 255 Lesson 11: Diving Deeper into Data Structures: Sets 259 Sets 260 Retrieving Items from a Set 261 Adding Items to a Set 262 Creating an Empty Set 262 Understanding Set Uniqueness 263 Searching Items in a Set 265 Calculating the Length of a Set 267 Deleting Items from a Set 268 Clearing a Set 270 Popping Items in a Set 272 Deleting a Set 273 Determining the Difference Between Sets 274 Intersecting Sets 277 Combining Sets 278 Summary 279 Exercises 279 Lesson 12: Pulling It All Together: Prompting for an Address 283 Step 1: Getting Started 284 Step 2: Accept User Input 285 Step 3: Display the Input Value 286 Step 4: Modify the Output 287 Step 5: Split a Text Value 288 Step 6: Display Only the House Number 290 Step 7: Display the Street Name 291 Step 8: Add the Period 292 Summary 293 Lesson 13: Organizing with Functions 295 Functions Overview 295 Defining Functions in Python 296 Function Syntax 300 Default Input Values 301 Parameter Syntax 303 Arbitrary Arguments 304 Keyword Arguments 306 Arbitrary Keyword Arguments 306 Summary 308 Exercises 309 Part III: Object- Oriented Programming in Python 311 Lesson 14: Incorporating Object- Oriented Programming 313 Object- Oriented Programming Overview 314 Defining Classes 314 Creating Objects 316 Working with Methods 319 Class Attributes 324 Summary 330 Exercises 330 Lesson 15: Including Inheritance 333 Understanding Inheritance 334 Creating a Parent Class 335 Creating a Child Class 335 Inheriting at Multiple Levels 338 Overriding Methods 340 Summary 343 Exercises 344 Lesson 16: Pulling It All Together: Building a Burger Shop 349 Requirements for Our Application 350 Plan the Code 350 Create the Classes 351 Create the Food Item Class 352 Create the Main File 357 Display the Output 364 Tie the Code Files Together 364 Summary 368 Part IV: Data Processing with Python 369 Lesson 17: Working with Dates and Times 371 Getting Started with Dates and Times 372 Getting the Current Date and Time 376 Splitting a Date String 377 Using datetime Attributes 379 Creating Custom datetime Objects 380 Compare datetime Values 381 Working with UTC Format 383 Applying Timestamps 384 Arithmetic and Dates 387 Calculating the Difference in Days 388 Using Date without Time 390 Using Time without Date 392 Summary 394 Exercises 394 Calculator 1: Time Duration 396 Calculator 2: Add or Subtract Time from a Date 397 Calculator 3: Age Calculator 397 Lesson 18: Processing Text Files 399 File Processing Overview 401 Introduction to File Input/Output 402 Processing Text Files 404 Opening a File 404 Reading Text from a File 406 Add Content to a File 412 Overwriting the Contents of a File 415 Creating a New File 417 Using the os Module 418 Deleting a File 419 Summary 421 Exercises 421 Lesson 19: Processing CSV Files 425 Reading CSV Files 426 Using the DictReader Class 430 Creating a Dataset List 432 Using writerow() 434 Appending Data 436 Writing Rows as Lists 439 Writing Rows from Dictionaries 440 Summary 444 Exercises 444 Lesson 20: Processing JSON Files 447 Processing JSON Files 448 Creating a JSON File with dump() 448 Converting to JSON with dumps() 449 Formatting JSON Data 450 Using json.loads() 452 Iterating through JSON Data 454 Reading and Writing JSON Data 457 Summary 460 Exercises 461 Part V: Data Analysis and Exception Handling 465 Lesson 21: Using Lambdas 467 Creating a Lambda Function 468 Working with Multiple Inputs 469 Placing Lambda Functions inside a Function 471 Using the map() Function 472 Combining Map and Lambda Functions 475 Using the filter() Function 477 Combining a Filter and a Lambda 479 Using the reduce() Function 480 Summary 486 Exercises 486 Lesson 22: Handling Exceptions 491 Built- In Exceptions 492 Working with try and except 493 Working with Multiple Excepts 495 Combining Exception Types 498 Using Multiple Operations in a try 500 Using the raise Keyword 501 Exploring the General Exception Classes 502 Adding finally 505 Summary 506 Exercises 506 Lesson 23: Pulling It All Together: Word Analysis in Python 511 Examine the Data 512 Read the Data 514 Tokenize the Dataset 517 Count the Words in Each Review 524 Summary 528 Lesson 24: Extracting, Transforming, and Loading with ETL Scripting 531 ETL Scripting in Python 532 Design and Implement Custom ETL Scripts 532 The extract Class 534 The transform Class 546 The load Class 569 Summary 582 Exercises 582 Lesson 25: Improving ETL Scripting 585 Converting to Static Methods for the extract Class 586 Converting to Static Methods for the transform Class 588 Summary 607 Exercises 608 Part VI: Appendices 611 Appendix A: Flowcharts 613 Flowchart Basics 613 Common Flowcharting Shapes 615 Appendix B: Creating Pseudocode 621 What Is Pseudocode? 621 Appendix C: Installing MySQL 623 MySQL Installation 623 Verify the Installation 628 The MySQL Notifier 630 Appendix D: Installing Vinyl DB 631 Database Structure 631 Create the Database 632 Appendix E: Installing MongoDB 637 Installing MongoDB Community Server 637 Running MongoDB 642 Appendix F: Importing to MongoDB 643 Index 645
£24.79
John Wiley & Sons Inc Java AllinOne For Dummies
Book SynopsisTable of ContentsIntroduction 1 Book 1: Java Basics 5 Chapter 1: Welcome to Java 7 Chapter 2: Installing and Using Java Tools 17 Chapter 3: Working with TextPad 31 Book 2: Programming Basics 37 Chapter 1: Java Programming Basics 39 Chapter 2: Working with Variables and Data Types 59 Chapter 3: Working with Numbers and Expressions 97 Chapter 4: Making Choices 127 Chapter 5: Going Around in Circles (or, Using Loops) 149 Chapter 6: Pulling a Switcheroo 177 Chapter 7: Adding Some Methods to Your Madness 195 Chapter 8: Handling Exceptions 215 Book 3: Object-Oriented Programming 237 Chapter 1: Understanding Object-Oriented Programming 239 Chapter 2: Making Your Own Classes 253 Chapter 3: Working with Statics 273 Chapter 4: Using Subclasses and Inheritance 283 Chapter 5: Using Abstract Classes and Interfaces 305 Chapter 6: Using the Object and Class Classes 327 Chapter 7: Using Inner Classes and Anonymous Classes 355 Chapter 8: Working with Packages and the Java Module System 365 Book 4: Strings and Other Data Types 387 Chapter 1: Working with Strings 389 Chapter 2: Using Regular Expressions 411 Chapter 3: Working with Dates and Times 429 Chapter 4: Using the BigDecimal Class 451 Book 5: Data Structures 471 Chapter 1: Introducing Data Structures 473 Chapter 2: Using Arrays 503 Chapter 3: Using the ArrayList Class 535 Chapter 4: Using the LinkedList Class 549 Chapter 5: Creating Generic Collection Classes 561 Chapter 6: Using Maps and Trees 575 Book 6: Algorithms 595 Chapter 1: Introducing Algorithms 597 Chapter 2: Using Recursion 613 Chapter 3: Sorting 625 Chapter 4: Searching 637 Book 7: Programming Techniques 657 Chapter 1: Programming Threads 659 Chapter 2: Using Functional Programming and Lambda Expressions 689 Chapter 3: Consuming Web Services with HttpClient 705 Book 8: JavaFX 727 Chapter 1: Hello, JavaFX! 729 Chapter 2: Handling Events 751 Chapter 3: Setting the Stage and Scene Layout 769 Chapter 4: Using Layout Panes to Arrange Your Scenes 791 Chapter 5: Getting Input from the User 825 Chapter 6: Choosing from a List 841 Index 869
£27.99
McGraw Hill Education India C Programming An Objectoriented Approach
Book Synopsis
£130.66
McGraw-Hill Education Loose Leaf for Software Engineering
Book Synopsis
£133.87
McGraw-Hill Education Software Engineering An Agile Unified Methodology
Book SynopsisThe new edition of Software Engineering presents a step-by-step methodology that integrates Modeling and Design, UML, Patterns, Test-Driven Development, Quality Assurance, Configuration Management, and Agile Principles throughout the life cycle. The overall approach is casual and easy to follow, with many practical examples that show the theory at work. The author uses his experiences as well as real-world stories to help the reader understand software design principles, patterns, and other software engineering concepts. The book also provides stimulating exercises that go far beyond the type of question that can be answered by simply copying portions of the text.The new edition of Software Engineering is now available for the first time in McGraw Hill Connect! Connect for this course features the MHeBook, Writing Tool, Proctorio, and the Connect authoring tool that offers the ability to create your own questions.Table of ContentsPart 1: Introduction and System EngineeringChapter 1: IntroductionChapter 2: Software Process and MethodologyChapter 3: System EngineeringPart 2: Analysis and Architectural DesignChapter 4: Software Requirements ElicitationChapter 5: Domain ModelingChapter 6: Architectural DesignPart 3: Modeling and Design of InteractiveChapter 7: Deriving Use Cases from RequirementsChapter 8: Actor-System Interaction ModelingChapter 9: Object Interaction ModelingChapter 10: Applying Responsibility-Assignment PatternsChapter 11: Deriving a Design Class DiagramChapter 12: User Interface DesignPart 4: Modeling and Design of Other Types of SystemsChapter 13: Object State Modeling for Event-Driven SystemsChapter 14: Activity Modeling for TransformationalChapter 15: Modeling and Design of Rule-Based SystemsPart 5: Applying Situation-Specific PatternsChapter 16: Applying Patterns to Design a State Diagram EditorChapter 17: Applying Patterns to Design a Persistence FrameworkPart 6: Implementation and Quality AssuranceChapter 18: Implementation ConsiderationsChapter 19: Software Quality AssuranceChapter 20: Software TestingPart 7: Maintenance and Configuration ManagementChapter 21: Software MaintenanceChapter 22: Software Configuration ManagementPart 8: Project Management and Software SoftwareChapter 23: Software Project ManagementChapter 24: Software Security
£53.99
John Wiley & Sons Java Illuminated
Book Synopsis
£74.99
Pearson Education Limited Agile Software Development Principles Patterns
Book SynopsisTable of ContentsI. AGILE DEVELOPMENT. 1. Agile Practices. 2. Overview of Extreme Programming. 3. Planning. 4. Testing. 5. Refactoring. 6. A Programming Episode. II. AGILE DESIGN. 7. What Is Agile Design? 8. SRP: The Single-Responsibility Principle. 9. OCP: The Open-Closed Principle. 10. LSP: The Liskov Substitution Principle. 11. DIP: The Dependency-Inversion Principle. 12. ISP: The Interface-Segregation Principle. III. THE PAYROLL CASE STUDY. 13. Command and Active Object. 14. Template Method & Strategy: Inheritance vs. Delegation. 15. Facade and Mediator. 16. Singleton and Monostate. 17. Null Object. 18. The Payroll Case Study: Iteration One Begins. 19. The Payroll Case Study: Implementation. IV. PACKAGING THE PAYROLL SYSTEM. 20. Principles of Package Design. 21. Factory. 22. The Payroll Case Study (Part 2). V. THE WEATHER STATION CASE STUDY. 23. Composite. 24. Observer—Backing into a Pattern. 25. Abstract Server, Adapter, and Bridge. 26. Proxy and Stairway to Heaven: Managing Third Party APIs. 27. Case Study: Weather Station. VI. THE ETS CASE STUDY. 28. Visitor. 29. State. 30. The ETS Framework. Appendix A. UML Notation I: The CGI Example. Appendix B. UML Notation II: The Statmux. Appendix C. A Satire of Two Companies. Index.
£67.99
Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Beginning COBOL for Programmers
Book SynopsisBeginning COBOL for Programmers is a comprehensive, sophisticated tutorial and modular skills reference on the COBOL programming language for established programmers. This book is for you if you are a developer who would like to—or must—add COBOL to your repertoire. Perhaps you recognize the opportunities presented by the current COBOL skills crisis, or are working in a mission critical enterprise which retains legacy COBOL applications. Whatever your situation, Beginning COBOL for Programmers meets your needs as an established programmer moving to COBOL.Beginning COBOL for Programmers includes comprehensive coverage of ANS 85 COBOL features and techniques, including control structures, condition names, sequential and direct access files, data redefinition, string handling, decimal arithmetic, subprograms, and the report writer. The final chapter includes a substantial introduction to object-orienteTable of Contents1. Introduction to COBOL 2. COBOL Foundation3. Data Declaration In COBOL4. Procedure Division Basics5. Control Structures: Selection6. Control Structures: Iteration 7. Introduction to Sequential Files8. Advanced Sequential Files9. Edited Pictures10. Processing Sequential Files11. Creating Tabular Data 12. Advanced Data Declaration13. Searching Tabular Data14. Sorting and Merging15. String Manipulation16. Creating Large Systems17. Direct Access Files18. The COBOL Report Writer 19. OO-COBOL
£80.99
Taylor & Francis Inc Programming in C for Engineering and Science
Book SynopsisDeveloped from the author's many years of teaching computing courses, Programming in C++ for Engineering and Science guides students in designing programs to solve real problems encountered in engineering and scientific applications. These problems include radioactive decay, pollution indexes, digital circuits, differential equations, Internet addresses, data analysis, simulation, quality control, electrical networks, data encryption, beam deflection, and many other areas. To make it easier for novices to develop programs, the author uses an object-centered design approach that helps students identify the objects in a problem and the operations needed; develop an algorithm for processing; implement the objects, operations, and algorithm in a program; and test, correct, and revise the program. He also revisits topics in greater detail as the text progresses. By the end of the book, students will have a solid understanding of how C++ can be used to Trade Review"The book is lavishly illustrated with examples and exercises, which would make it both an ideal course companion and a book for private study. The author’s abilities to explain briefly the history of computing and to write an engaging text are to be commended. If you buy only one text on programming in C++, then this should be the one for you."—Carl M. O’Brien, International Statistical Review (2013), 81Table of ContentsIntroduction to Computing. Programming and Problem Solving—Software Engineering. Types in C++. Getting Started with Expressions. Control Structures. Functions and Libraries. Using Classes. More Selection Control Structures. More Repetition Control Structures. Functions in Depth. Files and Streams. Arrays and the vector Class Template. Multidimensional Arrays and Vectors. Building Classes. Pointers and Linked Structures. Data Structures. Answers to Test Yourself Questions. Appendices.
£90.24
O'Reilly Media Just Spring
Book SynopsisThis example-driven introduction to the popular Spring Framework helps Java developers delve into its basic features, as well as advanced concepts such as containers. You'll learn how Spring makes Java Messaging Service easier to work with, and how its support for Hibernate helps you work with data persistence and retrieval.
£13.59
O'Reilly Media Using Databases with C
Book SynopsisC# offers developers power, but sometimes getting started with basic tasks - like getting information in and out of databases - is harder than it should be. Using Databases with C# provides a gentle introduction to a common but critical task, helping developers moving from other languages build a firm foundation.
£13.59
O'Reilly Media Lift Cookbook
Book SynopsisIf you need help building web applications with the Lift framework, this cookbook provides scores of concise, ready-to-use code solutions. You'll find recipes for everything from setting up a coding environment to creating REST web services and deploying your application to production.
£15.99
O'Reilly Media Java Web Services Up and Running
Book SynopsisLearn how to develop REST-style and SOAP-based web services and clients with this quick and thorough introduction. This hands-on book delivers a clear, pragmatic approach to web services by providing an architectural overview, complete working code examples, and short yet precise instructions for compiling, deploying, and executing them.
£23.99
Taylor & Francis Inc Parallel Science and Engineering Applications
Book SynopsisDeveloped in the context of science and engineering applications, with each abstraction motivated by and further honed by specific application needs, Charm++ is a production-quality system that runs on almost all parallel computers available. Parallel Science and Engineering Applications: The Charm++ Approach surveys a diverse and scalable collection of science and engineering applications, most of which are used regularly on supercomputers by scientists to further their research.After a brief introduction to Charm++, the book presents several parallel CSE codes written in the Charm++ model, along with their underlying scientific and numerical formulations, explaining their parallelization strategies and parallel performance. These chapters demonstrate the versatility of Charm++ and its utility for a wide variety of applications, including molecular dynamics, cosmology, quantum chemistry, fracture simulations, agent-based simulations, and weather modeling. Trade Review"It succeeds perfectly and combines for the first time both Charm++ and significant application development in a single volume. It will provide a solid foundation for anyone who is considering using the most recent tools for developing applications for future ExascaIe platforms. I highly recommend this timely book for scientists and engineers." -Horst Simon, Lawrence Berkeley National Laboratory and University of California, BerkeleyTable of ContentsThe Charm++ Programming Model. Designing Charm++ Programs. Tools for Debugging and Performance Analysis. Scalable Molecular Dynamics with NAMD. OpenAtom: Ab initio Molecular Dynamics for Petascale Platforms. N-body Simulations with ChaNGa. Remote Visualization of Cosmological Data using Salsa. Improving Scalability of BRAMS: a Regional Weather Forecast Model. Crack Propagation Analysis with Automatic Load Balancing. Contagion Diffusion with EpiSimdemics.
£166.25
O'Reilly Media Learning Puppet 4
Book SynopsisThis practical guide shows you what Puppet does, how it works, and how it can provide significant value to your organization. Through hands-on tutorials, DevOps engineer Jo Rhett demonstrates how Puppet manages complex and distributed components to ensure service availability.
£29.99
O'Reilly Media Head First Java 3rd Edition
Book SynopsisWith this book, you'll learn the Java language with a unique method that goes beyond how-to manuals. Through puzzles, mysteries, and soul-searching interviews with famous Java objects, you'll quickly get up to speed on Java's fundamentals and advanced topics including lambdas, streams, generics, threading, networking, and the dreaded desktop GUI.
£47.99
O'Reilly Media C 6.0 Cookbook 4e
Book SynopsisCompletely updated for C# 6.0, the new edition of this bestseller offers more than 150 code recipes to common and not-so-common problems that C# programmers face every day. More than a third of the recipes have been rewritten to take advantage of new C# 6.0 features.
£32.99
O'Reilly Media Swift Development for the Apple Watch
Book SynopsisIf you're comfortable using OS X, Xcode, and iOS-and familiar with Swift-this concise book shows you the basics of building your own apps for this wrist-mounted computer with Apple's WatchKit framework.
£15.99
O'Reilly Media Introduction to JavaScript Object Notation
Book SynopsisThis concise guide helps busy IT professionals get up and running quickly with this popular data interchange format, and provides a deep understanding of how JSON works. Author Lindsay Bassett begins with an overview of JSON syntax, data types, formatting, and security concerns before exploring the many ways you can apply JSON today.
£19.19
O'Reilly Media Modern Java Recipes
Book SynopsisWith more than 70 detailed recipes, author Ken Kousen shows you how to use the newest features of Java to solve a wide range of problems.
£29.99
O'Reilly Media Head First Python
Book SynopsisWant to learn the Python language without slogging your way through how-to manuals? With Head First Python, you'll quickly grasp Python's fundamentals by working with built-in data structures and functions. You'll build your very own web app, which—once it's ready for prime time—runs in the cloud.
£39.74
O'Reilly Media Think Java
Book SynopsisThink Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience.
£29.99
O'Reilly Media DevOps Tools for Java Developers
Book SynopsisThis practical guide helps you take advantage of microservices, serverless, and cloud native technologies using the latest DevOps techniques to simplify your build process and create hyperproductive teams.
£39.74
O'Reilly Media C Cookbook
Book SynopsisThis cookbook is packed full of recipes to help you solve issues for C# programming tasks you're likely to encounter. You'll learn tried-and-true techniques to help you achieve greater productivity and improve the quality of your code.
£39.74
O'Reilly Media Functional Programming with C
Book SynopsisWith concise, easy-to-read code that supports asynchronous, concurrent processing, aspects of functional programming have begun to appear in several traditionally object-oriented languages such as C# and Java. This practical book shows C# programmers how to use functional programming features without having to navigate an entirely new language.
£47.99
Nova Science Publishers Inc Design of Object-Oriented Applications: The
Book Synopsis
£76.49
Manning Publications Building Ethereum Dapps: Decentralized
Book SynopsisWith DApps built on the Ethereum blockchain, users can establish persistent, reliable ownership records for actions such as buying a car or a house with smart contracts to enforce blockchain-based verification before a transaction can be completed. Building Ethereum ĐApps introduces readers to decentralized applications based on the Ethereum blockchain platform. They’ll discover how to design smart contracts to enforce transaction rules, and then implement them in Ethereum's JavaScript-like Solidity language. Key Features · Understanding decentralized applications and the underlying technologies · Learning the key components of the Ethereum platform · Implementing smart contracts in Solidity Audience Written for developers with intermediate experience in an OO language or in JavaScript. Some understanding and experience with blockchain concepts is helpful. Author Bio Roberto Infante is an independent software development consultant who specializes in finance. Throughout his career, he has worked on a variety of innovative projects, such as the first internet mortgage approval system in the UK and one of the first online insurance underwriting systems in London.
£28.49
Manning Publications Get Programming with Scala
Book SynopsisScala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with. Packed with examples and exercises, Get Programming with Scala is perfect starting point for developers with some OO knowledge who want to learn Scala and pick up a few FP skills along the way. about the technologyAlthough it’s a relative newcomer, Scala turned out to be the right language at the right time, opening up the world of functional programming to the JVM. Scala looks a lot like Java, and it interacts seamlessly with familiar Java libraries and tools. Since it fully supports functional programming, Scala gives you the freedom to choose the right programming style exactly when it benefits you. Scala can be daunting at first, especially if you’re seeing FP ideas for the first time. Fortunately, with the examples and exercises in this book, you’ll get over the initial learning hump quickly and start doing interesting projects before you know it! about the book Get Programming with Scala teaches you the core skills you'll need to code with Scala. This book lives up to its name! You'll learn the ins and outs of Scala by actually programming with it, thanks to the practical examples, exercises, and easy-to-follow lessons. You'll start by reviewing OOP concepts in the Scala language. Then, example-by-example, you'll gradually open up the world of functional programming. You'll explore functions and types and learn how to combine them to create powerful, flexible abstractions. Along the way, you'll learn some Scala testing and get an intuition for sniffing out and fixing code that doesn't smell quite right. what's inside Learn to express OO principles in Scala Express your program designs in functions Make use of types to enforce program requirements Use abstractions to avoid code duplication Write meaningful tests and recognize code smells about the readerWritten for developers with some prior experience in an OOP language like Java or C#. No experience with Scala or functional programming is needed. about the author Daniela Sfregola started working with Scala in 2013. Since then she has been an active contributor to the Scala Community. Daniela currently maintains several open source projects in the community and regularly speaks at Scala conferences. She blogs about Scala regularly at https://danielasfregola.com
£47.99
Manning Publications Machine Learning Engineering in Action
Book SynopsisMachine Learning Engineering in Action lays out an approach to building deployable, maintainable production machine learning systems. You will adopt software development standards that deliver better code management, and make it easier to test, scale, and even reuse your machine learning code! You will learn how to plan and scope your project, manage cross-team logistics that avoid fatal communication failures, and design your code's architecture for improved resilience. You will even discover when not to use machine learning—and the alternative approaches that might be cheaper and more effective. When you're done working through this toolbox guide, you will be able to reliably deliver cost-effective solutions for organizations big and small alike. Following established processes and methodology maximizes the likelihood that your machine learning projects will survive and succeed for the long haul. By adopting standard, reproducible practices, your projects will be maintainable over time and easy for new team members to understand and adapt. Trade Review“Anice view on practical data science and machine learning. Great reading fornewbies, some interesting views for seasoned practitioners.” Johannes Verwijnen “Amust read for those looking to balance the planning and experimentationlifecycle.” Jesús Antonino Juárez Guerrero “Apractical book to help engineers understand the workflow of machine learningprojects.” Xiangbo Mao “Donot implement your ML model into production without reading this book!” Lokesh Kumar
£40.85
O'Reilly Media Getting Started with Arduino 4e: The Open Source
Book SynopsisArduino is the open source electronics prototyping platform that has taken the Maker Movement by storm. This thorough introduction, updated for the latest Arduino release, helps you start prototyping right away. From obtaining the required components to putting the final touches on your project, all the information you need is here! Getting started with Arduino is a snap. To use the introductory examples in this guide, all you need is an Arduino Uno or Leonardo, along with a USB cable and an LED. The easy-to-use, free Arduino development environment runs on Mac, Windows, and Linux. In Getting Started with Arduino, you'll learn about: Interaction design and physical computing The Arduino board and its software environment Basics of electricity and electronics Prototyping on a solderless breadboard Drawing a schematic diagram Talking to a computer--and the cloud--from Arduino Building a custom plant-watering system
£14.39
Pragmatic Bookshelf Programming Ruby 3.2: The Pragmatic Programmers'
Book SynopsisRuby is one of the most important programming languages in use for web development. It powers the Rails framework, which is the backing of some of the most important sites on the web. The Pickaxe Book, named for the tool on the cover, is the definitive reference on Ruby, a highly-regarded, fully object-oriented programming language. This updated edition is a comprehensive reference on the language itself, with a tutorial on the most important features of Ruby - including pattern matching and Ractors - and describes the language through Ruby 3.2. Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way instead of helping you get the work done? Are you using Rails and want to dig deeper into the underlying Ruby language? If so, then we've got a language and book for you! Ruby is a fully object-oriented language. The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of programmers that want to get things done quickly and cleanly. This comprehensive reference manual for Ruby includes a description of the most important standard library modules, built-in classes, and modules. It also includes all the new and changed syntax and semantics introduced through Ruby 3.2, including pattern matching and Ractors, and describes the language through Ruby 3.2. What You Need: This book assumes you have a basic understanding of object-oriented programming. In general, Ruby programmers tend to favor the the command line for running their code, and they tend to use text editors rather than IDEs. Ruby runs on Windows, Linux, and MacOS.
£50.34
Packt Publishing Limited Mastering Java for Data Science
Book SynopsisUse Java to create a diverse range of Data Science applications and bring Data Science into productionAbout This Book An overview of modern Data Science and Machine Learning libraries available in Java Coverage of a broad set of topics, going from the basics of Machine Learning to Deep Learning and Big Data frameworks. Easy-to-follow illustrations and the running example of building a search engine. Who This Book Is ForThis book is intended for software engineers who are comfortable with developing Java applications and are familiar with the basic concepts of data science. Additionally, it will also be useful for data scientists who do not yet know Java but want or need to learn it. If you are willing to build efficient data science applications and bring them in the enterprise environment without changing the existing stack, this book is for you!What You Will Learn Get a solid understanding of the data processing toolbox available in Java Explore the data science ecosystem available in Java Find out how to approach different machine learning problems with Java Process unstructured information such as natural language text or images Create your own search engine Get state-of-the-art performance with XGBoost Learn how to build deep neural networks with DeepLearning4j Build applications that scale and process large amounts of data Deploy data science models to production and evaluate their performanceIn DetailJava is the most popular programming language, according to the TIOBE index, and it is a typical choice for running production systems in many companies, both in the startup world and among large enterprises. Not surprisingly, it is also a common choice for creating data science applications: it is fast and has a great set of data processing tools, both built-in and external. What is more, choosing Java for data science allows you to easily integrate solutions with existing software, and bring data science into production with less effort. This book will teach you how to create data science applications with Java. First, we will revise the most important things when starting a data science application, and then brush up the basics of Java and machine learning before diving into more advanced topics. We start by going over the existing libraries for data processing and libraries with machine learning algorithms. After that, we cover topics such as classification and regression, dimensionality reduction and clustering, information retrieval and natural language processing, and deep learning and big data. Finally, we finish the book by talking about the ways to deploy the model and evaluate it in production settings. Style and approachThis is a practical guide where all the important concepts such as classification, regression, and dimensionality reduction are explained with the help of examples.
£39.99
ISTE Ltd and John Wiley & Sons Inc Concurrent, Real-Time and Distributed Programming
Book SynopsisThis book provides an introduction to concurrent, real-time, distributed programming with Java object-oriented language support as an algorithm description tool. It describes in particular the mechanisms of synchronization (cooperative and competitive) and sharing of data (internal class, static variables) between threads in Java. He then discusses the use of Java for real-time applications. Consequently, a presentation of the RTSJ (Real Time Specification for Java) specification dedicated to the development of real-time applications in Java is also introduced in this book. Finally, a presentation of programming distributed in Java is presented in this book. We are particularly interested in communication using the TCP Sockets and high-level communication using Java Remote Method Invocation (RMI). The book also contains an annex which contains a practical set of application exercises in relation to the theme of the book. Knowledge of the Java language is a prerequisite for understanding the book.Table of Contents1. Introduction to threads in Java. 2. Threads Synchronization. 3. Real-time systems and real-time Java. 4. Distributed Programming in Java.
£125.06
World Scientific Europe Ltd Requirements Modeling And Coding: An
Book SynopsisRequirements Modeling and Coding attempts to bridge the gap between modeling and coding and serves the growing trend of agile development better than existing textbooks in the area. Instead of using toy tools to create modeling and coding examples, the author teaches IBM Rational Rhapsody as a modeling tool and Microsoft Visual C# as a programming tool. C# is the purest object-oriented programming language and the best tool for developing graphical user interfaces, while Rhapsody is a visual development environment that real software developers use to create real-time or embedded systems.This book serves as a text for a capstone course on Systems Analysis and Design in Information Systems programs. It conceptualizes business objects and functions, develops business models and software architectures, and enriches the models and the architectures by storyboarding use cases along with user interface designs.Instructor's resources are provided for free to instructors who adopt the book as textbook. Please send your request to sales@wspc.com.
£63.00
Packt Publishing Limited Java Data Science Cookbook
Book SynopsisRecipes to help you overcome your data science hurdles using JavaAbout This Book This book provides modern recipes in small steps to help an apprentice cook become a master chef in data science Use these recipes to obtain, clean, analyze, and learn from your data Learn how to get your data science applications to production and enterprise environments effortlesslyWho This Book Is ForThis book is for Java developers who are familiar with the fundamentals of data science and want to improve their skills to become a pro. What You Will Learn Find out how to clean and make datasets ready so you can acquire actual insights by removing noise and outliers Develop the skills to use modern machine learning techniques to retrieve information and transform data to knowledge. retrieve information from large amount of data in text format. Familiarize yourself with cutting-edge techniques to store and search large volumes of data and retrieve information from large amounts of data in text format Develop basic skills to apply big data and deep learning technologies on large volumes of data Evolve your data visualization skills and gain valuable insights from your data Get to know a step-by-step formula to develop an industry-standard, large-scale, real-life data product Gain the skills to visualize data and interact with users through data insightsIn DetailIf you are looking to build data science models that are good for production, Java has come to the rescue. With the aid of strong libraries such as MLlib, Weka, DL4j, and more, you can efficiently perform all the data science tasks you need to. This unique book provides modern recipes to solve your common and not-so-common data science-related problems. We start with recipes to help you obtain, clean, index, and search data. Then you will learn a variety of techniques to analyze, learn from, and retrieve information from data. You will also understand how to handle big data, learn deeply from data, and visualize data. Finally, you will work through unique recipes that solve your problems while taking data science to production, writing distributed data science applications, and much morethings that will come in handy at work. Style and approachThis book contains short yet very effective recipes to solve most common problems. Some recipes cater to very specific, rare pain points. The recipes cover different data sets and work very closely to real production environments
£39.99
In Easy Steps Limited Coding for Beginners in Easy Steps
Book SynopsisCoding for Beginners in easy steps, 3rd edition will appeal to anyone, of any age, who wants to begin coding computer programs. Use this guide to help you quickly create a programming environment on your computer, then, in easy steps, learn how to: Write Python code to create your programsStore information in data structuresControl program flow using control structuresCreate re-usable blocks of program codeCode powerful algorithms and classes for Object Oriented Programming (OOP) All features are illustrated using the Python language color-coding convention, and all code is available to download free ? making it even easier! Includes comparison examples in C, C++ and Java to give you a rounded view of computer coding. Ideal for newcomers to programming, including youngsters needing to learn coding for the school curriculum ? all in easy steps!This third edition is updated for the latest version of Python (Python 3.13).
£11.39
ISTE Ltd and John Wiley & Sons Inc Tree-based Graph Partitioning Constraint
Book SynopsisCombinatorial problems based on graph partitioning enable us to mathematically represent and model many practical applications. Mission planning and the routing problems occurring in logistics perfectly illustrate two such examples. Nevertheless, these problems are not based on the same partitioning pattern: generally, patterns like cycles, paths, or trees are distinguished. Moreover, the practical applications are often not limited to theoretical problems like the Hamiltonian path problem, or K-node disjoint path problems. Indeed, they usually combine the graph partitioning problem with several restrictions related to the topology of nodes and arcs. The diversity of implied constraints in real-life applications is a practical limit to the resolution of such problems by approaches considering the partitioning problem independently from each additional restriction. This book focuses on constraint satisfaction problems related to tree partitioning problems enriched by several additional constraints that restrict the possible partitions topology. On the one hand, this title focuses on the structural properties of tree partitioning constraints. On the other hand, it is dedicated to the interactions between the tree partitioning problem and classical restrictions (such as precedence relations or incomparability relations between nodes) involved in practical applications. Precisely, Tree-based Graph Partitioning Constraint shows how to globally take into account several restrictions within one single tree partitioning constraint. Another interesting aspect of this book is related to the implementation of such a constraint. In the context of graph-based global constraints, the book illustrates how a fully dynamic management of data structures makes the runtime of filtering algorithms independent of the graph density.Table of ContentsPART 1. CONSTRAINT PROGRAMMING AND FOUNDATIONS OF GRAPH THEORY 1 Introduction to Part 1 3 Chapter 1. Introduction to Constraint Programming 5 1.1. What is a variable? 7 1.2. What is a constraint? 8 1.3. What is a global constraint? 10 1.4. What is a propagation algorithm? 11 1.5. What is a consistency level? 14 1.6. What is a constraint solver? 15 1.7. Constraint solvers at work 17 1.8. Organization structure 21 Chapter 2. Graph Theory and Constraint Programming 23 2.1. Modeling graphs with constraint programming 24 2.2. Graph theory at work in constraint programming 34 2.3. Constraint programming at work in graph theory 37 Chapter 3. Tree Graph Partitioning 39 3.1. In undirected graphs 39 3.2. In directed graphs 42 PART 2. CHARACTERIZATION OF TREE-BASED GRAPH PARTITIONING CONSTRAINTS 47 Chapter 4. Tree Constraints in Undirected Graphs 49 4.1. Decomposition 49 4.2. Definition of constraints 51 4.3. A filtering algorithm for the proper-forest constraint 56 4.4. Filtering algorithm for the resource-forest constraint 70 4.5. Summary of undirected tree constraints 80 Chapter 5. Tree Constraints in Directed Graphs 83 5.1. Decomposition 83 5.2. Definition of constraints 86 5.3. Filtering algorithm for the tree constraint 89 5.4. Filtering algorithm for the proper-tree constraint 96 5.5. Summary of tree constraints in directed and undirected graphs 113 Chapter 6. Additional Constraints Linked to Graph Partitioning 117 6.1. Definition of restrictions 118 6.2. Complexity zoo 123 6.3. Interaction between the number of trees and the number of proper trees 129 6.4. Relation of precedence between the vertices of the graph 130 6.5. Relation of conditional precedence 137 6.6. Relation of incomparability between graph vertices 140 6.7. Interactions between precedence and incomparability constraints 143 6.8. Constraining the interior half-degree of each vertex 148 6.9. Summary 151 Chapter 7. The Case of Disjoint Paths 153 7.1. Minimum number of paths in acyclic directed graphs 156 7.2. Minimum number of paths in any directed graph 161 7.3. A path partitioning constraint 169 7.4. Summary 173 Chapter 8. Implementation of a Tree Constraint 175 8.1. Original implementation 176 8.2. Toward a “portable” implementation 181 8.3. Conclusion 191 PART 3. IMPLEMENTATION: TASK PLANNING 193 Introduction to Part 3 195 Chapter 9. First Model in Constraint Programming 199 9.1. Model for the coherence of displacements in space 199 9.2. Modeling resource consumption 200 9.3. Modeling time windows 201 9.4. Modeling coordination constraints between units 202 9.5. Limitations of the proposed model 203 Chapter 10. Advanced Model in Constraint Programming 205 10.1. Modeling the coherence of displacements in space 206 10.2. Modeling resource consumption 208 10.3. Integration of temporal aspects 208 10.4. Propagating time windows 213 PART 4. CONCLUSION AND FUTURE WORK 225 Chapter 11. Conclusion 227 Chapter 12. Perspectives and Criticisms 231 Bibliography 233 Index 239
£132.00
ISTE Ltd and John Wiley & Sons Inc COBOL Software Modernization: From Principles to
Book SynopsisNowadays, billions of lines of code are in the COBOL programming language. This book is an analysis, a diagnosis, a strategy, a MDD method and a tool to transform legacy COBOL into modernized applications that comply with Internet computing, Service-Oriented Architecture (SOA) and the Cloud. It serves as a blueprint for those in charge of finding solutions to this considerable challenge.Table of ContentsACKNOWLEDGMENTS xi ACRONYMS xiii INTRODUCTION xvii CHAPTER 1. SOFTWARE MODERNIZATION: A BUSINESS VISION 1 1.1. Software-based business 1 1.2. Information-driven business 2 1.2.1. Adaptation to business 4 1.3. The case of tourism industry 7 1.4. IT progress acceleration 11 1.5. Legacy world 13 1.5.1. Exiting the legacy world 15 1.5.2. Legacy world professionals 16 1.6. Conclusions 18 CHAPTER 2. SOFTWARE MODERNIZATION: TECHNICAL ENVIRONMENT 21 2.1. Legacy system 21 2.2. Modernization 22 2.2.1. Replacement 24 2.2.2. Migration 25 2.2.3. Modernization versus migration 27 2.2.4. The superiority of white-box modernization 29 2.3. Software engineering principles underpinning modernization 31 2.3.1. Re-engineering in action 33 2.3.2. Re-engineering challenges 36 2.4. Conclusions 37 CHAPTER 3. STATUS OF COBOL LEGACY APPLICATIONS 39 3.1. OLTP versus batch programs 41 3.2. Mainframes 42 3.3. Data-driven design 43 3.4. COBOL degeneration principle 44 3.5. COBOL pitfalls 46 3.6. Middleware for COBOL 47 3.7. Moving COBOL OLTP/batch programs to Java 49 3.8. COBOL is not a friend of Java, and vice versa 51 3.9. Spaghetti code 52 3.9.1. Spaghetti code sample 53 3.9.2. Code comprehension 56 3.10. No longer COBOL? 57 3.11. Conclusions 58 CHAPTER 4. SERVICE-ORIENTED ARCHITECTURE (SOA) 59 4.1. Software architecture versus information system urbanization 59 4.2. Software architecture evolution 60 4.3. COBOL own style of software architecture 61 4.4. The one-way road to SOA 64 4.5. Characterization of SOA 66 4.5.1. Preliminary note 66 4.5.2. From objects to components and services 66 4.5.3. Type versus instance 67 4.5.4. Distribution concerns 68 4.5.5. Functional grouping 68 4.5.6. Granularity 69 4.5.7. Technology-centrism 70 4.5.8. Composition at design time (… is definitely modeling) 72 4.5.9. Composition at runtime 77 4.6. Conclusions 78 CHAPTER 5. SOA IN ACTION 79 5.1. Service as materialized component 81 5.2. Service as Internet resource 85 5.2.1. Pay-per-use service 87 5.2.2. Free service 89 5.2.3. Data feed service 90 5.3. High-end SOA 93 5.4. SOA challenges 95 5.5. The Cloud 97 5.5.1. COBOL in the Cloud 98 5.5.2. Computing is just resource consumption 99 5.5.3. Cloud computing is also resource consumption, but… 101 5.5.4. Everything as a service 102 5.5.5. SOA in the Cloud 104 5.5.6. The cloud counterparts 105 5.6. Conclusions 106 CHAPTER 6. MODEL-DRIVEN DEVELOPMENT (MDD) 109 6.1. Why MDD? 110 6.2. Models, intuitively 111 6.3. Models, formally 112 6.4. Models as computerized objects 113 6.5. Model-based productivity 118 6.6. Openness through standards 118 6.6.1. Model-Driven Architecture (MDA) 120 6.7. Models and people 121 6.8. Metamodeling 123 6.8.1. Metamodeling, put simply 123 6.9. Model transformation 125 6.10. Model transformation by example 125 6.11. From contemplative to executable models 126 6.12. Model execution in action 127 6.13. Toward Domain-Specific Modeling Languages (DSMLs) 129 6.14. Conclusions 132 CHAPTER 7. MODEL-DRIVEN SOFTWARE MODERNIZATION 135 7.1. Reverse and forward engineering are indivisible components of modernization 137 7.2. Architecture-Driven Modernization (ADM) 138 7.3. ASTM and KDM at a glance 142 7.4. Variations on ASTM 146 7.5. From ASTM to KDM 148 7.6. Variations on KDM 149 7.7. Automation 153 7.8. Conclusions 153 CHAPTER 8. SOFTWARE MODERNIZATION METHOD AND TOOL 155 8.1. BLU AGE overview 156 8.2. The toolbox 158 8.2.1. BLU AGE format required for forward engineering 160 8.2.2. Reverse tooling 162 8.3. BLU AGE as an ADM- and MDA-compliant tool 170 8.4. Modernization workflow 173 8.4.1. Initialization 173 8.4.2. Realization 182 8.4.3. Validation and deployment 187 8.5. Conclusions 188 CHAPTER 9. CASE STUDY 191 9.1. Case study presentation 192 9.2. Legacy modernization in action 195 9.2.1. Creating modernization project 196 9.2.2. Better dealing with the legacy material 196 9.2.3. Strategy for modernizing screens 202 9.2.4. Strategy for modernizing data items 203 9.2.5. Creating forward project 204 9.2.6. Entity extraction 207 9.2.7. From screens to pages and UI components 209 9.3. Annotations 209 9.4. Pattern definition 211 9.4.1. Pattern for simple statements 211 9.4.2. Patterns for operation calls 213 9.4.3. Patterns for operation calls with arguments 214 9.4. Database exchange modernization 216 9.5. Transmodeling 219 9.6. Transmodeling complex functionalities 226 9.6.1. Transmodeling the “custCost” program 228 9.6.2. Modernizing “Add a new reservation” 233 9.7. Application generation and testing 234 9.8. Conclusions 235 BIBLIOGRAPHY 239 INDEX 243
£125.06
The Pragmatic Programmers Modern C++ Programming with Test-Driven
Book Synopsisf you program in C++ you've been neglected. Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++. Modern C++ Programming With Test-Driven Development, the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard. In this book, you'll learn: * how to use TDD to improve legacy C++ systems * how to identify and deal with troublesome system dependencies * how to do dependency injection, which is particularly tricky in C++ * how to use testing tools for C++ that aid TDD * new C++11 features that facilitate TDD As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team. Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++. What You Need * A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2. * Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice. * A good programmer's editor or IDE. * cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9. * Various freely-available third-party libraries are used as the basis for examples in the book. These include: - cURL - JsonCpp - Boost (filesystem, date_time/gregorian, algorithm, assign) Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.
£30.39
Mike Murach & Associates Inc. Murach's C++ Programming: 2018
Book SynopsisIn the beginning, C++ was a hard language to learn because it required programmers to master low-level techniques to work with memory. Over the years, C++ has evolved to provide higher-level techniques that make it much easier to write effective code. But most C++ books havent evolved with the language. Until now. Now, this book uses modern C++ to get you off to a fast start, and then builds out your coding and OOP skills to the professional level. At that point, it also covers older techniques so youll be able to maintain the vast amount of legacy code thats out there, as well as work with embedded systems that dont support the newer techniques.
£45.74
Springer Nature Switzerland AG Concise Guide to Object-Oriented Programming: An Accessible Approach Using Java
Book SynopsisThis engaging textbook provides an accessible introduction to coding and the world of Object-Oriented (OO) programming, using Java as the illustrative programming language. Emphasis is placed on what is most helpful for the first-time coder, in order to develop and understand their knowledge and skills in a way that is relevant and practical. The examples presented in the text demonstrate how skills in OO programming can be used to create applications and programs that have real-world value in daily life.Topics and features: presents an overview of programming and coding, a brief history of programming languages, and a concise introduction to programming in Java using BlueJ; discusses classes and objects, reviews various Java library objects and packages, and introduces the idea of the Application Programming Interface (API); highlights how OO design forms an essential role in producing a useful solution to a problem, and the importance of the concept of class polymorphism; examines what to do when code encounters an error condition, describing the exception handling mechanism and practical measures in defensive coding; investigates the work of arrays and collections, with a particular focus on fixed length arrays, the ArrayList, HashMap and HashSet; describes the basics of building a Graphical User Interface (GUI) using Swing, and the concept of a design pattern; outlines two complete applications, from conceptual design to implementation, illustrating the content covered by the rest of the book; provides code for all examples and projects at an associated website.This concise guide is ideal for the novice approaching OO programming for the first time, whether they are a student of computer science embarking on a one-semester course in this area, or someone learning for the purpose of professional development or self-improvement. The text does not require any prior knowledge of coding, software engineering, OO, or mathematics.Table of ContentsThe Origins of Programming Procedural Programming Basics in Java Getting Into Object Oriented Programming Library Classes and Packages Modelling the World the Object-Oriented Way Dealing with Errors Deeper Into Arrays and Collections Adding a Graphical User Interface Example Applications
£26.99