Object-oriented programming (OOP) Books
John Wiley & Sons Engineering Distributed Objects
Book SynopsisWolfgang Emmerich Engineering Distributed Objects The pay-offs for creating distributed applications are in achieving portability, scalability and fault-tolerance. In order to simplify building software that performs robustly regardless of platform or network infrastructure, a new strata of 'middleware' has been created.Trade Review"recommend..." --CVu, April 2001 "This remarkable book tackles distributed systems in relation to object-orientation and middle-ware. Anyone designing systems today should have a copy of this book on the shelf." --Computer Bulletin ...Book of the Month, May 2001Table of ContentsCONCEPTS. Distributed Systems. Designing Distributed Objects. MIDDLEWARE FOR DISTRIBUTED OBJECTS. Principles of Object-Oriented Middleware. CORBA, COM and Java/RMI. Resolving Heterogeneity. Dynamic Object Requests. COMMON DESIGN PROBLEMS. Advanced Communication between Distributed Objects. Locating Distributed Objects. Life Cycle of Distributed Objects. Object Persistence. Distributed Object Transactions. Security. A Full CORBA C++ Implementation of Soccer Example. Bibliography. Index.
£48.56
Cambridge University Press An Introduction to Computational Physics
Book SynopsisThis advanced textbook, revised for its second edition, provides an introduction to the methods and tools of computational physics, and offers an overview of progress in scientific computing. Important concepts are illustrated with relevant step-by-step examples with exercises.Trade ReviewReview of the hardback: 'This is an excellent textbook for course on computational physics and scientific computation.' Zentralblatt MATHTable of ContentsPreface to first edition; Preface; Acknowledgements; 1. Introduction; 2. Approximation of a function; 3. Numerical calculus; 4. Ordinary differential equations; 5. Numerical methods for matrices; 6. Spectral analysis; 7. Partial differential equations; 8. Molecular dynamics simulations; 9. Modeling continuous systems; 10. Monte Carlo simulations; 11. Genetic algorithm and programming; 12. Numerical renormalization; References; Index.
£34.99
O'Reilly Media ADO.NET 3.5 Cookbook
Book SynopsisGives you more than 150 coding solutions and best practices for real problems you're likely to face with this technology using Visual Studio 2008 and the .NET 3.5 platform. This book also offers explanations of how and why each code solution works, warns you of potential pitfalls, and cites sources of additional information.
£41.79
O'Reilly Media UML 2.0 Pocket Reference
Book SynopsisGlobe-trotting travelers have long resorted to handy, pocket-size dictionaries as an aid to communicating across the language barrier. This work is an aid for on-the-go developers who need to converse in the Unified Modeling Language (UML).
£10.79
O'Reilly Media Harnessing Hibernate
Book SynopsisOffers an introduction to the popular framework that lets Java developers work with information from a relational database. This book teaches you how to: perform Object/Relational mapping; work with persistent data from Java code; work with groups and relationships between objects; and extend Hibernate's rich type support for your own needs.
£23.99
O'Reilly Media Learning C 3.0
Book SynopsisShows how to build Windows applications and handle data with C#. This book lets you learn the principles of object-oriented programming through C#.
£23.99
Elsevier Science & Technology Practical UML Statecharts in CC
Book SynopsisPractical UML Statecharts in C/C++ Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, event-driven infrastructure, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++ without big tools.This book is presented in two parts. In Part I, you get a practical description of the relevant state machine concepts starting from traditional finite state automata to modern UML state machines followed by state machine coding techniques and state-machine design patterns, all illustrated with executable examples. In Part II, you find a detailed design study of a generic real-time framework indispensable for combining concurrent, event-driven state machines into robust applications. Part II begins with a clear explanation of the key event-d
£54.14
John Wiley & Sons Inc UML 2 for Dummies
Book SynopsisUML 2 For Dummies covers UML 2. 0, the latest version of UML, expected out in March 2003. This book shows how to use UML to model systems. It provides practical advice and examples that enable readers to understand and demystify the standard UML models and extract key information from them.Table of ContentsIntroduction 1 Part I: UML and System Development 7 Chapter 1: What’s UML About, Alfie? 9 Chapter 2: Following Best Practices 19 Part II: The Basics of Object Modeling 37 Chapter 3: Objects and Classes 39 Chapter 4: Relating Objects That Work Together 61 Chapter 5: Including the Parts with the Whole 83 Chapter 6: Reusing Superclasses: Generalization and Inheritance 93 Chapter 7: Organizing UML Class Diagrams and Packages 111 Part III: The Basics of Use-Case Modeling 129 Chapter 8: Introducing Use-Case Diagrams 131 Chapter 9: Defining the Inside of a Use Case 147 Chapter 10: Relating Use Cases to Each Other 161 Part IV: The Basics of Functional Modeling 175 Chapter 11: Introducing Functional Modeling 177 Chapter 12: Capturing Scenarios with Sequence Diagrams 189 Chapter 13: Specifying Workflows with Activity Diagrams 213 Chapter 14: Capturing How Objects Collaborate 227 Chapter 15: Capturing the Patterns of Behavior 247 Part V: Dynamic Modeling 259 Chapter 16: Defining the Object’s Lives with States 261 Chapter 17: Interrupting the States by Hosting Events 277 Chapter 18: Avoiding States of Confusion 293 Part VI: Modeling the System’s Architecture 313 Chapter 19: Deploying the System’s Components 315 Chapter 20: Breaking the System into Packages/Subsystems 339 Part VII: The Part of Tens 359 Chapter 21: Ten Common Modeling Mistakes 361 Chapter 22: Ten Useful UML Web Sites 371 Chapter 23: Ten Useful UML Modeling Tools 377 Chapter 24: Ten Diagrams for Quick Development 383 Index 393
£18.39
John Wiley & Sons Inc ObjectOriented Simulation
Book SynopsisThe second part of a yearly series on simulation technology, OBJECT-ORIENTED SIMULATION presents an outstanding variety of the very latest advances in simulation techniques. This leading-edge volume contains a cohesive selection of presentations written by the world-renowned experts in a broad range of topics. OBJECT-ORIENTED SIMULATION is a key resource for anyone involved in computer simulator research and design as well as developers, producers, scholars, and managers. It is an excellent tool for preparing proposals for simulation in commercial and military fields.Table of ContentsPreface. Object-Oriented Simulation and Operas (G. Yeh, et al.). Object-Oriented Simulation Languages and Environments: AFour-Level Architecture (J. Miller, et al.). The Object Flow Model for Object-Oriented Simulation andDatabase Application Modeling (L. Pollacia and L. Delcambre). Reusable Simulation Models in an Object-Oriented Framework (T. Kim and M. Ahn). Object-Oriented Frameworks for Multilevel Simulation Modeling (D. Popken and A. Sinha). Design Strategies for Object-Oriented Simulation Testbeds that Support Software Integration (M. Hilton and C. Anken). Automation of Transformation Schemas for Object-OrientedSimulations (C. Coomber). Steps to an Ecology of Actor Simulation (A. Senteni). Key Words. About the Editors.
£159.26
Taylor & Francis Inc Object Oriented Data Analysis
Book SynopsisObject Oriented Data Analysis is a framework that facilitates inter-disciplinary research through new terminology for discussing the often many possible approaches to the analysis of complex data. Such data are naturally arising in a wide variety of areas. This book aims to provide ways of thinking that enable the making of sensible choices.The main points are illustrated with many real data examples, based on the authors'' personal experiences, which have motivated the invention of a wide array of analytic methods.While the mathematics go far beyond the usual in statistics (including differential geometry and even topology), the book is aimed at accessibility by graduate students. There is deliberate focus on ideas over mathematical formulas.Trade ReviewI wrote a report last year on an earlier draft of the book. I was enthusiastic then and I remain so. I can see the book being very popular both with graduate students and with more advanced researchers in disciplines such as Statistics, Biology, Computer Science and Engineering. There is lots of common sense advice, a lot of informative graphs, and not too much theory…I regard the manuscript as a breath of fresh air in an area where there can be a tendency to make the material overly technical."-John Kent, University of Leeds"We need this book badly in statistics. This field, like most in the mathematical sciences tends to generate a literature that offers more and more exposition of research on less and less. The authors say this well in their first two pages, where they point out how much of statistical practice, literature and software assumes data in the form of a two-dimensional table. As in functional data analysis, the theoreticians will sniff and grouch about the lack of theory, but this quickly follows as they see the opportunities for more intense mathematical effort in the area. Both authors are high levels theoreticians in their own right."-Jim Ramsay, McGill University"The chapters I have read are very informative and convey the deep insight of two senior specialists in the field. This is very valuable, especially for younger scientists that want to quickly grasp the fundamentals of the field…The particular strength of this book is that is connects classical statistics, "classical" machine learning and statistics on non-Euclidean spaces with one another…This is a book I have been waiting for and I love to read it in detail and profit from it for research and teaching, once it is finished."-Stephan F. Huckemann, Georgia-Augusta-University Goettingen"This textbook represents an exciting and timely project highlighting the importance of non-Euclidean data across different scientific applications. It uses numerous examples to motivate this scientific approach, to engage researchers from different backgrounds and experiences. The textbook starts by introducing OODA–overview, contexts, and preliminaries. The main focus of the textbook is on statistical case studies driven by non-Euclidean data. The principal component analysis is frequently used as a primary data analysis tool, extracting interesting patterns from the data. Then the textbook moves into specific methods – distance-based methods, visualizations, shapes, curves, and trees. In the last part, the manuscript focuses on pattern analysis techniques – clustering, classification, smoothing, and asymptotics. I strongly recommend the publication of this textbook. This manuscript covers important and fast-developing topic areas that are important in many applications."-Anuj Srivastava, Florida State University"(...) this monograph is destined, without doubt, to become the classic introductory text on OODA. Graduate students contemplating research in statistics and/or data science who have studied introductory courses in multivariate analysis and smoothing and robust methods will find it a gentle introduction, and also an inspiring one because it identifies many areas of the field that are in their infancy and which need to be more fully developed. It also provides great insight into how classical methods perform in not so standard setups, particularly for high dimensional data, and describes alternatives to them having enhanced performance. Its extensive bibliography constitutes an essential resource for those embarking on research into statistical and data science methodology for contexts involving complex data."-Arthur Pewsey, in Journal of the Royal Statistical Society, Series A, March 2022Table of Contents What is OODA? Breadth of OODA Data Object Definition Exploratory and Confirmatory Analyses OODA P6 Data Visualization Distance Based Methods Manifold Data Analysis FDA Curve Registration Graph Structured Data Objects Classification - Supervised Learning Clustering - Unsupervised Learning High Dimensional Inference High Dimensional Asymptotics Smoothing and SiZer Robust Methods PCA Details and Variants OODA Context and Related Areas
£99.75
IEEE Computer Society Press,U.S. Testing ObjectOriented Software
Book SynopsisObject-oriented programming increases software reusability, extensibility, interoperability, and reliability. Software testing is necessary to realize these benefits by uncovering as many programming errors as possible at a minimum cost. A major challenge to the software engineering community remains how to reduce the cost while improving the quality of software testing. The requirements for testing object-oriented programs differ from those for testing conventional programs. Testing Object-Oriented Software illustrates these differences and discusses object-oriented software testing problems, focusing on the difficulties and challenges testers face. The text contains of nineteen reprinted papers providing a general framework for class- and system-level testing and examines object-oriented design criteria and high testability metrics. It offers object-oriented testing techniques, ideas and methods for unit testing, and object-oriented program integration-testing strategy.<
£77.36
Centre for the Study of Language & Information Literate Programming
Book SynopsisAn anthology of essays from the inventor of literate programming includes Knuth's early papers on related topics such as structured programming, as well as the Computer Journal article that launched literate programming itself.Table of Contents1. Computer programming as an art; 2. Structured programming with go to statements; 3. A structured program to generate all topological sorting arrangements; 4. Literate programming; 5. Programming pearls: sampling; 6. Programming pearls, continued: common words; 7. How to read a WEB; 8. Excerpts from the programs for TEX and METAFONT; 9. Mathematical writing; 10. The errors of TEX; 11. The error log of TEX; 12. An example of CWEB; Further reading; Index.
£25.17
Lulu Press Java Design Pattern Essentials
£14.96
£18.95
Taylor & Francis Ltd Java Programming Exercises
Book SynopsisTake the first step in raising your coding skills to the next level, and test your Java knowledge on tricky programming tasks, with the help of the pirate Captain CiaoCiao. This is the first of two volumes which provide you with everything you need to excel in your Java journey, including tricks that you should know in detail as a professional, as well as intensive training for clean code and thoughtful design that carries even complex software.Features: About 200 tasks with commented solutions on different levels For all paradigms: object-oriented, imperative, and functional Clean code, reading foreign code, and object-oriented modeling With numerous best practices and extensively commented solutions to the tasks, these books provide the perfect workout for professional software development with Java.
£47.49
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
£51.19
Cambridge University Press Design Optimization using MATLAB and SOLIDWORKS
Book SynopsisA unique text integrating numerics, mathematics and applications to provide a hands-on approach to using optimization techniques, this mathematically accessible textbook emphasises conceptual understanding and importance of theorems rather than elaborate proofs. It allows students to develop fundamental optimization methods before delving into MATLAB''s optimization toolbox, and to link MATLAB''s results with the results from their own code. Following a practical approach, the text demonstrates several applications, from error-free analytic examples to truss (size) optimization, and 2D and 3D shape optimization, where numerical errors are inevitable. The principle of minimum potential energy is discussed to highlight the deep relationship between engineering and optimization. MATLAB code in every chapter illustrates key concepts and the text demonstrates the coupling between MATLAB and SOLIDWORKS for design optimization. A wide variety of optimization problems are covered including conTrade Review'Design Optimization using MATLAB and SOLIDWORKS by Dr. Suresh provides an excellent review of various optimization methods, especially for structural problems. Its introduction to MATLAB would help students who have had little experience with this software to become familiar with it quickly and apply it to some of the basic optimization problems.' Hamid Torab, Gannon University'Dr. Suresh's text brings his contributions to shape optimization into the classroom by connecting optimization, MATLAB, SOLIDWORKS, and SOLIDLAB into a single textbook. This text enables the reader to build upon this research accomplishment. I look forward to seeing what my students can achieve with this textbook at their fingertips.' Cameron Turner, Clemson UniversityTable of ContentsPreface; Table of Contents; 1. Introduction; 2. Modeling; 3. Introduction to MATLAB; 4. Unconstrained Optimization: Theory; 5. Unconstrained Optimization: Algorithms; 6. MATLAB Optimization Toolbox; 7. Constrained Optimization; 8. Special Classes of Problems; 9. Truss Analysis; 10. Size Optimization of Trusses; 11. Gradient Computation; 12. Finite Element Analysis in 2D; 13. Shape Optimization in 2D; 14. Finite Element Analysis in 3D; 15. SOLIDLAB: A SOLIDWORKS-MATLAB Interface; 16. Shape Optimization using SOLIDLAB; 17. Appendix; 18. References.
£75.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
£17.59
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
£26.34
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 Building and Testing with Gradle
Book SynopsisGradle is the project automation tool that is taking the Java world by storm. This ebook shows you to us Gradle for building and testing software written in Java and other JVM languages. It covers transitioning to Gradle from Maven, integration with IDEs such as Eclipse, and more.
£15.99
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 Safe C
Book SynopsisThis book contains discussion of some of the most typical mistakes made by us, programmers, in C++ code and also some recipes how to avoid each of these mistakes.
£15.99
O'Reilly Media Just Hibernate
Book SynopsisIf you're looking for a short, sweet, and simple introduction (or reintroduction) to Hibernate, this is the book you want. Through clear real-world examples, you'll learn Hibernate and object-relational mapping from the ground up, starting with the basics. Then you'll dive into the framework's moving parts to understand how they work in action.
£19.19
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
O'Reilly Media Java Mail API
Book SynopsisSend and receive email from Java applications by using the JavaMail API. With this concise book, you'll learn how to communicate with existing SMTP, POP, and IMAP servers, and how to write your own.
£9.45
O'Reilly Media Mastering Perl
Book SynopsisTake the next step toward Perl mastery with advanced concepts that make coding easier, maintenance simpler, and execution faster. Mastering Perl isn't a collection of clever tricks, but a way of thinking about Perl programming for solving debugging, configuration, and many other real-world problems you'll encounter as a working programmer.
£26.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