Programming and scripting languages: general Books

600 products


  • Go Cookbook

    O'Reilly Media Go Cookbook

    1 in stock

    Book SynopsisThis practical guide provides recipes to help you unravel common problems and perform useful tasks when working with Go. Each recipe includes self-contained code solutions that you can freely use, along with a discussion of how and why they work.

    1 in stock

    £47.99

  • Java Generics and Collections

    O'Reilly Media Java Generics and Collections

    1 in stock

    Book Synopsis

    1 in stock

    £42.39

  • Hypermodern Python Tooling

    O'Reilly Media Hypermodern Python Tooling

    1 in stock

    Book Synopsis

    1 in stock

    £42.39

  • HandsOn MySQL Administration

    O'Reilly Media HandsOn MySQL Administration

    7 in stock

    Book Synopsis

    7 in stock

    £47.99

  • Advanced Topics in Bisimulation and Coinduction 52 Cambridge Tracts in Theoretical Computer Science Series Number 52

    Cambridge University Press Advanced Topics in Bisimulation and Coinduction 52 Cambridge Tracts in Theoretical Computer Science Series Number 52

    15 in stock

    Book SynopsisCoinduction is a method for specifying and reasoning about infinite data types and automata with infinite behaviour. In recent years, it has come to play an ever more important role in the theory of computing. It is studied in many disciplines, including process theory and concurrency, modal logic and automata theory. Typically, coinductive proofs demonstrate the equivalence of two objects by constructing a suitable bisimulation relation between them. This collection of surveys is aimed at both researchers and Master's students in computer science and mathematics and deals with various aspects of bisimulation and coinduction, with an emphasis on process theory. Seven chapters cover the following topics: history, algebra and coalgebra, algorithmics, logic, higher-order languages, enhancements of the bisimulation proof method, and probabilities. Exercises are also included to help the reader master new material.Table of ContentsPreface; List of contributors; 1. Origins of bisimulation and coinduction Davide Sangiorgi; 2. An introduction to (co)algebra and (co)induction Bart Jacobs and Jan Rutten; 3. The algorithmics of bisimilarity Luca Aceto, Anna Ingolfsdottir and Jiří Srba; 4. Bisimulation and logic Colin Stirling; 5. Howe's method for higher-order languages Andrew Pitts; 6. Enhancements of the bisimulation proof method Damien Pous and Davide Sangiorgi; 7. Probabilistic bisimulation Prakash Panangaden.

    15 in stock

    £104.50

  • Nominal Sets Names and Symmetry in Computer Science 57 Cambridge Tracts in Theoretical Computer Science Series Number 57

    Cambridge University Press Nominal Sets Names and Symmetry in Computer Science 57 Cambridge Tracts in Theoretical Computer Science Series Number 57

    15 in stock

    Book SynopsisNominal sets provide a promising new mathematical analysis of names in formal languages based upon symmetry, with many applications to the syntax and semantics of programming language constructs that involve binding, or localising names. Part I provides an introduction to the basic theory of nominal sets. In Part II, the author surveys some of the applications that have developed in programming language semantics (both operational and denotational), functional programming and logic programming. As the first book to give a detailed account of the theory of nominal sets, it will be welcomed by researchers and graduate students in theoretical computer science.Table of ContentsPreface; Introduction; Part I. Theory: 1. Permutation; 2. Support; 3. Freshness; 4. Name abstraction; 5. Orbit finiteness; 6. Equivalents of Nom; Part II. Applications: 7. Inductive and conductive definitions; 8. Nominal algebraic data types; 9. Locally scoped names; 10. Functional programming; 11. Domain theory; 12. Computational logic; References; Notation index; Index.

    15 in stock

    £54.99

  • Learning Scientific Programming with Python

    Cambridge University Press Learning Scientific Programming with Python

    15 in stock

    Book SynopsisLearn to master basic programming tasks from scratch with real-life scientific examples drawn from many different areas of science and engineering. This complete introduction to using Python teaches Numpy, SciPy and Matplotlib libraries and is supported by extensive online resources to provide a targeted package for students and researchers.Trade Review'This book is well illustrated and is supported by an extensive collection of resources online in the book's website, scipython.com. This site has code listings and solutions to exercises. I would readily recommend this book to any student (or even a colleague) who wishes to achieve a solid foundation in Python programming.' Vasudevan Lakshminarayanan, Contemporary PhysicsTable of Contents1. Introduction; 2. The core Python language I; 3. Interlude: simple plotting with pylab; 4. The core Python language II; 5. IPython and IPython notebook; 6. NumPy; 7. Matplotlib; 8. SciPy; 9. General scientific programming; Appendix A. Solutions; Index.

    15 in stock

    £82.64

  • Picturing Quantum Processes A First Course in

    Cambridge University Press Picturing Quantum Processes A First Course in

    1 in stock

    Book SynopsisThe unique features of the quantum world are explained in this book through the language of diagrams, setting out an innovative visual method for presenting complex theories. Requiring only basic mathematical literacy, this book employs a unique formalism that builds an intuitive understanding of quantum features while eliminating the need for complex calculations. This entirely diagrammatic presentation of quantum theory represents the culmination of ten years of research, uniting classical techniques in linear algebra and Hilbert spaces with cutting-edge developments in quantum computation and foundations. Written in an entertaining and user-friendly style and including more than one hundred exercises, this book is an ideal first course in quantum theory, foundations, and computation for students from undergraduate to PhD level, as well as an opportunity for researchers from a broad range of fields, from physics to biology, linguistics, and cognitive science, to discover a new set ofTrade Review'Picturing Quantum Processes is a lively and refreshing romp through the authors diagrammatic and categorical approach to quantum processes. I recommend this book with no lower age limit required!' Louis Kauffman, University of Illinois'This book develops from scratch the category theoretic, and diagrammatic, language for quantum theory, especially quantum processes. It is a remarkable achievement: vigorous, crystal-clear, complete - and a delight to read.' Jeremy Butterfield, University of Cambridge'The book employs a unique formalism developed by the authors, which allows a more intuitive understanding of quantum features and eliminates complex calculations. As a result, knowledge of advanced mathematics is not required. … An informal and entertaining style is adopted, which makes this book easily approachable by students at their first encounter with quantum theory. That said, it will probably appeal more to Ph.D. students and researchers who are already familiar with the subject and are interested in looking at different treatment of this matter. The text is also accompanied by a rich set of exercises.' CERN CourierTable of ContentsPreface; 1. Introduction; 2. Guide to reading this textbook; 3. Processes as diagrams; 4. String diagrams; 5. Hilbert space from diagrams; 6. Quantum processes; 7. Quantum measurement; 8. Picturing classical-quantum processes; 9. Picturing phases and complementarity; 10. Quantum theory: the full picture; 11. Quantum foundations; 12. Quantum computation; 13. Quantum resources; 14. Quantomatic; Appendix A. Some notations; References; Index.

    1 in stock

    £80.74

  • Modern Fortran in Practice

    Cambridge University Press Modern Fortran in Practice

    15 in stock

    Book SynopsisFrom its earliest days, the Fortran programming language has been designed with computing efficiency in mind. The latest standard, Fortran 2008, incorporates a host of modern features, including object-orientation, array operations, user-defined types, and provisions for parallel computing. This tutorial guide shows Fortran programmers how to apply these features in twenty-first-century style: modular, concise, object-oriented, and resource-efficient, using multiple processors. It offers practical real-world examples of interfacing to C, memory management, graphics and GUIs, and parallel computing using MPI, OpenMP, and coarrays. The author also analyzes several numerical algorithms and their implementations and illustrates the use of several open source libraries. Full source code for the examples is available on the book's website.Trade Review'A language cannot survive without a means to learn about it. This implies the availability not only of textbooks on the language's syntax and semantics but also of books on how to use the language in real-life situations. Somehow, experience in the use and application of a language needs to be passed on to a new generation of programmers and new features require advice on how they are best to be used. Here, at a time when only rarely is a single language used in isolation, but more often in conjunction with other languages or with various tools, Modern Fortran in Practice fulfils a real need for practical advice in the field. I recommend it to all Fortran practitioners.' Michael Metcalf, from the Foreword'Scientists, mathematicians, and engineers will find that Modern Fortran in Practice speaks their language. Arjen Markus introduces modern Fortran features using real-world examples and practical advice. If your knowledge of Fortran stops at FORTRAN-77 or even Fortran 90, Markus's book will open your eyes to what today's Fortran can do for you.' Steve Lionel, Senior Member Technical Staff, Intel Corporation'Modern Fortran in Practice shows by practical examples how reliable and maintainable programs can be written. Starting with examples in Fortran 95, Fortran 2003/2008 features are then introduced and used to improve the code, thus showing different approaches but also providing a solution for older compilers. The author covers the whole development - from algorithm choice and error handling to graphical interfaces, parallelization, and unit testing. The book is an ideal complement to books that focus on the syntax of Fortran.' Tobias Burnus, Institute for Advanced Simulation, Research Centre Jülich'This book is a very welcome complement to the existing literature on modern Fortran. While most Fortran books serve as comprehensive language references, this book stands out for its extensive demonstrations of practical applications of the language. Especially interesting are the many demonstrations of the newest programming paradigms Fortran supports, including object-oriented programming, functional programming, and parallel programming.' Damian Rouson, Sandia National LaboratoryTable of Contents1. Introduction to modern Fortran; 2. Array-valued functions; 3. Mathematical abstractions; 4. Memory management; 5. An interface problem; 6. Interfacing to C: SQLite as an example; 7. Graphics, GUIs, and the internet; 8. Unit testing; 9. Code reviews; 10. Robust implementation of several simple algorithms; 11. Object-oriented programming; 12. Parallel programming; Appendix A. Tools for development and maintenance; Appendix B. Caveats.

    15 in stock

    £56.99

  • Helping Kids with Coding For Dummies

    John Wiley & Sons Inc Helping Kids with Coding For Dummies

    10 in stock

    Book SynopsisHelp for grown-ups new to coding Getting a jump on learning how coding makes technology work is essential to prepare kids for the future. Unfortunately, many parents, teachers, and mentors didn't learn the unique logic and language of coding in school. Helping Kids with Coding For Dummies comes to the rescue. It breaks beginning coding into easy-to-understand language so you can help a child with coding homework, supplement an existing coding curriculum, or have fun learning with your favorite kid. The demand to have younger students learn coding has increased in recent years as the demand for trained coders has far exceeded the supply of coders. Luckily, this fun and accessible book makes it a snap to learn the skills necessary to help youngsters develop into proud, capable coders! Help with coding homework or enhance a coding curriculumGet familiar with coding logic and how to de-bug programsComplete small projects as you learn coding languageApply math skills to coding If you're Table of ContentsIntroduction 1 About This Book 1 Foolish Assumptions 2 Icons Used in This Book 3 Where to Go from Here 3 Part 1: Getting Started with Coding 5 Chapter 1: Welcome To (Or Back To) Coding 7 Why Kids Are Coding 8 What are they learning? 8 How are they learning? 9 What does it mean down the road? 10 Why You Need to Know Coding 11 Fear and loathing (of coding) 11 You may already know more than you think 12 Where Do You Come In? 13 In the classroom 13 Camp or after-school coach 15 Mentor 16 Working with Young Coders 18 Chapter 2: Understanding the Big Ideas 19 Seeing the Big Picture in Coding 19 Acting Out the Big Picture, Unplugged 20 Dramatizing a noncoding process 21 Walking through some daily tasks 22 Creating an Algorithm 23 Turning a picture into words 23 One possible vacuuming algorithm in code 24 Representing Algorithms 26 Acting it out 27 Drawing a picture 27 Creating a storyboard 28 Building a flowchart 28 Writing pseudocode 30 Commenting the bones 31 Organizing with Sequence, Selection, and Repetition 33 Sequence 34 Selection 35 Repetition 36 Including Randomness in Your Coding 38 Chapter 3: Figuring Out Programming Languages 41 What You Want in a Language 42 Free Languages for Tots and Kids 42 The Foos 42 Think & Learn Code-a-Pillar 43 Daisy the Dinosaur 43 Scratch Jr 44 Free Languages for Youth and Tweens 45 Scratch 45 Hopscotch 47 Kodu 47 Languages for Teens and Older 48 Alice 48 MIT App Inventor 2 49 Python 50 JavaScript 53 Java 55 Other Awesome (Not-So-Free) Languages 58 MicroWorlds EX 58 Tynker 58 GameSalad 58 Part 2: Getting Your Hands on Code 61 Chapter 4: Working with Words 63 Communicating with Text 63 Showing Text Onscreen 64 Using pseudocode 64 Using Scratch 64 Using Python 65 Using HTML 66 Using JavaScript in an app 66 Using Java 68 Words In, Words Out 69 Using Scratch 70 Using Python 71 Using HTML and JavaScript 71 Using JavaScript in an app 72 Combining Text Onscreen 74 Using pseudocode 75 Using Scratch 75 Using Python and other languages 75 Formatting Text Onscreen 77 A Mad Libs Example 78 Chapter 5: Knowing Where You Are and Where You’re Going 81 Acting Out Position, Unplugged 82 Setting and Finding Position 85 Using pseudocode 85 Using Scratch to set position 86 Using Scratch to find position 87 Using JavaScript 87 Positioning Objects Randomly 93 Using Scratch 93 Using JavaScript 94 Setting and Finding Direction 95 Using pseudocode 95 Using Scratch 96 Setting Object Direction Randomly 97 Using Scratch 97 Turning 98 Using pseudocode 98 Using Scratch 98 Acting Out Motion, Unplugged 99 Making an Object Move 100 Using pseudocode 100 Using Scratch 101 Using JavaScript 103 Asteroid Blaster 104 Chapter 6: Getting Fancy with Graphics and Sound 107 Sizes of Images and Sounds, Unplugged 108 Activities surrounding images and sounds 108 Knowing your sizes 109 Using Graphics in Your Programs 109 Image file types 109 Creating images 110 Finding images on the web 111 Importing a JPEG or PNG in Scratch 114 Importing a GIF in Scratch 116 Importing a JPEG, PNG, or GIF in JavaScript 117 Adding Sound to Your Programs 117 Sound file types 118 Creating original sounds 118 Finding sounds on the web 119 Importing sounds into Scratch 120 Importing audio into JavaScript 121 Creating a Sound Board 122 Part 3: There is Math on This Test! 125 Chapter 7: Tackling These Ever-Changing Variables 127 Acting Out Variables, Unplugged 127 Variable parts 128 Dramatizing variables 130 I Do Declare (And Initialize) 132 Using pseudocode 132 Using Scratch 133 Using Python 134 Using JavaScript 135 Using Java 136 Checking on Variable Values 137 Using Scratch 138 Using Python 138 Using JavaScript 138 Using Java 140 Incrementing and Decrementing Variables 140 Using pseudocode 140 Using Scratch 141 Using Python 141 Using JavaScript 142 Using Java 142 Creating a Stock Ticker 142 Chapter 8: Computing Using Math 145 Acting Out Math, Unplugged 145 Number types 146 Dramatizing math 146 Doing Simple Math 149 Using pseudocode 149 Using Scratch 149 Using Python 150 Doing Advanced Math Operations 150 Using pseudocode 151 Using Scratch 152 Using Python 153 Oh So Mod — Using the Mod Operation 156 Using pseudocode 157 Using Scratch 157 Using Python 157 Ordering Those Operations (PEMDAS) 157 Using Scratch 158 Using Python 158 Rounding 159 Rounding via casting in Java 160 Rounding decimals to integers via methods 160 Generating and Using Random Numbers 162 Using pseudocode 162 Using Scratch 162 Using Python 163 Coding a Crypto Code Maker 163 Chapter 9: Helping with Logic Operations 167 Simple Logic, Unplugged 167 Programming Simple Conditionals 169 In pseudocode 169 In Scratch 169 In Python 170 In JavaScript 170 In Java 172 Advanced Logic, Unplugged 174 Coding Compound Conditionals (aka, AND, NOT, and OR Will Get You Pretty Far!) 176 In pseudocode 177 Compound conditionals in Scratch 177 In Python 179 In JavaScript 181 In Java 181 Rock, Paper, Scissors 182 Chapter 10: Getting Loopy 185 Loops, Unplugged 185 Repeat fun, unplugged 186 Random loop conditions, unplugged 186 Loop Types and Structures 187 Infinite loops 188 Actions repeated in loops 188 Conditions of loops 188 Using pseudocode 189 Using Scratch 191 Using Python 193 Nesting Loops 196 Using pseudocode 196 Using Scratch 197 Using Python 198 Coding the Classic Fibonacci Sequence 199 Chapter 11: Adding Lists 201 Lists, Unplugged 201 Introducing Lists 203 Using pseudocode 203 Using Scratch 205 Using Java 208 Sorting Lists 215 Selection sort: An easy sorting algorithm 215 Common application: Arranging numbers in order 216 Searching Lists 217 Linear versus binary searching algorithms 217 Common application: Finding a phone number 218 Chapter 12: Coding Subprograms 221 Subprograms, Unplugged 221 Starting with Pseudocode 223 Creating a Spirograph with Subprograms 224 Pseudocode 225 Scratch 225 JavaScript 227 Java 228 Coding Subprograms with Parameters 230 Scratch code block with parameters 230 JavaScript, with parameters 233 Java, with parameters 234 Part 4: Applying What You Know 237 Chapter 13: Fixing Problems by Debugging 239 Debugging, Unplugged 240 Finding Common Syntax Errors 242 Scoping errors 242 Typing errors 243 Incorrect data types 244 Finding Common Semantic Errors 245 Infinite loops 245 Off by one 246 Strategies for Debugging 248 Turning sections on and off 248 Testing sample data 251 Adding output messages 251 Walking Away 253 Chapter 14: Creating a Webpage 255 Getting Set Up 255 Creating a Basic Webpage Layout 261 The skeleton: HTML basics 262 The aesthetics: CSS 265 Getting Fancy with Color and Graphics 272 Adding color to your page 272 Introducing graphics 276 Adding Hyperlinks 278 Going Interactive with JavaScript 280 Adding buttons 280 Changing your page with buttons 282 Combining HTML, CSS, and JavaScript 283 Chapter 15: Building a Mobile Game 289 Getting Started with MIT App Inventor 289 Community and support within MIT App Inventor 291 The layout of MIT App Inventor 292 Using an Emulator versus a Real Device 294 Using the Android Emulator 294 Using a real Android device 295 Testing on the emulator and Android device 295 Designing Mobile Apps 302 Adding the Components in Design View 303 Coding Your Mobile App 306 Getting your puppy moving 306 Setting up your start screen and variables 308 Coding random placement of items 309 Coding collision with items 311 Levels, timers, and final score 312 Distributing Your Apps 315 Chapter 16: Programming Simple Electronics 317 Gathering Your Hardware 317 The micro:bit board 318 Buying the board and components 318 Accessing the Software 320 Navigating the interface 320 Writing and using a program 321 Don’t Wake Baby Gadget 324 Flowcharting the program 324 Writing the code 326 Downloading code to the micro:bit 333 Connecting hardware components 333 Testing the device 334 Trying Wacky and Fun Variations 335 Part 5: The Part of Tens 337 Chapter 17: Ten Do’s and Don’ts for Selecting a Kids Coding Curriculum 339 DO Find the Right Entry Level 340 Getting started in elementary grades 340 Getting started in the middle grades 341 Getting started in high school grades 341 DON’T Assume Cost Equals Quality 343 DO Balance Lessons with Free Exploration 344 DON’T Instantly Dismiss Teaching Languages 344 DO Consult CSTA for Guidance 346 DON’T Buy “Coding” Toys for Babies 346 DO Emphasize the Soft Skills 346 DON’T Let Kids Get Stuck in a Loop 347 DO Present the Bigger Picture 347 DON’T Stereotype Coders 347 Chapter 18: Ten Ways to Keep the Coding Learning Going 349 Unplugged 349 Research Pioneers of Computing 350 Go Lateral from Code 351 Language Tracking 351 Smart Home Projects 352 Include Outside Passions 352 Open-Source Projects 353 Group Projects 354 Community Support 354 Portfolios 355 Index 357

    10 in stock

    £17.09

  • Python for Cybersecurity

    John Wiley & Sons Inc Python for Cybersecurity

    1 in stock

    Book SynopsisTable of ContentsIntroduction xvii Chapter 1 Fulfilling Pre- ATT&CK Objectives 1 Active Scanning 2 Scanning Networks with scapy 2 Implementing a SYN Scan in scapy 4 Performing a DNS Scan in scapy 5 Running the Code 5 Network Scanning for Defenders 6 Monitoring Traffic with scapy 7 Building Deceptive Responses 8 Running the Code 9 Search Open Technical Databases 9 Offensive DNS Exploration 10 Searching DNS Records 11 Performing a DNS Lookup 12 Reverse DNS Lookup 12 Running the Code 13 DNS Exploration for Defenders 13 Handling DNS Requests 15 Building a DNS Response 15 Running the Code 16 Summary 17 Suggested Exercises 17 Chapter 2 Gaining Initial Access 19 Valid Accounts 20 Discovering Default Accounts 20 Accessing a List of Default Credentials 21 Starting SSH Connections in Python 22 Performing Telnet Queries in Python 23 Running the Code 24 Account Monitoring for Defenders 24 Introduction to Windows Event Logs 25 Accessing Event Logs in Python 28 Detecting Failed Logon Attempts 28 Identifying Unauthorized Access to Default Accounts 30 Running the Code 30 Replication Through Removable Media 31 Exploiting Autorun 31 Converting Python Scripts to Windows Executables 32 Generating an Autorun File 33 Setting Up the Removable Media 34 Running the Code 34 Detecting Autorun Scripts 34 Identifying Removable Drives 35 Finding Autorun Scripts 36 Detecting Autorun Processes 36 Running the Code 36 Summary 37 Suggested Exercises 37 Chapter 3 Achieving Code Execution 39 Windows Management Instrumentation 40 Executing Code with WMI 40 Creating Processes with WMI 41 Launching Processes with PowerShell 41 Running the Code 42 WMI Event Monitoring for Defenders 42 WMI in Windows Event Logs 43 Accessing WMI Event Logs in Python 45 Processing Event Log XML Data 45 Running the Code 46 Scheduled Task/Job 47 Scheduling Malicious Tasks 47 Checking for Scheduled Tasks 48 Scheduling a Malicious Task 48 Running the Code 49 Task Scheduling for Defenders 50 Querying Scheduled Tasks 51 Identifying Suspicious Tasks 52 Running the Code 52 Summary 53 Suggested Exercises 53 Chapter 4 Maintaining Persistence 55 Boot or Logon Autostart Execution 56 Exploiting Registry Autorun 56 The Windows Registry and Autorun Keys 57 Modifying Autorun Keys with Python 60 Running the Code 61 Registry Monitoring for Defenders 62 Querying Windows Registry Keys 63 Searching the HKU Hive 64 Running the Code 64 Hijack Execution Flow 65 Modifying the Windows Path 65 Accessing the Windows Path 66 Modifying the Path 67 Running the Code 68 Path Management for Defenders 69 Detecting Path Modification via Timestamps 69 Enabling Audit Events 71 Monitoring Audit Logs 73 Running the Code 75 Summary 76 Suggested Exercises 76 Chapter 5 Performing Privilege Escalation 77 Boot or Logon Initialization Scripts 78 Creating Malicious Logon Scripts 78 Achieving Privilege Escalation with Logon Scripts 79 Creating a Logon Script 79 Running the Code 79 Searching for Logon Scripts 80 Identifying Autorun Keys 81 Running the Code 81 Hijack Execution Flow 81 Injecting Malicious Python Libraries 82 How Python Finds Libraries 82 Creating a Python Library 83 Running the Code 83 Detecting Suspicious Python Libraries 83 Identifying Imports 85 Detecting Duplicates 85 Running the Code 86 Summary 86 Suggested Exercises 87 Chapter 6 Evading Defenses 89 Impair Defenses 90 Disabling Antivirus 90 Disabling Antivirus Autorun 90 Terminating Processes 93 Creating Decoy Antivirus Processes 94 Catching Signals 95 Running the Code 95 Hide Artifacts 95 Concealing Files in Alternate Data Streams 96 Exploring Alternate Data Streams 96 Alternate Data Streams in Python 97 Running the Code 98 Detecting Alternate Data Streams 98 Walking a Directory with Python 99 Using PowerShell to Detect ADS 100 Parsing PowerShell Output 101 Running the Code 102 Summary 102 Suggested Exercises 103 Chapter 7 Accessing Credentials 105 Credentials from Password Stores 106 Dumping Credentials from Web Browsers 106 Accessing the Chrome Master Key 108 Querying the Chrome Login Data Database 108 Parsing Output and Decrypting Passwords 109 Running the Code 109 Monitoring Chrome Passwords 110 Enabling File Auditing 110 Detecting Local State Access Attempts 111 Running the Code 113 Network Sniffing 114 Sniffing Passwords with scapy 114 Port- Based Protocol Identification 116 Sniffing FTP Passwords 116 Extracting SMTP Passwords 117 Tracking Telnet Authentication State 119 Running the Code 121 Creating Deceptive Network Connections 121 Creating Decoy Connections 122 Running the Code 122 Summary 123 Suggested Exercises 123 Chapter 8 Performing Discovery 125 Account Discovery 126 Collecting User Account Data 126 Identifying Administrator Accounts 127 Collecting User Account Information 128 Accessing Windows Password Policies 128 Running the Code 129 Monitoring User Accounts 130 Monitoring Last Login Times 130 Monitoring Administrator Login Attempts 131 Running the Code 132 File and Directory Discovery 133 Identifying Valuable Files and Folders 133 Regular Expressions for Data Discovery 135 Parsing Different File Formats 135 Running the Code 136 Creating Honeypot Files and Folders 136 Monitoring Decoy Content 136 Creating the Decoy Content 137 Running the Code 138 Summary 138 Suggested Exercises 139 Chapter 9 Moving Laterally 141 Remote Services 142 Exploiting Windows Admin Shares 142 Enabling Full Access to Administrative Shares 143 Transferring Files via Administrative Shares 144 Executing Commands on Administrative Shares 144 Running the Code 144 Admin Share Management for Defenders 145 Monitoring File Operations 146 Detecting Authentication Attempts 147 Running the Code 148 Use Alternative Authentication Material 148 Collecting Web Session Cookies 149 Accessing Web Session Cookies 150 Running the Code 150 Creating Deceptive Web Session Cookies 151 Creating Decoy Cookies 151 Monitoring Decoy Cookie Usage 153 Running the Code 153 Summary 154 Suggested Exercises 155 Chapter 10 Collecting Intelligence 157 Clipboard Data 158 Collecting Data from the Clipboard 158 Accessing the Windows Clipboard 159 Replacing Clipboard Data 159 Running the Code 160 Clipboard Management for Defenders 160 Monitoring the Clipboard 161 Processing Clipboard Messages 161 Identifying the Clipboard Owner 161 Running the Code 162 Email Collection 162 Collecting Local Email Data 162 Accessing Local Email Caches 163 Running the Code 163 Protecting Against Email Collection 164 Identifying Email Caches 165 Searching Archive Files 165 Running the Code 166 Summary 166 Suggested Exercises 166 Chapter 11 Implementing Command and Control 169 Encrypted Channel 170 Command and Control Over Encrypted Channels 170 Encrypted Channel Client 171 Encrypted Channel Server 172 Running the Code 173 Detecting Encrypted C2 Channels 174 Performing Entropy Calculations 175 Detecting Encrypted Traffic 175 Running the Code 176 Protocol Tunneling 176 Command and Control via Protocol Tunneling 176 Protocol Tunneling Client 177 Protocol Tunneling Server 177 Running the Code 179 Detecting Protocol Tunneling 179 Extracting Field Data 181 Identifying Encoded Data 181 Running the Code 181 Summary 182 Suggested Exercises 182 Chapter 12 Exfiltrating Data 183 Alternative Protocols 184 Data Exfiltration Over Alternative Protocols 184 Alternative Protocol Client 185 Alternative Protocol Server 186 Running the Code 188 Detecting Alternative Protocols 189 Detecting Embedded Data 190 Running the Code 191 Non- Application Layer Protocols 191 Data Exfiltration via Non- Application Layer Protocols 192 Non- Application Layer Client 193 Non- Application Layer Server 193 Running the Code 194 Detecting Non- Application Layer Exfiltration 195 Identifying Anomalous Type and Code Values 196 Running the Code 196 Summary 197 Suggested Exercises 197 Chapter 13 Achieving Impact 199 Data Encrypted for Impact 200 Encrypting Data for Impact 200 Identifying Files to Encrypt 201 Encrypting and Decrypting Files 202 Running the Code 202 Detecting File Encryption 203 Finding Files of Interest 204 Calculating File Entropies 204 Running the Code 205 Account Access Removal 205 Removing Access to User Accounts 205 Changing Windows Passwords 207 Changing Linux Passwords 207 Running the Code 207 Detecting Account Access Removal 208 Detecting Password Changes in Windows 209 Detecting Password Changes in Linux 210 Running the Code 211 Summary 211 Suggested Exercises 212 Index 213

    1 in stock

    £19.54

  • OCP Oracle Certified Professional Java SE 17

    John Wiley & Sons Inc OCP Oracle Certified Professional Java SE 17

    1 in stock

    Book SynopsisTable of ContentsIntroduction xvii Chapter 1 Handling Date, Time, Text, Numeric and Boolean Values 1 Chapter 2 Controlling Program Flow 25 Chapter 3 Utilizing Java Object- Oriented Approach 45 Chapter 4 Handling Exceptions 149 Chapter 5 Working with Arrays and Collections 181 Chapter 6 Working with Streams and Lambda Expressions 211 Chapter 7 Packaging and Deploying Java Code and Use the Java Platform Module System 267 Chapter 8 Managing Concurrent Code Execution 295 Chapter 9 Using Java I/O API 319 Chapter 10 Accessing Databases Using JDBC 339 Chapter 11 Implementing Localization 353 Chapter 12 Practice Exam 1 365 Chapter 13 Practice Exam 2 391 Chapter 14 Practice Exam 3 417 Appendix Answers to Review Questions 443 Chapter 1: Handling Date, Time, Text, Numeric and Boolean Values 444 Chapter 2: Controlling Program Flow 450 Chapter 3: Utilizing Java Object- Oriented Approach 455 Chapter 4: Handling Exceptions 482 Chapter 5: Working with Arrays and Collections 489 Chapter 6: Working with Streams and Lambda Expressions 498 Chapter 7: Packaging and Deploying Java Code and Use the Java Platform Module System 516 Chapter 8: Managing Concurrent Code Execution 524 Chapter 9: Using Java I/O API 530 Chapter 10: Accessing Databases Using JDBC 535 Chapter 11: Implementing Localization 538 Chapter 12: Practice Exam 1 541 Chapter 13: Practice Exam 2 548 Chapter 14: Practice Exam 3 554 Index 561

    1 in stock

    £27.99

  • Beginning Programming AllinOne For Dummies

    John Wiley & Sons Inc Beginning Programming AllinOne For Dummies

    1 in stock

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

    1 in stock

    £24.64

  • Beginning Programming with Python For Dummies

    John Wiley & Sons Inc Beginning Programming with Python For Dummies

    5 in stock

    Book SynopsisTable of ContentsIntroduction 1 Part 1: Getting Started with Python 7 Chapter 1: Talking to Your Computer 9 Chapter 2: Working with Google Colab 23 Chapter 3: Interacting with Python 41 Chapter 4: Writing Your First Application 57 Chapter 5: Performing Magic 79 Part 2: Talking the Talk 93 Chapter 6: Storing and Modifying Information 95 Chapter 7: Managing Information 107 Chapter 8: Making Decisions 127 Chapter 9: Performing Repetitive Tasks 143 Chapter 10: Dealing with Errors 157 Part 3: Performing Common Tasks 187 Chapter 11: Interacting with Packages 189 Chapter 12: Working with Strings 215 Chapter 13: Managing Lists 239 Chapter 14: Collecting All Sorts of Data 257 Chapter 15: Creating and Using Classes 279 Part 4: Performing Advanced Tasks 301 Chapter 16: Storing Data in Files 303 Chapter 17: Sending an Email 321 Part 5: The Part of Tens 337 Chapter 18: Ten Amazing Programming Resources 339 Chapter 19: Ten Ways to Make a Living with Python 349 Chapter 20: Ten Tools That Enhance Your Python Experience 357 Chapter 21: Ten (Plus) Libraries You Need to Know About 369 Index 379

    5 in stock

    £22.94

  • ClientCentered Software Development

    Taylor & Francis Ltd ClientCentered Software Development

    15 in stock

    Book SynopsisClient-Centered Software Development: The CO-FOSS Approach introduces a method to creating a customized software product for a single client, either from scratch or by reusing open source components. The clients are typically non-profit humanitarian, educational, or public service organizations. This approach has been used in undergraduate courses where students learn the principles of software development while implementing a real-world software product. This book provides instructors, students, clients, and professional software developers with detailed guidance for developing a new CO-FOSS product from conceptualization to completion.Features Provides instructors, students, clients, and professional software developers with a roadmap for the development of a new CO-FOSS product from conceptualization to completion Motivates students with real-world projects and community service experiences Trade Review"This all-inclusive text integrates the "soft skills" of working with an open-source software client with the "hard skills" of Web application development in PHP, while supporting faculty with project identification and development." -- Janet Davis, Whitman College, Walla Walla, WA, USA "Client-Centered Software Development: The CO-FOSS Approach provides a practical instructional roadmap for engaging students in experiential learning about software development. The text is enriched by hard-won experiences gleaned from years of tuning the authors' approach."-- Jim Bowring, Associate Professor, Department of Computer Science, College of Charleston "This book is a practical and valuable guide for students and faculty to engage in Open Source Software projects. The CO-FOSS model should inspire a new generation of faculty and students to make a difference in their local communities and the world."-- Steven Huss-Lederman, Open Energy Dashboard "Working with Allen and his students was an invaluable experience. As a small non-profit the opportunity to tailor our own database to our distinct needs benefited us greatly. Our volunteers(the users) are able to easily negotiate the system and as a result we have maintained a vibrant volunteer base!"-- Joanna A. Powers, Volunteer Coordinator. Ronald McDonald House of Providence, Inc., Providence, RI "Under Allen Tucker's leadership, he and his students created a state-of-the-art- software program to help track food rescue in the Lowcountry. Working with volunteers at various levels of technical expertise, this simple and effective tool enables Second Helpings, a food rescue agency that rescued over three million pounds of food in 2018, to document over 300 volunteers, 30 food donors, 60 recipient agencies and millions of pounds of food rescued annually by category. HOMEPLATE has been made it easy for the staff to communicate with all these audiences. It is invaluable in collecting data that is needed to grow financial support for the agency and to fight hunger in our community. We also document interaction with all audiences inside this software. SIMPLE, SMART and FREE are three attributes that have made a big difference for Second Helpings. We are indebted to Allen Tucker for his continued support and expertise."--Lili Coleman, Executive Director, Second Helpings, Hilton Head Island, SC "This teaching volume offers a complete guide to support an instructor, students, a volunteer real-world client, and a pro bono developer in jointly completing a customized, non-commercial software development project, providing a one-semester capstone course curriculum for upper-division majors in computer science. By incorporating the roles of all parties involved, Tucker demonstrates how formalizing roles through "user stories" can continue to refine the requirements-gathering process as a new system is actually being developed and tested. Tucker's unique contribution is in designing a case study to teach habits of continuous learning and the value of approaching software development as a form of humanitarian effort to future general practitioners of the art." --F. H. Wild III, University of Rhode Island "This all-inclusive text integrates the "soft skills" of working with an open-source software client with the "hard skills" of Web application development in PHP, while supporting faculty with project identification and development." -- Janet Davis, Whitman College, Walla Walla, WA, USA "Client-Centered Software Development: The CO-FOSS Approach provides a practical instructional roadmap for engaging students in experiential learning about software development. The text is enriched by hard-won experiences gleaned from years of tuning the authors' approach."-- Jim Bowring, Associate Professor, Department of Computer Science, College of Charleston "This book is a practical and valuable guide for students and faculty to engage in Open Source Software projects. The CO-FOSS model should inspire a new generation of faculty and students to make a difference in their local communities and the world."-- Steven Huss-Lederman, Open Energy Dashboard "Working with Allen and his students was an invaluable experience. As a small non-profit the opportunity to tailor our own database to our distinct needs benefited us greatly. Our volunteers(the users) are able to easily negotiate the system and as a result we have maintained a vibrant volunteer base!"-- Joanna A. Powers, Volunteer Coordinator. Ronald McDonald House of Providence, Inc., Providence, RI "Under Allen Tucker's leadership, he and his students created a state-of-the-art- software program to help track food rescue in the Lowcountry. Working with volunteers at various levels of technical expertise, this simple and effective tool enables Second Helpings, a food rescue agency that rescued over three million pounds of food in 2018, to document over 300 volunteers, 30 food donors, 60 recipient agencies and millions of pounds of food rescued annually by category. HOMEPLATE has been made it easy for the staff to communicate with all these audiences. It is invaluable in collecting data that is needed to grow financial support for the agency and to fight hunger in our community. We also document interaction with all audiences inside this software. SIMPLE, SMART and FREE are three attributes that have made a big difference for Second Helpings. We are indebted to Allen Tucker for his continued support and expertise."--Lili Coleman, Executive Director, Second Helpings, Hilton Head Island, SC "This teaching volume offers a complete guide to support an instructor, students, a volunteer real-world client, and a pro bono developer in jointly completing a customized, non-commercial software development project, providing a one-semester capstone course curriculum for upper-division majors in computer science. By incorporating the roles of all parties involved, Tucker demonstrates how formalizing roles through "user stories" can continue to refine the requirements-gathering process as a new system is actually being developed and tested. Tucker's unique contribution is in designing a case study to teach habits of continuous learning and the value of approaching software development as a form of humanitarian effort to future general practitioners of the art." --F. H. Wild III, University of Rhode Island Table of ContentsChapter 1 □ The Journey Section I Organization Stage Chapter 2 □ Finding a Client and a Project Chapter 3 □ Defining the Course Section II Development Stage Chapter 4 □ Project Launch Chapter 5 □ Domain Class Development Chapter 6 □ Database Development Chapter 7 □ User Interface Development Chapter 8 □ Preparing to Deploy Section III Deployment Stage Chapter 9 □ Continuing the Journey

    15 in stock

    £78.84

  • C

    Taylor & Francis Ltd C

    15 in stock

    Book SynopsisThis easy-to-use, classroom-tested textbook covers the C programming language for computer science and IT students. Designed for a compulsory fundamental course, it presents the theory and principles of C. More than 500 exercises and examples of progressive difficulty aid students in understanding all the aspects and peculiarities of the C language. The exercises test students on various levels of programming and the examples enhance their concrete understanding of programming know-how. Instructor''s manual and PowerPoint slides are available upon qualifying course adoptionTable of ContentsIntroduction to C. Data Types, Variables, and Data Output. Operators, Program Controls. Loops. Arrays. Pointers. Characters. Strings. Functions. Searching and Sorting Arrays. Structures and Unions. Memory Management and Data Structures. Files. Preprocessor Directives and Macros. Writing Large Programs. Introduction to C++. Introduction to Java. Review Exercises. Appendixes: Operator Precedence Table. ASCII Character Set. Standard Library Functions. Hex System.

    15 in stock

    £80.74

  • Programming the BBC microbit Getting Started with

    McGraw-Hill Education Programming the BBC microbit Getting Started with

    1 in stock

    Book Synopsis Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product. Quickly write innovative programs for your micro:bitâno experience necessary! This easy-to-follow guide shows, step-by-step, how to quickly get started with programming and creating fun applications on your micro:bit.. Written in the straightforward style that Dr. Simon Monk is famous for, Programming the BBC micro:bit: Getting Started with MicroPython begins with basic concepts and gradually progresses to more advanced techniques. You will discover how to use the micro:bit's built-in hardware, use the LED display, accept input from sensors, attach external electronics, and handle wireless communication. â

    1 in stock

    £14.24

  • Absolute Java Global Edition

    Pearson Education Absolute Java Global Edition

    1 in stock

    Book SynopsisTable of Contents 1: GETTING STARTED 2: CONSOLE INPUT AND OUTPUT 3: FLOW OF CONTROL 4: DEFINING CLASSES I 5: DEFINING CLASSES II 6: ARRAYS 7: INHERITANCE 8 POLYMORPHISM AND ABSTRACT CLASSES 9: EXCEPTION HANDLING 10: FILE I/O 11: RECURSION 12: UML AND PATTERNS 13: INTERFACES AND INNER CLASSES 14: GENERICS AND THE ArrayList CLASS 15: LINKED DATA STRUCTURES 16: COLLECTIONS, MAPS AND ITERATORS 17: SWING I 18: SWING II 19: JAVA NEVER ENDS 20: APPLETS AND HTML Appendix 1 KEYWORDS Appendix 2 PRECEDENCE AND ASSOCIATIVITY RULES Appendix 3 ASCII CHARACTER SET Appendix 4 FORMAT SPECIFICATIONS FOR printf Appendix 5 SUMMARY OF CLASSES AND INTERFACES INDEX

    1 in stock

    £71.99

  • Building Java Programs A Back to Basics Approach

    Pearson Education Limited Building Java Programs A Back to Basics Approach

    2 in stock

    Book SynopsisFor courses in Java Programming Layered, Back-to-Basics Approach to Java Programming This edition of Building Java Programs: A Back to Basics Approach uses a layered strategy to introduce Java programming and overcome the high failure rates that are common in introductory computer science courses. The authors' proven and class-tested back to basics approach introduces programming fundamentals first, with new syntax and concepts added over multiple chapters. Object-oriented programming is discussed only once students have developed a basic understanding of Java programming. Previous editions have established the text's reputation as an excellent choice for two-course sequences in introductory computer science, and new material in the 4th Edition incorporates concepts related to Java 8, functional programming, and image manipulation.Table of Contents 1. Introduction to Java Programming 2. Primitive Data and Definite Loops 3. Introduction to Parameters and Objects 4. Conditional Execution 5. Program Logic and Indefinite Loops 6. File Processing 7. Arrays 8. Classes 9. Inheritance and Interfaces 10. ArrayLists 11 Java Collections Framework 12. Recursion 13. Searching and Sorting 14. Stacks and Queues 15. Implementing a Collection Class 16. Linked Lists 17. Binary Trees 18. Advanced Data Structures 19. Functional Programming with Java Appendix A Java Summary Appendix B The Java API Specification and Javadoc Comments Appendix C Additional Java Syntax

    2 in stock

    £67.99

  • Introduction to Java Programming Brief Version

    Pearson Education Introduction to Java Programming Brief Version

    1 in stock

    Book SynopsisTable of Contents1. Introduction to Computers, Programs, and Java 2. Elementary Programming 3. Selections 4. Mathematical Functions, Characters, and Strings 5. Loops 6. Methods 7. Single-Dimensional Arrays 8. Multidimensional Arrays 9. Objects and Classes 10. Object-Oriented Thinking 11. Inheritance and Polymorphism 12. Exception Handling and Text I/O 13. Abstract Classes and Interfaces 14. JavaFX Basics 15. Event-Driven Programming and Animations 16. JavaFX UI Controls and Multimedia 17. Binary I/O 18. Recursion Appendixes Appendix A Java Keywords Appendix B The ASCII Character Set Appendix C Operator Precedence Chart Appendix D Java Modifiers Appendix E Special Floating-Point Values Appendix F Number Systems Appendix G Bitwise Operations Appendix H Regular Expressions Appendix I Enumerated Types

    1 in stock

    £68.79

  • Starting Out with C from Control Structures

    Pearson Education Limited Starting Out with C from Control Structures

    15 in stock

    Book SynopsisTable of Contents 1. Introduction to Computers and Programming 2. Introduction to C++ 3. Expressions and Interactivity 4. Making Decisions 5. Loops and Files 6. Functions 7. Arrays and Vectors 8. Searching and Sorting Arrays 9. Pointers 10. Characters, C-Strings, and More about the string Class 11. Structured Data 12. Advanced File Operations 13. Introduction to Classes 14. More about Classes 15. Inheritance, Polymorphism, and Virtual Functions 16. Exceptions and Templates 17. The Standard Template Library 18. Linked Lists 19. Stacks and Queues 20. Recursion 21. Binary Trees Appendix A: The ASCII Character Set Appendix B: Operator Precedence and Associativity Quick References

    15 in stock

    £67.44

  • Java How to Program Late Objects Global Edition

    Pearson Education Limited Java How to Program Late Objects Global Edition

    7 in stock

    Book SynopsisTable of Contents1. Introduction to Computers, the Internet and Java 2. Introduction to Java Applications; Input/Output and Operators 3. Control Statements: Part 1; Assignment, ++ and -- Operators 4. Control Statements: Part 2; Logical Operators 5. Methods 6. Arrays and ArrayLists 7. Introduction to Classes and Objects 8. Classes and Objects: A Deeper Look 9. Object-Oriented Programming: Inheritance 10. Object-Oriented Programming: Polymorphism and Interfaces 11. Exception Handling: A Deeper Look 12. JavaFX Graphical User Interfaces: Part 1 13. JavaFX GUI: Part 2 14. Strings, Characters, and Regular Expressions 15. Files, Input/Output Streams, NIO and XML Serialization 16. Generic Collections 17. Lambdas and Streams 18. Recursion 19. Searching, Sorting and Big O 20. Generic Classes and Methods: A Deeper Look 21. Custom Generic Data Structures 22. JavaFX Graphics and Multimedia 23. Concurrency 24. Accessing Databases with JDBC 25. Introduction to JShell: Java 9’s REPL Chapters on the Web A. Operator Precedence Chart B. ASCII Character Set C. Keywords and Reserved Words D. Primitive Types E. Using the Debugger Appendices on the Web Index Online Chapters and Appendices 26. Swing GUI Components: Part 1 27. Graphics and Java 2D 28. Networking 29. Java Persistence API (JPA) 30. JavaServer™ Faces Web Apps: Part 1 31. JavaServer™ Faces Web Apps: Part 2 32. REST-Based Web Services 33. (Optional) ATM Case Study, Part 1: Object-Oriented Design with the UML 34. (Optional) ATM Case Study, Part 2: Implementing an Object-Oriented Design 35. Swing GUI Components: Part 2 36. Java Module System and Other Java 9 Features F. Using the Java API Documentation G. Creating Documentation with javadoc H. Unicode® I. Formatted Output J. Number Systems K. Bit Manipulation L. Labeled break and continue Statements M. UML 2: Additional Diagram Types N. Design Patterns

    7 in stock

    £62.69

  • C How to Program With Case Studies in

    Pearson Education Limited C How to Program With Case Studies in

    4 in stock

    Book SynopsisTable of ContentsPART 1: (Introductory) Programming Fundamentals Quickstart Introduction to Computers and C: Test-Driving Microsoft Visual Studio, Apple Xcode, GNU gcc, and GNU gcc in a Docker container Intro to C Programming: Input, Output, Types, Arithmetic, Decision Making Structured Program Development: Algorithmic Development, Problem Solving, if, if/else, while Program Control: for, do/while, switch, break, continue, Logical Operators Functions: Custom Functions, Simulation, Random-Number Generation, Enumerations, Function Call and Return Mechanism, Recursion, Recursive Factorial, Recursive Fibonacci PART 2: (Intermediate) Arrays, Pointers, and Strings Arrays: One- and Two-Dimensional Arrays, Passing Arrays to Functions, Searching, Sorting Pointers: Pointers operators & and •, Pass-By-Value vs. Pass-By-Reference, Array and Pointer Relationship Characters and Strings: C Standard Library String- and Character-Processing Functions PART 3: (Intermediate) Formatted Input/Output, Structures, and File Processing Formatted Input/Output: scanf and printf formatting Structures, Unions, Bit Manipulation and Enumerations: Creating Custom Types with structs and unions, Bitwise Operators, Named Constants File Processing: Streams, Text and Binary Files, CSV Files, Sequential and Random-Access Files PART 4: (Advanced) Algorithms and Data Structures Data Structures: Dynamic Memory Allocation and Deallocation, Lists, Stacks, Queues, Binary Trees Computer-Science Thinking: Sorting Algorithms and Big O Insertion Sort, Selection Sort, Merge Sort, Additional Algorithms including Quicksort in the Exercises PART 5: (Advanced) Preprocessor and Other Topics Preprocessor: #include, Conditional Compilation, Macros with Arguments, Assertions Other Topics: Variable-Length Argument Lists, Command-line Arguments, Multiple-Source-Pile Programs, extern, exit/atexit, calloc/realloc, goto, Numeric Literal Suffixes, Signal Handling Appendices Operator Precedence Chart ASCII Character Set Numerical Integration Number Systems Multithreading/Multicore and other C18/C11/C99 Topics Intro to Object-Oriented Programming Concepts Online Appendices F-H. Using the Visual Studio Debugger, Using the GNU gdb Debugger, and Using the Xcode Debugger Case Studies System Programming Case Studies Systems Software: Building Your Own Computer Systems Software: Building Your Own Compiler Embedded Systems Programming: Robotics with the Webots Simulator Performance with Multithreading and Multicore Systems Applications Programming Case Studies Random-Number Simulation: Building a Casino Game Random-Number Simulation: Card Shuffling and Dealing Random-Number Simulation: The Tortoise and the Hare Race Intro to Data Science: Survey Data Analysis Direct-Access File Processing: Transaction-Processing System Visualizing a Sorting Algorithm: Merge Sort Artificial Intelligence/Data Science: NLP: Who Wrote Shakespeare's Works? Artificial Intelligence/Data Science: Machine Learning with the GNU Scientific Library Game Programming: SpotOn Game with the raylib Library Game Programming: Cannon Game with the raylib Library Security and Cryptography: Implementing a Vigenère Cipher Visualization with gnuplot: Law of Large Numbers Animation Web Services and the Cloud: libcurl and OpenWeatherMap

    4 in stock

    £66.49

  • Professional C

    John Wiley & Sons Inc Professional C

    1 in stock

    Book SynopsisTable of ContentsIntroduction xli Part I: Introduction to Professional C++ Chapter 1: a Crash Course in C++ and the Standard Library 3 Chapter 2: Working with Strings and String Views 87 Chapter 3: Coding with Style 119 Part II: Professional C++ Software Design Chapter 4: Designing Professional C++ Programs 145 Chapter 5: Designing with Classes 177 Chapter 6: Designing for Reuse 197 Part III: C++ Coding the Professional Way Chapter 7: Memory Management 221 Chapter 8: Gaining Proficiency with Classes and Objects 259 Chapter 9: Mastering Classes and Objects 295 Chapter 10: Discovering Inheritance Techniques 357 Chapter 11: Modules, Header Files, and Miscellaneous Topics 421 Chapter 12: Writing Generic Code with Templates 451 Chapter 13: Demystifying C++ I/o 501 Chapter 14: Handling Errors 533 Chapter 15: Overloading C++ Operators 577 Chapter 16: Overview of the C++ Standard Library 619 Chapter 17: Understanding Iterators and The Ranges Library 653 Chapter 18: Standard Library Containers 683 Chapter 19: Function Pointers, Function Objects, and Lambda Expressions 761 Chapter 20: Mastering Standard Library Algorithms 791 Chapter 21: String Localization and Regular Expressions 831 Chapter 22: Date and Time Utilities 861 Chapter 23: Random Number Facilities 879 Chapter 24: Additional Vocabulary Types 891 Part IV: Mastering Advanced Features of C++ Chapter 25: Customizing and Extending the Standard Library 909 Chapter 26: Advanced Templates 945 Chapter 27: Multithreaded Programming with C++ 985 Part V: C++ Software Engineering Chapter 28: Maximizing Software Engineering Methods 1043 Chapter 29: Writing Efficient C++ 1065 Chapter 30: Becoming Adept at Testing 1093 Chapter 31: Conquering Debugging 1117 Chapter 32: Incorporating Design Techniques And Frameworks 1155 Chapter 33: Applying Design Patterns 1179 Chapter 34: Developing Cross- Platform and Cross- Language Applications 1211 Part VI: Appendices Appendix A: C++ Interviews 1239 Appendix B: Annotated Bibliography 1265 Appendix C: Standard Library Header Files 1277 Appendix D: Introduction to Uml 1287 Index 1293

    1 in stock

    £52.25

  • Barcharts, Inc C Standard Library

    15 in stock

    Book Synopsis

    15 in stock

    £7.55

  • Pro Bash Programming

    Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Pro Bash Programming

    15 in stock

    Book SynopsisThe bash shell is a complete programming language, not merely a glue to combine external Linux commands. By taking full advantage of shell internals, shell programs can perform as snappily as utilities written in C or other compiled languages. And you will see how, without assuming Unix lore, you can write professional bash 4.0 programs through standard programming techniques. Complete bash coverage Teaches bash as a programming language Helps you master bash 4.0 features Table of Contents Hello, World! Your First Shell Program Input, Output, and Throughput Looping and Branching Command-Line Parsing and Expansion Parameters and Variables Shell Functions String Manipulation File Operations and Commands Reserved Words and Builtin Commands Writing Bug-Free Scripts and Debugging the Rest Programming for the Command Line Runtime Configuration Data Processing Scripting the Screen Entry-Level Programming

    15 in stock

    £41.24

  • A Guide to Artificial Intelligence with Visual PROLOG

    15 in stock

    £19.76

  • Macro Cookbook for Microsoft Word

    Editorium Macro Cookbook for Microsoft Word

    15 in stock

    15 in stock

    £9.09

  • Oracle Embedded Programming and Application

    Taylor & Francis Inc Oracle Embedded Programming and Application

    1 in stock

    Book SynopsisFocusing on tried and true best practice techniques in cross-technology based Oracle embedded programming, this book provides authoritative guidance for improving your code compilation and execution. Geared towards IT professionals developing Oracle-based Web-enabled applications in PL/SQL, Java, C, C++, .NET, Perl, and PHP, it covers application development from concepts to customization, following a pragmatic approach to design, coding, testing, deployment, and customizationexplaining how to maximize embedded programming practices.Oracle Embedded Programming and Application Development explains application development frameworks using 3GL and 4GL high-level language code as embedded code segments across .NET, Java, and Open Source technologies, in conjunction with SQL and/or PL/SQL and the Oracle RDBMS through version 11gR2. It also: Features pluggable code using parameterized constructs to promote code reuse Explains when to use a partiTrade ReviewTaking an Oracle-centric approach, Lakshman skillfully guides you through the maze of various popular programming languages and environments including .NET, C/C++, Perl, PHP, Java, and even SQL and PL/SQL – not only showing you how they interact with Oracle but also which language is the best fit for a given situation.—John Kanagaraj, Executive Editor, IOUG SELECT Journal Table of ContentsIntroductory Concepts. Embedded Programming—An Oracle-Centric Approach. Feature-Set and Solution-Set Enhancements. Best Practices by way of Design and Development. Programming Languages, Platforms, and Solutions: Best Practices in Terms of Choice and Suitability—How Best Is the "Best"?. Best Practices for Data Structure Management. Best Practices for Robust Error Detection and Handling. Best Practices for Data Management. Best Practices for Application Management. Applying Embedded Programming in the Real World. Application Development Frameworks. Miscellaneous Best Practices. Best Practices in terms of Coding Standards and Troubleshooting.

    1 in stock

    £180.50

  • Python Programming Fundamentals Undergraduate

    Springer London Python Programming Fundamentals Undergraduate

    3 in stock

    Book Synopsishighlights the patterns which frequently appear when writing programs, reinforcing the application of these patterns for problem-solving through practice exercises; introduces the use of a debugger tool to inspect a program, enabling students to discover for themselves how programs work and enhance their understanding;Trade Review“The book emphasizes hands-on learning, which makes sense when learning programming. An undergraduate student that has a computer with a Python integrated development environment (IDE) and this book can learn a lot and do some interesting projects. The book is also suitable for high school students interested in programming assignments and projects. A highly readable and compact book, students and beginning programmers will like it.” (Naga Narayanaswamy, Computing Reviews, September, 2015)“The introduction is well written and enables you to configure the WingIDE within minutes and start using the book. At the end of each chapter, there are programming tasks, most of which are resolved quite well a few pages after. This is a big plus. … if you have passion for easy-to-install scripting languages and you are interested in Python – the book is quite OK for a start!” (Vitosh, Vitosh Academy, vitoshacademy.com, February, 2015)Table of ContentsIntroduction.- Decision Making.- Repetitive Tasks.- Using Objects.- Defining Functions.- Event-Driven Programming.- Defining Classes.- Appendix A: Integer Operators.- Appendix B: Float Operators.- Appendix C: String Operators and Methods.- Appendix D: List Operators and Methods.- Appendix E: Dictionary Operators and Methods.- Appendix F: Turtle Methods.- Appendix G: TurtleScreen Methods.- Appendix H: The Reminder! Program.- Appendix I: The Bouncing Ball Program.

    3 in stock

    £34.19

  • Regular Expressions Cookbook

    O'Reilly Media Regular Expressions Cookbook

    1 in stock

    Book SynopsisTake the guesswork out using regular expressions to search and manipulate text. With this updated cookbook, you'll learn powerful new tricks, steer clear of flavor-specific gotchas, and save valuable time with this huge library of solutions to difficult, real-world problems.

    1 in stock

    £38.39

  • Understanding and Using C Pointers

    O'Reilly Media Understanding and Using C Pointers

    1 in stock

    Book SynopsisImprove your programming through a solid understanding of C pointers and memory management. With this practical book, you'll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware.

    1 in stock

    £25.59

  • VI and VIM Editors Pocket Reference

    O'Reilly Media VI and VIM Editors Pocket Reference

    1 in stock

    Book Synopsisvi and Vim are immensely powerful tools for anyone working with Unix, Linux, or Mac OS X, but there are far too many commands for anyone to remember. This handy little book puts all of the essential information about vi and Vim at your fingertips, in a format that makes browsing easy.

    1 in stock

    £16.99

  • Devocional El Campo de Batalla de la Mente

    Little, Brown & Company Devocional El Campo de Batalla de la Mente

    10 in stock

    Book Synopsis

    10 in stock

    £16.15

  • Basic IBM Mainframe Assembly Language Programming Volume 1

    Createspace Independent Publishing Platform Basic IBM Mainframe Assembly Language Programming Volume 1

    15 in stock

    15 in stock

    £13.64

  • Beginners StepbyStep Coding Course

    10 in stock

    £27.00

  • Data Structures and Algorithms Made Easy Data Structure and Algorithmic Puzzles Second Edition

    15 in stock

    £26.77

  • Processing

    Taylor & Francis Inc Processing

    1 in stock

    Book SynopsisThis book demonstrates how Processing is an excellent language for beginners to learn the fundamentals of computer programming. Originally designed to make it simpler for digital artists to learn to program, Processing is a wonderful first language for anyone to learn. Given its origins, Processing enables a multimodal approach to programming instruction, well suited to students with interests in computer science or in the arts and humanities. The book uses Processing's capabilities for graphics and interactivity in order to create examples that are simple, illustrative, interesting, and fun. It is designed to appeal to a broad range of readers, including those who want to learn to program to create digital art, as well as those who seek to learn to program to process numerical information or data. It can be used by students and instructors in a first course on programming, as well as by anyone eager to teach them self to program.FollowinTrade Review"[This] new book directly targets the CS classroom in a way that no other Processing book does….[The authors] present a much less reactionary approach integrating many of the wonderful things about Processing with traditional approaches that have worked well in CS pedagogy. Not only is their approach sensible and efficient, it’s also likely to offer greater comfort to existing CS instructors (who perhaps don’t have degrees in theater or painting.) It is this effort of considerate integration-of the old tried and true and new and improved-that I believe has the greatest chance of tipping the balance for Processing’s use in the computing classroom."--Ira Greenberg, Southern Methodist University, Dallas, Texas, USATable of ContentsForewordPreface: Why We Wrote This Book and For Whom It Is Written AcknowledgmentsIntroduction: Welcome to Computer ProgrammingChapter 1 Basic Drawing in ProcessingChapter 2 Types, Expressions, and VariablesChapter 3 More about Using Processing’ s Built-In FunctionsChapter 4 Conditional Programming with ifChapter 5 Repetition with a Loop: The while StatementChapter 6 Creating Counting Loops Using the for StatementChapter 7 Creating void FunctionsChapter 8 Creating Functions That Return a ValueChapter 9 ArraysChapter 10 Introduction to ObjectsINDEX

    1 in stock

    £56.99

  • Sudoku Programming with C

    Apress Sudoku Programming with C

    15 in stock

    Book SynopsisSudoku Programming with C teaches you how to write computer programs to solve and generate Sudoku puzzles. However, the author wanted to include a solving program capable of listing the strategies necessary to solve any particular puzzle.Table of Contents1. Modelling a Sudoku Puzzle in C2. The Strategies3. Main Program and Utilities4. Implementing 'unique'5. Implementing 'naked' Strategies6. Implementing 'hidden' Strategies7. Implementing 'box-line'8. Implementing 'pointing-line'9. Implementing 'lines' Strategies10. Implementing 'Y-wing'11. Implementing 'XY-chain'12. Implementing 'rectangle'13. Implementing 'backtrack'14. Solving Thousands of Puzzles15. Generating Sudokus16. Puzzle Statistics17. Puzzles18. Samurai SudokusA. Eclipse CDTB. Puzzle SolutionsC. Abbreviations and AcronymsD. Strategy Index

    15 in stock

    £44.99

  • Introducing Ethereum and Solidity

    APress Introducing Ethereum and Solidity

    1 in stock

    Book Synopsis Learn how to use Solidity and the Ethereum project - second only to Bitcoin in market capitalization. Blockchain protocols are taking the world by storm, and the Ethereum project, with its Turing-complete scripting language Solidity, has rapidly become a front-runner. This book presents the blockchain phenomenon in context; then situates Ethereum in a world pioneered by Bitcoin. See why professionals and non-professionals alike are honing their skills in smart contract patterns and distributed application development. You''ll review the fundamentals of programming and networking, alongside its introduction to the new discipline of crypto-economics. You''ll then deploy smart contracts of your own, and learn how they can serve as a back-end for JavaScript and HTML applications on the Web.Many Solidity tutorials out there today have the same flaw: they are written for advanced JavaScript developers who want to transfer their skills to a blockchain enviroTable of Contents1. Bridging the Blockchain Knowledge Gap 2. The Mist Browser 3. The EVM 4. Solidity Programming 5. Smart Contacts and Tokens 6. Mining Ether 7. Cryptoeconomics Survey 8. Dapp Deployment9. Creating Private Chains 10. Use Cases 11. Advanced Concepts

    1 in stock

    £49.49

  • MATLAB Deep Learning

    APress MATLAB Deep Learning

    1 in stock

    Book SynopsisGet started with MATLAB for deep learning and AI with this in-depth primer. In this book, you start with machine learning fundamentals, then move on to neural networks, deep learning, and then convolutional neural networks. In a blend of fundamentals and applications, MATLAB Deep Learning employs MATLAB as the underlying programming language and tool for the examples and case studies in this book.  With this book, you''ll be able to tackle some of today''s real world big data, smart bots, and other complex data problems. You''ll see how deep learning is a complex and more intelligent aspect of machine learning for modern smart data analysis and usage.What You''ll Learn Use MATLAB for deep learning Discover neural networks and multi-layer neural networks Work with convolution and pooling layers Build a MNIST example with these layers WhoTable of Contents1. Machine Learning2. Neural Network3. Training of Multi-Layer Neural Network4. Neural Network and Classification5. Deep Learning6. Convolutional Neural Network

    1 in stock

    £49.49

  • Introduction to Python for Engineers and

    Apress Introduction to Python for Engineers and

    2 in stock

    Book Synopsis1. Philosophy of Python.- 2. Introduction to the Basics of Python.- 3. Ipython.- 4. Data Types.- 5. Operators.- 6. Arrays.- 7. Plotting.- 8. Functions and Loops.- 9. Object-Oriented Programming.- 10. Numerical Computing Formalism.Table of Contents1. Philosophy of Python2. Introduction to the Basics of Python3. Ipython4. Data Types5. Operators6. Arrays7. Plotting8. Functions and Loops9. Object-Oriented Programming10. Numerical Computing Formalism

    2 in stock

    £44.99

  • Practical Machine Learning with Python

    Apress Practical Machine Learning with Python

    1 in stock

    Table of ContentsPART I – Understanding Machine LearningChapter 1: Machine Learning BasicsChapter Goal: This chapter familiarizes and acquaints readers with the basics of machine learning, industry standard workflows followed for machine learning processes and expands on the different types of machine learning and deep learning algorithmsNo of pages: 50-60 Sub -Topics1. Brief on machine learning, definitions and concepts2. Industry standard for data mining processes – CRISP – DM and adoption in ML3. Brief on data processing, visualization, feature extraction\engineering concepts4. Types of learning algorithms – supervised, unsupervised, reinforcement learning5. Advanced models – time series, deep learning6. Model building and validation concepts7. Applications of machine learningChapter 2: The Python Machine Learning EcosystemChapter Goal: This chapter introduces readers to the python language and the entire ecosystem built around machine learning with python tools, frameworks and libraries. Overview and code samples are given for each tool to depict its usage and effectivenessNo of pages: 50 - 60Sub - Topics 1. Brief on Python 2. Why is Python effective for machine learning and data science3. Brief overview on the python ecosystem followed by data scientists (includes anaconda distribution) 4. Reproducible research with ipython5. Data processing and computing with pandas, numpy, scipy6. Statistical learning with statsmodels7. ML frameworks – scikit-learn, pyml etc8. NLP frameworks – nltk, pattern, spacy9. DL frameworks – theano, tensorflow, kerasPART II – The Machine Learning PipelineChapter 3: Processing, wrangling and visualizing data&Sub - Topics: 1. Data Retrieval mechanisms (crawling, databases, APIs etc)2. Data processing (handling various forms of data – SQL, JSON, XML, Images)3. Data attributes and features (numeric, categorical etc)4. Data Wrangling (cleaning, handling missing values, normalizing data)5. Data Summarization6. Data Visualization (bar, histogram, boxplot, line, scatter etc)Chapter 4: Feature Engineering and SelectionChapter Goal: This chapter focuses on the next stage in the ML pipeline, feature extraction, engineering and selection. Readers will learn about both basic and advanced feature engineering methods for different data formats including numeric, text and images. We will also focus on methods for effective feature selectionNo of pages: 50 - 60Sub - Topics: 1. Features – understanding yourv>2. Basic Feature engineering3. Extracting features from numeric, categorical variables4. Extracting features from date\timestamp variables5. Extracting Basic features from textual data (bag of words)6. Advanced Feature engineering7. Extracting complex features from textual data (word vectorization, tfidf, topic models)8. Extracting features from images (pixels, edge detection, shapes)9. Time series features10. Feature scaling and standardization11 Feature selection techniques12 Using forward\backward selection techniques13 Using machine learning models like random forests14 Other methodsChapter 5: Building, tuning and deploying modelsChapter Goal: This chapter focuses on the final stage in the ML pipeline where readers will learn how to fit and build models on data features, how to optimize and tune models and f learn ways of deploying models to use them in real-world scenarios for predictions\insightsNo of pages : 50-60Sub – Topics: 1. Fitting and building models 2. Model evaluation techniques3. Model optimization methods like gradient descent4. Model tuning methodologies like cross validation, grid search5. How to save and load models6. Deploying models in actionPART III – Real-world case studies in applied machine learningChapter 6: Analyzing bike sharing trendsChapter Goal: This chapter will focus on a real-world case study of analyzing and predicting bike sharing trends with a focus on regression modelsNo of pages : 30-40Sub – Topics: 1. Trend analysis2. Regression models3. Predictive analyticsChapter 7: Analyzing movie reviews sentimentChapter Goal: This chapter will focus on a real-world case study of analyzing sentiment for popular movie reviews using concepts and techniques from natural language processing, text analytics and classificationNo of pages : 30-40Sub – Topics: 1. Text Classification2. Natural language processing3. Sentiment analysis4. Comparing models and different featuresChapter 8: Customer segmentation and effective cross sellingChapter Goal: This chapter will focus on a real-world case study of leveraging unsupervised learning and pattern recognition for solving problems in the retail industry like customer segmentation, cross selling and so onNo of pages : 30-40Sub – Topics: 1. Clustering techniques2. Customer segmentation3. Pattern recognition and association rule mining4. Analyze potential product assoelling trendsChapter 9: Social network analysis – A Facebook case-studyChapter Goal: This chapter will focus on analyzing data from a popular social network – Facebook and acquaint readers to concepts from social network analysis and graph theoryNo of pages : 30-40Sub – Topics: 1. Social network analysis2. Data retrieval and analysis from Facebook3. Concepts from graph theory applied in real-world data4. Useful visualizations from facebook dataChapter 10: Analyzing music trends and recommentationsChapter Goal: This chapter will focus on a real-world case study of analyzing music trends and also providing music recommendations to users using concepts from recommender systems like collaborative filteringNo of pages : 40 - 50Sub – Topics: 1. Recommender systems2. Techniques – collaborative fv>iv>3. Analyzing tresights from music dataiv>4. Music\song recommendations in actionChapter 11: Forecasting stock and commodity pricesChapter Goal: This chapter will focus on a real-world case study of trying to forecast stock and commodity price trends based on market data and using advanced models like time series models and deep learning models like RNNsNo of pages : 40 - 50Sub – Topics: 1. Trend analysis2. Time series forecasting – ARIMA\EWMA models3. Deep learning based forecasting – RNN\LSTM models4. Regression\MC models if neededChapter 12: Image similarity, classification and generationChapter Goal: This chapter will focus on trying to analyze a real-world image dataset and look at methods for image similarity, build image classifiers and generate images using innovative techniqueen advanced deep learning modelsNo of pages : 50Sudiv>b – Topics: ;iv>1. Image processing, similarity analysis2. Basic models – simple classification, dynamic time warping3. Image classification with deep learning models – CNNs, MLPs4. Image generation using generative adversial networks in deep learning (GANs) – if time\scope permits

    1 in stock

    £58.49

  • Reinforcement Learning

    APress Reinforcement Learning

    1 in stock

    Book Synopsis Master reinforcement learning, a popular area of machine learning, starting with the basics: discover how agents and the environment evolve and then gain a clear picture of how they are inter-related. You''ll then work with theories related to reinforcement learning and see the concepts that build up the reinforcement learning process.  Reinforcement Learning discusses algorithm implementations important for reinforcement learning, including Markov''s Decision process and Semi Markov Decision process. The next section shows you how to get started with Open AI  before looking at Open AI Gym. You''ll then learn about Swarm Intelligence with Python in terms of reinforcement learning.  The last part of the book starts with the TensorFlow environment and gives an outline of how reinforcement learning can be applied to TensorFlow. There''s also coverage of Keras, a framework that can be used with reinforTable of ContentsChapter 1: Reinforcement Learning basicsChapter Goal: This chapter covers the basics needed for AI,ML and Deep Learning.Relation between them and differences.No of pages 30Sub -Topics1. Reinforcement Learning2. The flow3. Faces of Reinforcement Learning4. 5. Environments6. The depiction of inter relation between Agents and EnvironmentDeep LearningChapter 2: Theory and AlgorithmsChapter Goal :This Chapter covers the theory of Reinforcement Learning and Algorithms.No of pages : 60Sub-topics1 . Problem scenarios in Reinforcement Learningins2. Markov Decision process3. SARSA4.Q learning5.Value Functions6.Dynamic Programming and Policies7.Approaches to RLChapter 3: Open AI basicsChapter Goal: In this chapter we will cover the basics of Open AI gym and universe andthen move forward for installing it.No of pages: 40Sub - Topics:1. What are Open AI environments2. Installation of Open AI Gym and Universe in Ubuntu3. Difference between Open AI Gym and UniverseChapter 4: Getting to know Open AI and Open AI gym the developers wayChapter Goal: We will use Python to start the programming and cover topics accordinglyNo of pages: 60Sub - Topics: 1. Open AI,Open AI Gym and python2. Setting up the environment3. Examples4 Swarm Intelligence using python5.Markov Decision process toolbox for Python6.Implementing a Game AI with Reinforcement LearningChapter 5: Reinforcement learning using Tensor Flow environment and KerasChapter Goal: We cover Reinforcement Learning in terms of Tensorflow and KerasNo of pages: 40Sub - Topics: 1. Tensorflow and Reinforcement Learning2. Q learning with Tensor Flow3. Keras4. Keras and Reinforcement LearningChapter 6 Google’s DeepMind and the future of Reinforcement LearningChapter Goal: We cover the descriptions of the above the content.No of pages: 25Sub - Topics: 1. Google’s Deep Mind2. Future of Reinforcement Learning 3. Man VS Machines where is it Heading to.

    1 in stock

    £49.49

  • Learn Raspberry Pi Programming with Python

    APress Learn Raspberry Pi Programming with Python

    3 in stock

    Book SynopsisLearn how to program your nifty new $35 computer to make a web spider, a weather station, a media server, and more. This book explores how to make a variety of fun and even useful projects, from a web bot to search and download files to a toy to drive your pets insane. Even if you''re completely new to programming in general, you''ll see how easy it is to create a home security system, an underwater photography system, an RC plane with a camera, and even a near-space weather balloon with a camera.  You''ll learn how to use Pi with Arduino as well as Pi with Gertboard, an expansion board with an onboard ATmega microcontroller. Learn Raspberry Pi Programming with Python has been fully updated in this new edition to cover the features of the new boards. You''ll learn how to program in Python on your Raspberry Pi with hands-on examples and fun projects.  What You''ll Learn Set up your new Raspberry Pi<Trade Review“Donat (independent scholar) provides a volume that is about equally divided between background material (Python, Circuits, the Raspberry Pi) and a set of stimulating ‘maker’ projects that combine coding, circuit-building, and mechanical construction. The writing style is casual but clear. … the determined hobbyist with sufficient experience will find the background material useful and the projects challenging, stimulating, and rewarding, and the book likewise serves as a useful resource for libraries hosting makerspaces.” (C. Vickery, Choice, Vol. 56 (6), February, 2019)Table of ContentsLearn Raspberry Pi Programming with Python · Chapter 1: Introduction to the Raspberry Pi · Chapter 2: Linux by the Seat of Your Pants · Chapter 3: Introduction to Python · Chapter 4: Electronics at 100 MPF · Chapter 5: The Web bot · Chapter 6: The Weather Station · Chapter 7: The Media Server · Chapter 8: The Home Security System · Chapter 9: The Cat Toy · Chapter 10: The Radio-controlled Airplane · Chapter 11: The Weather Balloon · Chapter 12: The Submersible · Chapter 13: The Raspberry Pi and the Arduino ·

    3 in stock

    £42.49

  • Complete Guide to Test Automation

    APress Complete Guide to Test Automation

    1 in stock

    Book SynopsisRely on this robust and thorough guide to build and maintain successful test automation. As the software industry shifts from traditional waterfall paradigms into more agile ones, test automation becomes a highly important tool that allows your development teams to deliver software at an ever-increasing pace without compromising quality. Even though it may seem trivial to automate the repetitive tester''s work, using test automation efficiently and properly is not trivial. Many test automation endeavors end up in the graveyard of software projects. There are many things that affect the value of test automation, and also its costs. This book aims to cover all of these aspects in great detail so you can make decisions to create the best test automation solution that will not only help your test automation project to succeed, but also allow the entire software project to thrive.One of the most important details that affects the success of the test automation is Table of Contents Part 1: The “Why” and the “What”.- Chapter 1: The Value of Test Automation.- Chapter 2: From Manual to Automated Testing.- Chapter 3: People and Tools.- Chapter 4: Reaching Full Coverage.- Chapter 5: Business Processes.- Chapter 6: Test Automation and Architecture.- Chapter 7: Isolation and Test Environments.- Chapter 8: The Big Picture.- Part 2: The “How”.- Chapter 9: Preparing for the Tutorial.- Chapter 10: Designing the First Test Case.- Chapter 11: Start Coding the First Test.- Chapter 12: Completing the First Test.- Chapter 13: Investigating Failure.- Chapter 14: Adding More Tests.- Chapter 15: Continuous Integration.- Chapter 16: Acceptance Test Driven Development.- Chapter 17: Unit tests and TDD.- Chapter 18: Other Types of Automated Tests.- Chapter 19: Where to Go from Here.- Appendix A: Real-World Examples.- Appendix B: Cleanup Mechanism.- Appendix C: Test Automation Essentials.- Appendix D: Tips and Practices for Programmer’s Productivity.-

    1 in stock

    £46.74

  • Practical Machine Learning and Image Processing

    APress Practical Machine Learning and Image Processing

    1 in stock

    Book Synopsis Gain insights into image-processing methodologies and algorithms, using machine learning and neural networks in Python. This book begins with the environment setup, understanding basic image-processing terminology, and exploring Python concepts that will be useful for implementing the algorithms discussed in the book. You will then cover all the core image processing algorithms in detail before moving onto the biggest computer vision library: OpenCV. You''ll see the OpenCV algorithms and how to use them for image processing.  The next section looks at advanced machine learning and deep learning methods for image processing and classification. You''ll work with concepts such as pulse coupled neural networks, AdaBoost, XG boost, and convolutional neural networks for image-specific applications. Later you''ll explore how models are made in real time and then deployed using various DevOps tools.  All the concepTable of ContentsChapter 1: Installation and Environment Setup Chapter Goal: Making System Ready for Image Processing and Analysis No of pages 20 Sub -Topics (Top 2) 1. Installing Jupyter Notebook 2. Installing OpenCV and other Image Analysis dependencies 3. Installing Neural Network Dependencies Chapter 2: Introduction to Python and Image Processing Chapter Goal: Introduction to different concepts of Python and Image processing Application on it. No of pages: 50 Sub - Topics (Top 2) 1. Essentials of Python 2. Terminologies related to Image Analysis Chapter 3: Advanced Image Processing using OpenCV Chapter Goal: Understanding Algorithms and their applications using Python No of pages: 100 Sub - Topics (Top 2): 1. Operations on Images 2. Image Transformations Chapter 4: Machine Learning Approaches in Image Processing Chapter Goal: Basic Implementation of Machine and Deep Learning Models, which takes care of Image Processing, before applications in real-time scenario No of pages: 100 Sub - Topics (Top 2): 1. Image Classification and Segmentation 2. Applying Supervised and Unsupervised Learning approaches on Images using Python Chapter 5: Real Time Use Cases Chapter Goal: Working on 5 projects using Python, applying all the concepts learned in this book No of pages: 100 Sub - Topics (Top 5): 1. Facial Detection 2. Facial Recognition 3. Hand Gesture Movement Recognition 4. Self-Driving Cars Conceptualization: Advanced Lane Finding 5. Self-Driving Cars Conceptualization: Traffic Signs Detection Chapter 6: Appendix A Chapter Goal: Advanced concepts Introduction No of pages: 50 Sub - Topics (Top 2): 1. AdaBoost and XGBoost 2. Pulse Coupled Neural Networks

    1 in stock

    £46.74

  • Learn Keras for Deep Neural Networks

    APress Learn Keras for Deep Neural Networks

    3 in stock

    Book SynopsisLearn, understand, and implement deep neural networks in a math- and programming-friendly approach using Keras and Python. The book focuses on an end-to-end approach to developing supervised learning algorithms in regression and classification with practical business-centric use-cases implemented in Keras.The overall book comprises three sections with two chapters in each section. The first section prepares you with all the necessary basics to get started in deep learning. Chapter 1 introduces you to the world of deep learning and its difference from machine learning, the choices of frameworks for deep learning, and the Keras ecosystem. You will cover a real-life business problem that can be solved by supervised learning algorithms with deep neural networks. You''ll tackle one use case for regression and another for classification leveraging popular Kaggle datasets. Later, you will see an interesting and challenging part of deep learning: hyperparameter tuning; Table of ContentsSECTION 1: Prepares the reader with all the necessary gears to get started on the fast track ride in deep learning. Chapter 1: Deep Learning & Keras Chapter Goal: Introduce the reader to the deep learning and keras framework Sub -Topics 1. Exploring the popular Deep Learning frameworks2. Overview of Keras, Pytorch, mxnet, Tensorflow, 3. A closer look at Keras: What’s special about Keras? Chapter 2: Keras in Action Chapter Goal: Help the reader to engage with hands-on exercises with Keras and implement the first basic deep neural network Sub - Topics 1. A closer look at the deep learning building blocks 2. Exploring the keras building blocks for deep learning 3. Implementing a basic deep neural network with dummy data SECTION 2 – Help the reader embrace the core fundamentals in simple lucid language while abstracting the math and the complexities of model training and validation with the least amount of code without compromising on flexibility, scale and the required sophistication Chapter 3: Deep Neural networks for Supervised Learning Chapter Goal: Embrace the core fundamentals of deep learning and its development Sub - Topics: 1. Introduction to supervised learning 2. Classification use-case – implementing DNN 3. Regression use-case – implementing DNN Chapter 4: Measuring Performance for DNN Chapter Goal: Aid the reader in understanding the craft of validating deep neural networks Sub - Topics: 1. Metrics for success – regression 2. Analyzing the regression neural network performance 3. Metrics for success – classification 4. Analyzing the regression neural network performance SECTION 3 – Tuning and deploying robust DL models Chapter 5: Hyperparameter Tuning & Model Deployment Chapter Goal: Understand how to tune the model hyperparameters to achieve improved performance Sub - Topics: 1. Hyperparameter tuning for deep learning models 2. Model deployment and transfer learning Chapter 6: The Path Forward Chapter goal – Educate the reader about additional reading for advanced topics within deep learning. Sub - Topics: 1. What’s next for deep learning expertise? 2. Further reading 3. GPU for deep learning 4. Active research areas and breakthroughs in deep learning5. Conclusion

    3 in stock

    £33.99

© 2026 Book Curl

    • American Express
    • Apple Pay
    • Diners Club
    • Discover
    • Google Pay
    • Maestro
    • Mastercard
    • PayPal
    • Shop Pay
    • Union Pay
    • Visa

    Login

    Forgot your password?

    Don't have an account yet?
    Create account