Programming and scripting languages: general Books

2620 products


  • Python for Data Analysis 3e

    O'Reilly Media Python for Data Analysis 3e

    1 in stock

    Book SynopsisUpdated for Python 3.10 and pandas 1.4, the third edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively.

    1 in stock

    £47.99

  • Test Driven Development in C: Building Hihg

    The Pragmatic Programmers Test Driven Development in C: Building Hihg

    1 in stock

    Book SynopsisDid you write C code last week? Does your code work? Is your design clean? If you answered yes to the first question but got queasy over the second two, you need to know about Test Driven Development. TDD helps you write code that works the first time, and then helps you keep it running as the code evolves to meet new needs. In Test Driven Development for Embedded C, author James W. Grenning shows embedded software developers how to bring the benefits of TDD to embedded C. In the book, you'll see how to apply TDD to C and the world of embedded software development. Learn how to break key dependencies, allowing code to be tested thoroughly. Explore how to test-drive your product's core logic, exploiting the power of your development environment to deliver better software. In fact, as the book shows, you can test-drive a device driver before you even have the device soldered into a circuit board. Avoid the natural delays when testing on the target by using the tailored TDD Microcycle, employing off-target tests and dual-targeted code. Learn how to make code testable and more flexible, better able to handle the inevitable changes demanded by the market. The tests drive development and then serve as an executable specification, keeping track of the critical details and assumptions baked into the code. In Test Driven Development for Embedded C, you'll find that TDD is a different way to program-unit tests are written in a tight feedback loop with the production code, producing testable code and greatly reducing wasteful debugging. TDD also influences design. When tests are considered part of design, you create modular and loosely coupled code, the hallmarks of a good design. With Test Driven Development for Embedded C, C developers-even embedded C developers-can finally write cleaner, testable code with TDD.

    1 in stock

    £26.59

  • Code That Fits in Your Head

    Pearson Education (US) Code That Fits in Your Head

    2 in stock

    Book SynopsisMark Seemann, a former economist, found a second career as a programmer and has worked as a web and enterprise developer since the late 1990s. He is a Certified Rockstar Developer and has written a Jolt Award-winning book about Dependency Injection, given more than a hundred international conference talks, and authored video courses for both Pluralsight and Clean Coders. Mark has regularly published his blog ( blog.ploeh.dk) since 2006.Trade Review"We progress in software by standing on the shoulders of those who came before us. Mark's vast experience ranges from philosophical and organisational considerations right down to the precise details of writing code. In this book, you're offered an opportunity to build on that experience. Use it." --Adam Ralph, speaker, tutor, and software simplifier, Particular Software "I've been reading Mark's blogs for years and he always manages to entertain while at the same time offering deep technical insights. Code That Fits in Your Head follows in that vein, offering a wealth of information to any software developer looking to take their skills to the next level." --Adam Tornhill, founder of CodeScene, author of Software Design X-Rays and Your Code as a Crime Scene "My favorite thing about this book is how it uses a single code base as a working example. Rather than having to download separate code samples, you get a single Git repository with the entire application. Its history is handcrafted to show the evolution of the code alongside the concepts being explained in the book. As you read about a particular principle or technique, you'll find a direct reference to the commit that demonstrates it in practice. Of course, you're also free to navigate the history at your own leisure, stopping at any stage to inspect, debug, or even experiment with the code. I've never seen this level of interactivity in a book before, and it brings me special joy because it takes advantage of Git's unique design in a new constructive way." --Enrico Campidoglio, independent consultant, speaker and Pluralsight author "Mark Seemann not only has decades of experience architecting and building large software systems, but is also one of the foremost thinkers on how to scale and manage the complex relationship between such systems and the teams that build them." --Mike Hadlow, freelance software consultant and blogger "Mark writes, 'Successful software endures'--this book will help you to write that kind of software." --Bryan Hogan, software architect, podcaster, blogger "Mark has an extraordinary ability to help others think deeply about the industry and profession of software development. With every interview on .NET Rocks! I have come away knowing I would have to go back and listen to my own show to really take in everything we discussed." --Richard Campbell, co-host, .NET Rocks!Table of ContentsSeries Editor Foreword xixPreface xxiiiAbout the Author xxix Part I: Acceleration 1Chapter 1: Art or Science? 3 1.1 Building a House 4 1.2 Growing a Garden 7 1.3 Towards Engineering 8 1.4 Conclusion 14 Chapter 2: Checklists 15 2.1 An Aid to Memory 15 2.2 Checklist for a New Code Base 17 2.3 Adding Checks to Existing Code Bases 29 2.4 Conclusion 32 Chapter 3: Tackling Complexity 33 3.1 Purpose 34 3.2 Why Programming Is Difficult 38 3.3 Towards Software Engineering 44 3.4 Conclusion 46 Chapter 4: Vertical Slice 49 4.1 Start with Working Software 50 4.2 Walking Skeleton 53 4.3 Outside-in 60 4.4 Complete the Slice 77 4.5 Conclusion 85 Chapter 5: Encapsulation 87 5.1 Save the Data 87 5.2 Validation 92 5.3 Protection of Invariants 105 5.4 Conclusion 108 Chapter 6: Triangulation 111 6.1 Short-Term versus Long-Term Memory 111 6.2 Capacity 114 6.3 Conclusion 127 Chapter 7: Decomposition 129 7.1 Code Rot 129 7.2 Code That Fits in Your Brain 136 7.3 Conclusion 153 Chapter 8: API Design 155 8.1 Principles of API Design 156 8.2 API Design Example 168 8.3 Conclusion 176 Chapter 9: Teamwork 177 9.1 Git 178 9.2 Collective Code Ownership 187 9.3 Conclusion 199 Part II: Sustainability 201Chapter 10: Augmenting Code 203 10.1 Feature Flags 204 10.2 The Strangler Pattern 209 10.3 Versioning 218 10.4 Conclusion 220 Chapter 11: Editing Unit Tests 223 11.1 Refactoring Unit Tests 223 11.2 See Tests Fail 233 11.3 Conclusion 234 Chapter 12: Troubleshooting 235 12.1 Understanding 235 12.2 Defects 240 12.3 Bisection 250 12.4 Conclusion 255 Chapter 13: Separation of Concerns 257 13.1 Composition 258 13.2 Cross-Cutting Concerns 267 13.3 Conclusion 274 Chapter 14: Rhythm 275 14.1 Personal Rhythm 276 14.2 Team Rhythm 282 14.3 Conclusion 285 Chapter 15: The Usual Suspects 287 15.1 Performance 288 15.2 Security 292 15.3 Other Techniques 300 15.4 Conclusion 308 Chapter 16: Tour 309 16.1 Navigation 309 16.2 Architecture 318 16.3 Usage 323 16.4 Conclusion 326 Appendix A: List of Practices 329 A.1 The 50/72 Rule 329 A.2 The 80/24 Rule 330 A.3 Arrange Act Assert 330 A.4 Bisection 330 A.5 Checklist for A New Code Base 331 A.6 Command Query Separation 331 A.7 Count the Variables 331 A.8 Cyclomatic Complexity 331 A.9 Decorators for Cross-Cutting Concerns 332 A.10 Devil's Advocate 332 A.11 Feature Flag 332 A.12 Functional Core, Imperative Shell 333 A.13 Hierarchy of Communication 333 A.14 Justify Exceptions from the Rule 333 A.15 Parse, Don't Validate 334 A.16 Postel's Law 334 A.17 Red Green Refactor 334 A.18 Regularly Update Dependencies 335 A.19 Reproduce Defects as Tests 335 A.20 Review Code 335 A.21 Semantic Versioning 335 A.22 Separate Refactoring of Test and Production Code 335 A.23 Slice 336 A.24 Strangler 336 A.25 Threat-Model 337 A.26 Transformation Priority Premise 337 A.27 X-driven Development 337 A.28 X Out Names 338 Bibliography 339Index 349

    2 in stock

    £26.99

  • Types and Programming Languages

    MIT Press Types and Programming Languages

    3 in stock

    Book SynopsisA comprehensive introduction to type systems and programming languages.A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems—and of programming languages from a type-theoretic perspective—has important applications in software engineering, language design, high-performance compilers, and security.This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.

    3 in stock

    £76.50

  • Practical Programming, 3e: An Introduction to

    Pragmatic Bookshelf Practical Programming, 3e: An Introduction to

    1 in stock

    Book SynopsisClassroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6. No programming experience required! Incremental examples show you the steps and missteps that happen while developing programs, so you know what to expect when you tackle a problem on your own. Inspired by "How to Design Programs" (HtDP), discover a five-step recipe for designing functions, which helps you learn the concepts--and becomes an integral part of writing programs. In this detailed introduction to Python and to computer programming, find out exactly what happens when your programs are executed. Work with numbers, text, big data sets, and files using real-world examples. Create and use your own data types. Make your programs reliable, work with databases, download data from the web automatically, and build user interfaces. As you use the fundamental programming tools in this book, you'll see how to document and organize your code so that you and other programmers can more easily read and understand it. This new edition takes advantage of Python 3.6's new features, including type annotations on parameters, return types and variable declarations, and changes to string formatting. Most importantly, you'll learn how to think like a professional programmer. What You Need: You'll need to download Python 3.6, available from https://python.org. With that download comes IDLE, the editor we use for writing and running Python programs. (If you use Linux, you may need to install Python 3.6 and IDLE separately.)

    1 in stock

    £37.99

  • Fast Python for Data Science

    Manning Publications Fast Python for Data Science

    4 in stock

    Book SynopsisFast Python for Data Science is a hands-on guide to writing Python code that can process more data, faster, and with less resources. It takes a holistic approach to Python performance, showing you how your code, libraries, and computing architecture interact and can be optimized together. Written for experienced practitioners, Fast Python for Data Science dives right into practical solutions for improving computation and storage efficiency. You'll experiment with fun and interesting examples such as rewriting games in lower-level Cython and implementing a MapReduce framework from scratch. Finally, you'll go deep into Python GPU computing and learn how modern hardware has rehabilitated some former antipatterns and made counterintuitive ideas the most efficient way of working. About the technologyFast, accurate systems are vital for handling the huge datasets and complex analytical algorithms that are common in modern data science. Python programmers need to boost performance by writing faster pure-Python programs, optimizing the use of libraries, and utilizing modern multi-processor hardware; Fast Python for Data Science shows you how. Trade Review"If you want to go beyond scripting in Python, you need this book." Brian S. Cole. "If you need to improve the performance of your Python code, you need to read this book!" Lorenzo DeLeon "I really like how the book walks you through interesting projects and code. I think that does a great job of demonstrating the concepts and giving you something to play with." Dana Robinson "Explains the essential concepts required for using high performance Python." Biswanath Chowdhury "A must have to speed up your Python code." Abhilash Babu Jyotheendra Babu

    4 in stock

    £41.39

  • Teaching Primary Programming with Scratch Pupil

    Legend Press Ltd Teaching Primary Programming with Scratch Pupil

    2 in stock

    Book SynopsisThese books, classroom-tested and perfected by Phil Bagge through his website code-it.co.uk and published in conjunction with Hampshire Inspection and Advisory Service (HIAS), aid teachers in providing Key Stage 2 pupils with an exciting and challenging computer science curriculum.They can be used to supplement existing programming modules or as a complete KS2 computer science program of study. They contain a series of programming projects that gradually introduce pupils to algorithm design and evaluation, generalisation and decomposition. Pupils will learn how to use sequence, repetition, selection and variables through becoming creators of a wide variety of programming projects. Maths, literacy, humanities, gaming, music and control skills are all put to the test.There are four pupil workbooks to provide structure, resources and home learning links. These are designed to work in conjunction with the teacher book. In addition, there are also two home learning books that have been devised for children to learn programming outside of school. A growing bank of online videos are also available, designed to help teachers improve their own skills and take full advantage of the crosscurricular benefits of developing depth in programming.The Scratch programming language, widely recognised in schools, is freely accessible online or as a download and is the ideal place to begin programming.

    2 in stock

    £13.49

  • Visual Basic .Net All in One Desk Reference for

    John Wiley & Sons Inc Visual Basic .Net All in One Desk Reference for

    2 in stock

    Book SynopsisVisual Basic .NET made clear! Covers all aspects of VB .NET programming in seven self-contained minibooks: Visual Basic .NET Programming Fundamentals, Advanced Visual Basic .NET Programming, The .NET Editor, Object-Oriented Programming, Programming for the Web, Database Programming, and Graphics and Games Visual Basic is the primary tool of more than fifty percent of all professional developers, so the upgrade to VB .NET represents a major paradigm shift; this handy all-in-one guide gives them easy access to valuable information Guides the reader through getting integrated with the rest of Visual Studio .NET, covers programmatic encryption and other .NET security capabilities, and shows how to program for Web services with VB .NET and ASP.NET Companion Web site includes a must-have bonus appendix that provides parallel VB 6 and VB .NET sample code to help VB programmers make the somewhat difficult transition to .NET Table of ContentsIntroduction: Welcome to .NET 1 Book I The Fundamentals of Visual Basic .NET Programming 11 Chapter 1: Getting With the Program 13 Chapter 2: Common Tasks 21 Chapter 3: Managing Files and Directories 49 Chapter 4: Old Concepts in New Clothes 57 Book II Tapping the Power of .NET Editor 73 Chapter 1: Organizing Your Projects 75 Chapter 2: Viewing Your Work 85 Chapter 3: Investigating the Toolbox 97 Chapter 4: Windows, Windows Everywhere 113 Chapter 5: Customization — Doing It Your Way 125 Book III Advanced Visual Basic .NET Programming 133 Chapter 1: Understanding Variable Types 135 Chapter 2: Working with Arrays 157 Chapter 3: Serious Serialization and Streams 171 Chapter 4: Creating Runtime Controls 191 Chapter 5: Overloaded Functions and Parameters 207 Chapter 6: Smashing Bugs 217 Chapter 7: No More Paranoia — Programmatic Encryption 233 Book IV Programming for the Web 259 Chapter 1: Introduction to ASP.NET 261 Chapter 2: Everything’s Eventual 277 Chapter 3: Using ASP.NET Controls 291 Chapter 4: Making Database Connections on WebForms 303 Chapter 5: Creating a Web Service 317 Chapter 6: Bugs in the Web 335 Book V Visual Basic .NET Database Programming 351 Chapter 1: The Basics of Databases 353 Chapter 2: User Interface Techniques 377 Chapter 3: Managing DataSets 403 Chapter 4: Migrating to ADO.NET 429 Chapter 5: Deeper into ADO.NET 449 Chapter 6: Querying Data 463 Book VI Fun and Games with Graphics 489 Chapter 1: You Be Picasso 491 Chapter 2: The Creative Photographer 517 Chapter 3: Mastering .NET Printing (It’s Complicated Until You Know How) 527 Chapter 4: Constructing Wolfram Diagrams 541 Book VII Visual Basic .NET Object-Oriented Programming 559 Chapter 1: Introduction to OOP 561 Chapter 2: Creating Classes 571 Chapter 3: Inheritance 579 Chapter 4: Your First OOP Project 589 Chapter 5: Exploiting the .NET Framework 605 Appendix: Dictionary of VB.NET 623 Index 753

    2 in stock

    £31.19

  • Mastering Swift

    CRC Press Mastering Swift

    2 in stock

    Book SynopsisIf you want to become an iOS developer, you have made an excellent choice with this book. Swift holds a significant position in the iOS industry because of the long list of features it serves. It is user-friendly, has great community support, and offers a greater extent of customization. As a result, we can observe a sharp increase in the market demand for developing Apple mobile applications, and with that, companies search for smart developers with the right skill set. Mastering Swift introduces Apple's excellent Swift standard library style and incorporates usage feedback across multiple Swift projects. However, it should be regarded as a living, changeable document and the basis upon which the programming language is implemented.Before going further into the details of the Swift programming language, the book briefly explains the basic information about the language. It is a high-level language created to develop multifaceted iOS applications that cater to d

    2 in stock

    £22.49

  • Flutter and Dart Cookbook

    O'Reilly Media Flutter and Dart Cookbook

    5 in stock

    Book SynopsisTogether, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applications capable of targeting multiple platforms. Recipes in this cookbook show you how this potent combination provides an efficient approach to application development.

    5 in stock

    £39.74

  • 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

  • SQL Antipatterns, Volume 1: Avoiding the Pitfalls

    The Pragmatic Programmers SQL Antipatterns, Volume 1: Avoiding the Pitfalls

    1 in stock

    Book SynopsisSQL is the ubiquitous language for software developers working with structured data. Most developers who rely on SQL are experts in their favorite language (such as Java, Python, or Go), but they're not experts in SQL. They often depend on antipatterns - solutions that look right but become increasingly painful to work with as you uncover their hidden costs. Learn to identify and avoid many of these common blunders. Refactor an inherited nightmare into a data model that really works. Updated for the current versions of MySQL and Python, this new edition adds a dozen brand new mini-antipatterns for quick wins. No matter which platform, framework, or language you use, the database is the foundation of your application, and the SQL database language is the standard for working with it. Antipatterns are solutions that look simple at the surface, but soon mire you down with needless work. Learn to identify these traps, and craft better solutions for the often-asked questions in this book. Avoid the mistakes that lead to poor performance and quality, and master the principles that make SQL a powerful and flexible tool for handling data and logic. Dive deep into SQL and database design, and learn to recognize the most common missteps made by software developers in database modeling, SQL query logic, and code design of data-driven applications. See practical examples of misconceptions about SQL that can lure software projects astray. Find the greatest value in each group of data. Understand why an intersection table may be your new best friend. Store passwords securely and don't reinvent the wheel. Handle NULL values like a pro. Defend your web applications against the security weakness of SQL injection. Use SQL the right way - it can save you from headaches and needless work, and let your application really shine! What You Need: The SQL examples use the MySQL 8.0 flavor, but other popular brands of RDBMS are mentioned. Other code examples use Python 3.9+ or Ruby 2.7+.

    1 in stock

    £34.65

  • FORTRAN Programming in Easy Steps

    In Easy Steps Limited FORTRAN Programming in Easy Steps

    2 in stock

    Book Synopsis

    2 in stock

    £14.99

  • Quick Start Guide to Large Language Models

    Pearson Education Quick Start Guide to Large Language Models

    Book SynopsisSinan Ozdemir is currently the founder and CTO of LoopGenius and an advisor to several AI companies. Sinan is a former lecturer of Data Science at Johns Hopkins University and the author of multiple textbooks on data science and machine learning. Additionally, he is the founder of the recently acquired Kylie.ai, an enterprise-grade conversational AI platform with RPA capabilities. He holds a master's degree in Pure Mathematics from Johns Hopkins University and is based in San Francisco, CA.

    £35.99

  • Deep Reinforcement Learning in Action

    Manning Publications Deep Reinforcement Learning in Action

    Book SynopsisHumans learn best from feedback—we are encouraged to take actions that lead to positive results while deterred by decisions with negative consequences. This reinforcement process can be applied to computer programs allowing them to solve more complex problems that classical programming cannot. Deep Reinforcement Learning in Action teaches you the fundamental concepts and terminology of deep reinforcement learning, along with the practical skills and techniques you’ll need to implement it into your own projects. Key features • Structuring problems as Markov Decision Processes • Popular algorithms such Deep Q-Networks, Policy Gradient method and Evolutionary Algorithms and the intuitions that drive them • Applying reinforcement learning algorithms to real-world problems Audience You’ll need intermediate Python skills and a basic understanding of deep learning. About the technology Deep reinforcement learning is a form of machine learning in which AI agents learn optimal behavior from their own raw sensory input. The system perceives the environment, interprets the results of its past decisions, and uses this information to optimize its behavior for maximum long-term return. Deep reinforcement learning famously contributed to the success of AlphaGo but that’s not all it can do! Alexander Zai is a Machine Learning Engineer at Amazon AI working on MXNet that powers a suite of AWS machine learning products. Brandon Brown is a Machine Learning and Data Analysis blogger at outlace.com committed to providing clear teaching on difficult topics for newcomers.

    £37.99

  • Grokking Machine Learning

    Manning Publications Grokking Machine Learning

    20 in stock

    Book SynopsisIt's time to dispel the myth that machine learning is difficult. Grokking Machine Learning teaches you how to apply ML to your projects using only standard Python code and high school-level math. No specialist knowledge is required to tackle the hands-on exercises using readily available machine learning tools! In Grokking Machine Learning, expert machine learning engineer Luis Serrano introduces the most valuable ML techniques and teaches you how to make them work for you. Practical examples illustrate each new concept to ensure you’re grokking as you go. You’ll build models for spam detection, language analysis, and image recognition as you lock in each carefully-selected skill. Packed with easy-to-follow Python-based exercises and mini-projects, this book sets you on the path to becoming a machine learning expert. Key Features · Different types of machine learning, including supervised and unsupervised learning · Algorithms for simplifying, classifying, and splitting data · Machine learning packages and tools · Hands-on exercises with fully-explained Python code samples For readers with intermediate programming knowledge in Python or a similar language. About the technology Machine learning is a collection of mathematically-based techniques and algorithms that enable computers to identify patterns and generate predictions from data. This revolutionary data analysis approach is behind everything from recommendation systems to self-driving cars, and is transforming industries from finance to art. Luis G. Serrano has worked as the Head of Content for Artificial Intelligence at Udacity and as a Machine Learning Engineer at Google, where he worked on the YouTube recommendations system. He holds a PhD in mathematics from the University of Michigan, a Bachelor and Masters from the University of Waterloo, and worked as a postdoctoral researcher at the University of Quebec at Montreal. He shares his machine learning expertise on a YouTube channel with over 2 million views and 35 thousand subscribers, and is a frequent speaker at artificial intelligence and data science conferences.

    20 in stock

    £43.19

  • Functional Design

    Pearson Education (US) Functional Design

    Book SynopsisRobert C. Martin (Uncle Bob) wrote his first line of code at the age of 12 in 1964 and has been employed as a programmer since 1970. He is cofounder of cleancoders.com, offering online video training for software developers, and is founder of Uncle Bob Consulting LLC, offering software consulting, training, and skill development services to major corporations worldwide. He served as the Master Craftsman at 8th Light, Inc., a Chicago-based software consulting firm. Mr. Martin has published dozens of articles in various trade journals, authored many books, and is a regular speaker at international conferences and trade shows.Table of ContentsForeword xiiiPreface xvAcknowledgments xxiAbout the Author xxiii Part I: Functional Basics 1 Chapter 1: Immutability 3What Is Functional Programming? 4The Problem with Assignment 7So Why Is It Called Functional? 10No Change of State? 12Immutability 15 Chapter 2: Persistent Data 17On Cheating 19Making Copies 20Structural Sharing 23 Chapter 3: Recursion and Iteration 27Iteration 28Recursion 32 Chapter 4: Laziness 37Lazy Accumulation 40OK, but Why? 41Coda 42 Chapter 5: Statefulness 43When We MUST Mutate 47Software Transactional Memory (STM) 48Life Is Hard, Software Is Harder 51 Part II: Comparative Analysis 53 Chapter 6: Prime Factors 55Java Version 56Clojure Version 60Conclusion 63 Chapter 7: Bowling Game 65Java Version 66Clojure Version 71Conclusion 75 Chapter 8: Gossiping Bus Drivers 77Java Solution 78Clojure 88Conclusion 93 Chapter 9: Object-Oriented Programming 95Functional Payroll 98Namespaces and Source Files 107Conclusion 108 Chapter 10: Types 109 Part III: Functional Design 115 Chapter 11: Data Flow 117 Chapter 12: SOLID 125The Single Responsibility Principle (SRP) 126The Open-Closed Principle (OCP) 131The Liskov Substitution Principle (LSP) 138The Interface Segregation Principle (ISP) 147The Dependency Inversion Principle (DIP) 152 Part IV: Functional Pragmatics 181 Chapter 13: Tests 183But What about the REPL? 184What about Mocks? 184Property-Based Testing 186A Diagnostic Technique 190Functional 197 Chapter 14: GUI 199Turtle-Graphics in Quil 200 Chapter 15: Concurrency 215Conclusion 225 Part V: Design Patterns 227 Chapter 16: Design Patterns Review 229Patterns in Functional Programming 233Abstract Server 233Adapter 236Command 242Composite 249Decorator 260Visitor 264Abstract Factory 274Conclusion 281Postscript: OO Poison? 282 Part VI: Case Study 285 Chapter 17: Wa-Tor 287Scratch That Itch 309Showers Solve Problems 312It's Time to Wildly Reproduce 322What about the Sharks? 324Conclusion 335 Afterword 337 Index 341

    £34.19

  • Practical Deep Learning 2nd Edition

    No Starch Press Practical Deep Learning 2nd Edition

    3 in stock

    Book SynopsisPractical Deep Learning, 2nd Edition is your gateway into AI, equipping you with the knowledge and confidence to build powerful AI models using the latest architectures and techniques.If you’ve been curious about artificial intelligence and machine learning but didn’t know where to start, this is the book you’ve been waiting for. Focusing on the subfield of machine learning known as deep learning, it explains core concepts and gives you the foundation you need to start building your own models. Rather than simply outlining recipes for using existing toolkits, Practical Deep Learning, 2nd Edition teaches you the why of deep learning and will inspire you to explore further.All you need is basic familiarity with computer programming and high school math—the book will cover the rest. After an introduction to Python, you’ll move through key topics like how to build a good training dataset, work with the scikit-learn and Keras libraries, and evaluate your models’ performance.You’ll also learn:  How to use classic machine learning models like k-Nearest Neighbors, Random Forests, and Support Vector Machines How neural networks work and how they’re trained How to use convolutional neural networks How to develop a successful deep learning model from scratch You’ll conduct experiments along the way, building to a final case study that incorporates everything you’ve learned.This second edition is thoroughly revised and updated, and adds six new chapters to further your exploration of deep learning from basic CNNs to more advanced models. New chapters cover fine tuning, transfer learning, object detection, semantic segmentation, multilabel classification, self-supervised learning, generative adversarial networks, and large language models.The perfect introduction to this dynamic, ever-expanding field, Practical Deep Learning, 2nd Edition will give you the skills and confidence to dive into your own machine learning projects.

    3 in stock

    £47.24

  • Art of Computer Programming The

    Pearson Education (US) Art of Computer Programming The

    2 in stock

    Book SynopsisDonald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the TEX and METAFONT systems for computer typesetting, and for his prolific and influential writing (26 books, 161 papers). Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes full time to the completion of his seminal multivolume series on classical computer science, begun in 1962 when he was a graduate student at California Institute of Technology. Professor Knuth is the recipient of numerous awards and honors, including the ACM Turing Award, the Medal of Science presented by President Carter, the AMS Steele Prize for expository writing, and, in November, 1996, the prestigious Kyoto Prize for advanced technology. He lives on the Stanford campus with his wife, Jill.Table of ContentsPreface Notes on the Exercises Chapter 7: Combinatorial Searching 1 7.1: Zeros and Ones 47 7.2: Generating All Possibilities 281 Answers to Exercises 514 Appendix A: Tables of Numerical Quantities 818 Appendix B: Index to Notations 822 Appendix C: Index to Algorithms and Theorems 828 Appendix D: Index to Combinatorial Problems 830 Index and Glossary 834

    2 in stock

    £53.54

  • OCA Java SE 8 Programmer I Certification Guide

    Manning Publications OCA Java SE 8 Programmer I Certification Guide

    Book Synopsis   DESCRIPTION To earn the OCA Java SE 8 Programmer I Certification, readers need to know Java inside and out, and to pass the exam it's good to understand the test itself. This book cracks open the questions, exercises, and expectations readers will face on the OCA exam so they’ll be ready and confident on test day. OCA Java SE 8 Programmer I Certification Guide prepares readers for the 1Z0-808 with complete coverage of all exam topics. The book explores important Java topics and systematically teaches what's required. Each chapter starts with a list of exam objectives mapped to section numbers, followed by sample questions and exercises designed to reinforce key concepts. It provides multiple ways to digest important techniques and concepts, including memorable analogies, diagrams, and flowcharts as well as lots of well-commented code. Along the way readers will also get the scoop on common mistakes and ways to avoid traps and pitfalls. KEY FEATURES  100% coverage of exam topics  Hands-on coding examples and exercises  Helps readers avoid exam traps and pitfalls  Hundreds of sample questions  Crib Sheets AUDIENCE Written for developers with a working knowledge of Java who want to earn the OCA Java SE 8 Programmer I Certification. ABOUT THE TECHNOLOGY The Oracle Certified Associate (OCA) Java SE 8 measures day-to-day programming and the ability to handle typical situations found in a variety of projects.

    £43.19

  • Get Programming with Haskell

    Manning Publications Get Programming with Haskell

    1 in stock

    Book SynopsisUnlike any other programming language, Haskell is purely functionalwith a strong type system and lazy evaluation. It is arguable the mostinteresting language but also has the reputation of being one of themost challenging to learn. Learning Haskell doesn't have to bedifficult, and this book can help! Get Programming with Haskell introduces you to the Haskell languagewithout drowning you in academic jargon and heavy functionalprogramming theory. By working through 43 easy-to-follow lessons,you'll learn Haskell by doing Haskell. This book starts with firstconcepts, building your knowledge with concrete examples andexercises. You'll learn to think the Haskell way, as you start tounderstand the language and how to use it effectively. And you'll reallyappreciate the crystal-clear illustrations, quick-checks, and open-endedtasks that make sure you're solid on each new concept before you movealong! KEY FEATURES• Full of interesting examples• Easy approach to functional programming basics• Write safe, predictable code with fewer bugs• Lots of illustrations and exercises Readers should have some experience with JavaScript, Python orRuby. No functional programming or math skills required. ABOUT THE TECHNOLOGYHaskell is a purely functional programming language. It treats programs asmuch like math as you can, requires you to think more than you type, andcan express the idea of infinite lists in code! These are just the more obviousfeatures that make Haskell unlike any other programming language AUTHOR BIOWill Kurt currently works as a Data Scientist at Quick Sprout. With aformal background in both Computer Science (MS) and English Literature(BA) he is fascinated with explaining complex technical topics as clearlyand generally as possible. He has taught a course section on Haskell at theUniversity of Nevada, Reno and given workshops on FunctionalProgramming. He also blogs about probability at CountBayesie.com.

    1 in stock

    £34.19

  • Pro C 10 with .NET 6

    APress Pro C 10 with .NET 6

    1 in stock

    Book SynopsisWelcome to the most comprehensive foundational guide available on the topic of C# coding and .NET. This book goes beyond do this, to achieve this to drill down into the core stuff that makes a good developer, great. This expanded 11th edition delivers loads of new content on Entity Framework, Razor Pages, Web APIs and more. You will find the latest C# 10 and .NET 6 features served up with plenty of behind the curtain discussion designed to expand developers' critical thinking skills when it comes to their craft. Coverage of ASP.NET Core, Entity Framework Core, and more sits alongside the latest updates to the new unified .NET platform, from performance improvements to Windows Desktop apps on .NET 6, updates in XAML tooling, and expanded coverage of data files and data handling. Going beyond the latest features in C# 10, all code samples are rewritten for this latest release.Dive in and discover why this essential classic is a favorite of C# developers worldwide. Gain a solid fouTable of ContentsPart 1: Introducing C# and .NET 61 Introducing C# and .NET (Core) 62 Building C# ApplicationsPart 2: Core C# Programming3 Core C# Programming Constructs, Part 14 Core C# Programming Constructs, Part 2Part 3: Object Oriented Programming with C#5 Understanding Encapsulation6 Understanding Inheritance and Polymorphism7 Understanding Structured Exception Handling8 Working with Interfaces9 Understanding Object LifetimePart 4: Advanced C# Programming10 Collections and Generics11 Advanced C# Language Features12 Delegates, Events, and Lambda Expressions13 LINQ To Objects14 Processes, AppDomains, and Load Contexts15 Multithreaded, Parallel, and Async ProgrammingPart 5: Programming with .NET Core Assemblies16 Building and Configuring Class Libraries17 Type Reflection, Late Binding, Attributes, and Dynamic Types18 Understanding CIL and the Role of Dynamic AssembliesPart 6: File Handling, Object Serialization, and Data Access19 File I/O and Object Serialization20 Data Access with ADO.NETPart 7: Entity Framework Core21 Introducing Entity Framework Core22 Exploring EF Core 23 Build a Data Access Layer with Entity Framework Core24 Test Driving the Autolot Data Access LayerPart 8: Windows Client Development25 Introducing Windows Presentation Foundation and XAML26 WPF Controls, Layouts, Events, and Data Binding27 WPF Graphics Rendering Services28 WPF Resources, Animations, Styles, and Templates29 WPF Notifications, Validations, Commands, and MVVMPart 9: ASP.NET Core30 Introducing ASP.NET Core31 Diving into ASP.NET Core32 RESTful Services with ASP.NET Core33 Web Applications using MVC34 Web Applications using Razor Pages

    1 in stock

    £46.74

  • Learning Primary Programming with Scratch (Home

    Legend Press Ltd Learning Primary Programming with Scratch (Home

    1 in stock

    Book SynopsisThis book, written by Phil Bagge and published in conjunction with Hampshire Inspection and Advisory Service (HIAS), has been devised for children of KS2 (Year 3 and 4) age to learn programming outside of school.It contains a series of programming projects that gradually introduce children to algorithm design, evaluation and generalisation. Children will learn how to use sequence and repetition through becoming creators of a wide variety of programming projects. Maths, literacy, humanities, gaming and music are all put to the test. Read the short introduction to find out more.The Scratch programming language, widely recognised in schools, is freely accessible online or as a download and is the ideal place to begin programming.

    1 in stock

    £7.59

  • Practical C Programming 3e

    O'Reilly Media Practical C Programming 3e

    2 in stock

    Book SynopsisThere are lots of introductory C books, but this is the first one that has the no-nonsense, practical approach that has made Nutshell Handbooks(r) famous. C programming is more than just getting the syntax right. Style and debugging also play a tremendous part in creating programs that run well and are easy to maintain. This book teaches you not only the mechanics of programming, but also describes how to create programs that are easy to read, debug, and update. Practical rules are stressed. For example, there are fifteen precedence rules in C (&& comes before comes before ?:). The practical programmer reduces these to two: * Multiplication and division come before addition and subtraction. Contrary to popular belief, most programmers do not spend most of their time creating code. Most of their time is spent modifying someone else's code. This books shows you how to avoid the all-too-common obfuscated uses of C (and also to recognize these uses when you encounter them in existing programs) and thereby to leave code that the programmer responsible for maintenance does not have to struggle with. Electronic Archaeology, the art of going through someone else's code, is described. This third edition introduces popular Integrated Development Environments on Windows systems, as well as UNIX programming utilities, and features a large statistics-generating program to pull together the concepts and features in the language.Table of ContentsPreface. How This Book is Organized. Chapter by Chapter. Notes on the Third Edition. Font Conventions. Obtaining Source Code. Comments and Questions. Acknowledgments. Acknowledgments to the Third Edition. I. Basics 1. What Is C? How Programming Works Brief History of C How C Works How to Learn C. 2. Basics of Program Writing Programs from Conception to Execution Creating a Real Program Creating a Program Using a Command-Line Compiler Creating a Program Using an Integrated Development Environment Getting Help on UNIX Getting Help in an Integrated Development Environment IDE Cookbooks Programming Exercises. 3. Style Common Coding Practices Coding Religion Indentation and Code Format Clarity Simplicity Summary. 4. Basic Declarations and Expressions Elements of a Program Basic Program Structure Simple Expressions Variables and Storage Variable Declarations Integers Assignment Statements printf Function Floating Point Floating Point Versus Integer Divide Characters Answers Programming Exercises. 5. Arrays, Qualifiers, and Reading Numbers Arrays Strings Reading Strings Multidimensional Arrays Reading Numbers Initializing Variables Types of Integers Types of Floats Constant Declarations Hexadecimal and Octal Constants Operators for Performing Shortcuts Side Effects ++x or x++ More Side-Effect Problems Answers Programming Exercises. 6. Decision and Control Statements if Statement else Statement How Not to Use strcmp Looping Statements while Statement break Statement continue Statement Assignment Anywhere Side Effect Answer Programming Exercises. 7. Programming Process Setting Up Specification Code Design Prototype Makefile Testing Debugging Maintenance Revisions Electronic Archaeology Marking Up the Program Using the Debugger Text Editor as a Browser Add Comments Programming Exercises. II. Simple Programming. 8. More Control Statements for Statement switch Statement switch, break, and continue Answers Programming Exercises. 9. Variable Scope and Functions Scope and Class Functions Functions with No Parameters Structured Programming Recursion Answers Programming Exercises. 10. C Preprocessor define Statement Conditional Compilation include Files Parameterized Macros Advanced Features Summary Answers Programming Exercises. 11. Bit Operations Bit Operators The and Operator (&) Bitwise or (|) The Bitwise Exclusive or (^) The Ones Complement Operator (Not) (~) The Left- and Right-Shift Operators (<<, >>) Setting, Clearing, and Testing Bits Bitmapped Graphics Answers Programming Exercises. 12. Advanced Types Structures Unions typedef enum Type Casting Bit Fields or Packed Structures Arrays of Structures Summary Programming Exercises. 13. Simple Pointers Pointers as Function Arguments const Pointers Pointers and Arrays How Not to Use Pointers Using Pointers to Split a String Pointers and Structures Command-Line Arguments Programming Exercises Answers. 14. File Input/Output Conversion Routines Binary and ASCII Files The End-of-Line Puzzle Binary I/O Buffering Problems Unbuffered I/O Designing File Formats Answers Programming Exercises. 15. Debugging and Optimization Debugging Interactive Debuggers Debugging a Binary Search Runtime Errors The Confessional Method of Debugging Optimization Answers Programming Exercises. 16. Floating Point Floating-Point Format Floating Addition/Subtraction Multiplication Division Overflow and Underflow Roundoff Error Accuracy Minimizing Roundoff Error Determining Accuracy Precision and Speed Power Series Programming Exercises. III. Advanced Programming Concepts 17. Advanced Pointers Pointers and Structures free Function Linked List Structure Pointer Operator Ordered Linked Lists Double-Linked Lists Trees Printing a Tree Rest of Program Data Structures for a Chess Program Answers Programming Exercises. 18. Modular Programming Modules Public and Private The extern Modifier Headers The Body of the Module A Program to Use Infinite Arrays The Makefile for Multiple Files Using the Infinite Array Dividing a Task into Modules Module Division Example: Text Editor Compiler Spreadsheet Module Design Guidelines Programming Exercises. 19. Ancient Compilers K&R-Style Functions Library Changes Missing Features Free/Malloc Changes lint Answers. 20. Portability Problems Modularity Word Size Byte Order Problem Alignment Problem NULL Pointer Problem Filename Problems File Types Summary Answers. 21. C's Dustier Corners do/while goto The ?: Construct The , Operator volatile Qualifier Answer. 22. Putting It All Together Requirements Specification Code Design Coding Functional Description Expandability Testing Revisions A Final Warning Program Files Programming Exercises. 23. Programming Adages General Design Declarations switch Statement Preprocessor Style Compiling Final Note Answer IV. Other Language Features A. ASCII Table B. Ranges and Parameter Passing Conversions C. Operator Precedence Rules D. A Program to Compute a Sine Using a Power Series Glossary Index

    2 in stock

    £28.79

  • Learning Processing

    Elsevier Science Learning Processing

    1 in stock

    Book SynopsisTeaches you the basic building blocks of programming needed to create advanced graphics applications including interactive art, live video processing, and data visualization. This title offers graphic and web designers working with the Processing programming environment instructions on the basic principles of the language.Table of ContentsLesson 1: The Beginning1. Pixels2. Processing3. InteractionLesson 2: Everything You Need to Know4. Variables5. Conditionals6. LoopsLesson 3: Organization7. Functions8. ObjectsLesson 4: More of the Same9. ArraysLesson 5: Putting It All Together10. Algorithms11. Debugging12. LibrariesLesson 6: The World Revolves Around You13. Mathematics14. Translation and Rotation (in 3D!)Lesson 7: Pixels Under Microscope15. Images16. VideoLesson 8: The Outside World17. Text18. Data Input19. Data StreamsLesson 9: Making Noise20. Sound21. ExportingLesson 10: Beyond Processing22. Advanced Object-Oriented Programming23. JavaAppendix: Common ErrorsIndexwww.learningprocessing.com

    1 in stock

    £37.99

  • Effective C

    Pearson Education (US) Effective C

    2 in stock

    Book SynopsisScott Meyers is one of the world's foremost authorities on C++, providing training and consulting services to clients worldwide. He is the author of the best-selling Effective C++ series of books (Effective C++, More Effective C++, and Effective STL) and of the innovative Effective C++ CD. He is consulting editor for Addison Wesley's Effective Software Development Series and is a founding member of the Advisory Board for The C++ Source (http://www.artima.com/cppsource). He holds a Ph.D. in Computer Science from Brown University. His web site is http://www.aristeia.com.Table of ContentsPreface xv Acknowledgments xvii Introduction 1 Chapter 1: Accustoming Yourself to C++ 11 Item 1: View C++ as a federation of languages. 11 Item 2: Prefer consts, enums, and inlines to #defines. 13 Item 3: Use const whenever possible. 17 Item 4: Make sure that objects are initialized before they’re used. 26 Chapter 2: Constructors, Destructors, and Assignment Operators 34 Item 5: Know what functions C++ silently writes and calls. 34 Item 6: Explicitly disallow the use of compiler-generated functions you do not want. 37 Item 7: Declare destructors virtual in polymorphic base classes. 40 Item 8: Prevent exceptions from leaving destructors. 44 Item 9: Never call virtual functions during construction or destruction. 48 Item 10: Have assignment operators return a reference to *this. 52 Item 11: Handle assignment to self in operator=. 53 Item 12: Copy all parts of an object. 57 Chapter 3: Resource Management 61 Item 13: Use objects to manage resources. 61 Item 14: Think carefully about copying behavior in resource-managing classes. 66 Item 15: Provide access to raw resources in resource-managing classes. 69 Item 16: Use the same form in corresponding uses of new and delete. 73 Item 17: Store newed objects in smart pointers in standalone statements. 75 Chapter 4: Designs and Declarations 78 Item 18: Make interfaces easy to use correctly and hard to use incorrectly. 78 Item 19: Treat class design as type design. 84 Item 20: Prefer pass-by-reference-to-const to pass-by-value. 86 Item 21: Don’t try to return a reference when you must return an object. 90 Item 22: Declare data members private. 94 Item 23: Prefer non-member non-friend functions to member functions. 98 Item 24: Declare non-member functions when type conversions should apply to all parameters. 102 Item 25: Consider support for a non-throwing swap. 106 Chapter 5: Implementations 113 Item 26: Postpone variable definitions as long as possible. 113 Item 27: Minimize casting. 116 Item 28: Avoid returning “handles” to object internals. 123 Item 29: Strive for exception-safe code. 127 Item 30: Understand the ins and outs of inlining. 134 Item 31: Minimize compilation dependencies between files. 140 Chapter 6: Inheritance and Object-Oriented Design 149 Item 32: Make sure public inheritance models “is-a.” 150 Item 33: Avoid hiding inherited names. 156 Item 34: Differentiate between inheritance of interface and inheritance of implementation. 161 Item 35: Consider alternatives to virtual functions. 169 Item 36: Never redefine an inherited non-virtual function. 178 Item 37: Never redefine a function’s inherited default parameter value. 180 Item 38: Model “has-a” or “is-implemented-in-terms-of” through composition. 184 Item 39: Use private inheritance judiciously. 187 Item 40: Use multiple inheritance judiciously. 192 Chapter 7: Templates and Generic Programming 199 Item 41: Understand implicit interfaces and compile-time polymorphism. 199 Item 42: Understand the two meanings of typename. 203 Item 43: Know how to access names in templatized base classes. 207 Item 44: Factor parameter-independent code out of templates. 212 Item 45: Use member function templates to accept “all compatible types.” 218 Item 46: Define non-member functions inside templates when type conversions are desired. 222 Item 47: Use traits classes for information about types. 226 Item 48: Be aware of template metaprogramming. 233 Chapter 8: Customizing new and delete 239 Item 49: Understand the behavior of the new-handler. 240 Item 50: Understand when it makes sense to replace new and delete. 247 Item 51: Adhere to convention when writing new and delete. 252 Item 52: Write placement delete if you write placement new. 256 Chapter 9: Miscellany 262 Item 53: Pay attention to compiler warnings. 262 Item 54: Familiarize yourself with the standard library, including TR1. 263 Item 55: Familiarize yourself with Boost. 269 Appendix A: Beyond Effective C++ 273 Appendix B: Item Mappings Between Second and Third Editions 277 Index 280

    2 in stock

    £36.44

  • Automated Software Testing with Cypress

    Taylor & Francis Ltd (Sales) Automated Software Testing with Cypress

    2 in stock

    Book SynopsisUnit Integration Testing (UIT) had been a challenge because there was no tool that could help in XHR programming and unit integration validations in an efficient way until Cypress arrived. Cypress started releasing versions in 2015 and became popular in 2018 with version 2.0.0.This book explores Cypress scripts that help implement âshift left testingâ, which is a dream come true for many software testers. Shift left occurs in the majority of testing projects, but could not be implemented fully because tools were unavailable and knowledge was lacking about the possibilities of testing early in the life cycle. Shift left is a key testing strategy to help testing teams focus less on defect identifications and more on developing practices to prevent defects. Cypress scripts can help front-end developers and quality engineers to work together to find defects soon after web components are built. These components can be tested immediately after they are built with Cypress Test Driven Development (TDD) scripts. Thus, defects can be fixed straight away during the development stage. Testing teams do not have to worry about finding these same defects in a later development stage because Cypress tests keep verifying components in the later stages. Defect fixing has become much cheaper with Cypress than when other tools are used. The book also covers Behaviour Driven Development (BDD)-based Gherkin scripts and the Cypress Cucumber preprocessor, which can improve test scenario coverage. Automated Software Testing with Cypress is written to fulfil the BDD and TDD needs of testing teams. Two distinct open source repositories are provided in Github to help start running Cypress tests in no time!Table of Contents1. Visual Regression. 2. Web Accessibility Testing. 3. Running Cypress Tests in Docker. 4. Test Reports. 5. Cypress Tests in Jenkins. 6. Behaviour Driven Developen (BDD)-based Feature File Writing Techniques using Cypress.io and Cucumber. 7. Differences Between Selenium and Cypress.io. 8. Cypress Cucumber Preprocessor Errors. 9. Device Compatibility Testing Using Cypress.io. 10. Disabled Object Verification Through Force: True. 11. Upload File Using Cypress.io. 12. Conditional Tests: A Comparison Between Selenium and Cypress.io. 13. Testing Dropdowns Using Cypress.io. 14. BeforeEach and AfterEach Hooks. 15. Generic Test Automation Architecture of Cypress.io. 16. Cypress-based API Testing. 17. BrowserStack-based Cypress Test Execution. 18. Capture/Playback Approach of Test Automation. 19. Test Applications with Slow Speed Using Cypress.io and URL Throttler. 20. DAST with Cypress.io and BurpSuite. 21. Click Function Using Cypress.io. 22. Adjusting Default Timeouts or Wait Times in Cypress.json. 23. Double Click Function Using Cypress.io. 24. Cypress Retry on Failed Tests. 25. Mouse Events Using Cypress.io. 26. Checkboxes Verification Using Cypress.io.

    2 in stock

    £37.04

  • Scaling Up with R and Apache Arrow

    Taylor & Francis Ltd Scaling Up with R and Apache Arrow

    15 in stock

    Book SynopsisThis book provides a guide to working efficiently with larger-than-memory datasets using the arrow R package. You'll learn how to overcome these hurdles without needing to set up complex infrastructure. Written by developers of the Arrow R package, this guide is essential for anyone looking to scale their data processing capabilities in R.

    15 in stock

    £42.74

  • Quick Data Structures

    CRC Press Quick Data Structures

    1 in stock

    Book SynopsisIf you want to bring your programming skills to the next level, the most important thing you need is a good grasp of fundamental data structures. Proper choice of data structures is what distinguishes excellent programmers from merely competent ones.If you are an experienced programmer, you use data structuresâat least arraysâall the time. But you may not be familiar with hash tables, trees and binary trees, priority queues, directed and undirected graphs, and all the other data structures at your disposal.A good choice of data structures will make your job simpler, not more complicated. Your code will be not only faster but also easier to understand and debug. There is no downside to using the right data structures for the purpose.This book:â Provides an understanding of the fundamental building blocks of data structures.â Describes the construction and use of all common data structures.â Explains the simple math required for the choice of

    1 in stock

    £22.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 Python for Engineers and

    Apress Introduction to Python for Engineers and

    1 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

    1 in stock

    £44.99

  • Simulation with Python

    APress Simulation with Python

    2 in stock

    Book SynopsisUnderstand the theory and implementation of simulation. This book covers simulation topics from a scenario-driven approach using Python and rich visualizations and tabulations. The book discusses simulation used in the natural and social sciences and with simulations taken from the top algorithms used in the industry today. The authors use an engaging approach that mixes mathematics and programming experiments with beginning-intermediate level Python code to create an immersive learning experience that is cohesive and integrated. After reading this book, you will have an understanding of simulation used in natural sciences, engineering, and social sciences using Python.What You''ll Learn Use Python and numerical computation to demonstrate the power of simulation Choose a paradigm to run a simulation Draw statistical inTable of ContentsChapter 1: Calculating Pi and Beyond: Searching Order in Disorder with Simulation [30]Description: The beginning chapter will use Monte Carlo simulation as a topic to introduce some fundamental concepts in simulation.Topics to be covered: 1. Simulating Pi2. The goat problem and uniform sampling3. How to properly set a simulation environment Chapter 2: Markov Chain: A Peek into the Future [20]Description: Markov chain simulation will be introduced from both probabilistic perspective and matrix multiplication perspective.Topics to be covered: 1. How to predict weather?2. The transition matrix and stability states3. Markov chain Monte Carlo simulation Chapter 3: Multi-Armed Bandits: Probability Simulation and Bayesian Statistics [30]Description: Classical multi-armed bandits’ model will be introduced to continue the probabilistic perspective of the previous chapter. In addition, Bayesian statistics will be introduced.Topics to be covered: 1. Introduction to multi-armed bandit2. Greedy versus explorative strategies3. The interpretation of a Bayesian statistician. Chapter 4: Balls in 2D Box: A Simplest Physics Engine [20]Description: This chapter is mainly about event-driven simulation. It is not about simulation in the time space but in the event space.Topics to be covered: 1. Introduce the physics laws that govern motion2. Use event-driven paradigm to build a physics engine3. More realistic simulation with friction Chapter 5: Percolation: Threshold and Phase Change [25]Description: Phase changing is an important physics behavior for systems near critical boundaries. We are going to simulate critical behaviors using percolation as examples.Topics to be covered: 1. The concept of percolation and 2. Why dimension matters: 1D percolation and 2D percolation3. 3D percolation and even higher dimensionsChapter 6: Queuing System: How Stock Trades are Made [30]Description: As the first example in the business world, concepts in queuing systems are introduced and the simulation using basic data structures like queue and deque will be carried out.Topics to be covered: 1. Basic data structures in Python2. Microstructure of trading3. Simulating trading Chapter 7: Rock, Scissor and Paper: Multi-Agent Simulation [30]Description: Sometimes we want to simulate a system with multiple agents acting on their own behalf. In this chapter, we are going to run a multi-agent simulation and test the performance of different competing strategies in such a scenario.Topics to be covered: 1. Characteristics of multi-agent system2. Baseline strategies3. Analyzing nontrivial strategiesChapter 8: Matthew Effect and Tax Policy: Why the Rich Keeps Getting Richer[30]Description: Differential equation is an important field of study that governs a big group of phenomena. In this chapter, we are going to study it with a very relevant topic: wealth distribution in modern society. Topics to be covered: 1. Introduction of differential equations2. Matthew effect and ROI3. How tax policy can gauge social wealth distribution Chapter 9: Misinformation Spreading: Simulation on a Graph (Centrality, Networkx)[30]Description: Network simulation is another important domain. Nowadays social media like Twitter, Facebook and reddit can be easily modelled as a network. We will cover a simple simulation to study how misinformation can spread in a network and how we can fight against it.Topics to be covered: 1. Concepts of a network2. Simulate misinformation spreading in a directed network3. How to fight misinformation (or suppress freedom of expression)Chapter 10: Simulated Annealing and Genetic Algorithm [30]Description: There are two simulation algorithms widely used in research and industry that mimic natural phenomena. We are going to use them to solve two real world problems and explain the origin of their power.Topics to be covered: 4. Simulated Annealing Basics5. Use Simulated Annealing to solve an optimization problem6. Genetic Algorithm7. Use Genetic algorithm to solve an optimization problem

    2 in stock

    £37.49

  • ProductionReady Microservices

    O'Reilly Media ProductionReady Microservices

    1 in stock

    Book SynopsisIn this practical book, author Susan Fowler presents a set of microservice standards in depth, drawing from her experience standardizing over a thousand microservices at Uber. You'll learn how to design microservices that are stable, reliable, scalable, fault tolerant, performant, monitored, documented, and prepared for any catastrophe.

    1 in stock

    £25.59

  • Programming Android with Kotlin

    O'Reilly Media Programming Android with Kotlin

    1 in stock

    Book SynopsisWith this practical book, Android developers will learn how to make the transition from Java to Kotlin, including how Kotlin provides a true advantage for gaining control over asynchronous computations

    1 in stock

    £39.74

  • Spring Quickly

    Manning Publications Spring Quickly

    1 in stock

    Book SynopsisSpring is a massive ecosystem and a must-learn tool for Java developers. Spring Start Here introduces you to Java development with Spring by concentrating on the core concepts you'll use in every application you build. You'll learn how to refactor an existing application to Spring, how to use Spring tools to make SQL database requests and REST calls, and how to secure your projects with Spring Security. Spring Start Here teaches you how to build professional-quality applications using Spring and Spring Boot. You'll start with the core components of the framework and then learn how features like Spring Boot simplify the tedious repetitive tasks you face in every project. When you're done, you'll be able to create Spring apps, secure them with authentication and authorization, and move on to the next exciting steps of your Spring journey. Spring Framework is packed with features to make your applications fast, maintainable, robust and secure. This extensive ecosystem of tools for cloud computing, microservices, and more have made it the de facto choice for building enterprise Java applications. Trade Review“Nothingbeats a good, modern, and recent introductory book on Spring. That's something I wish it was available some years back when I first encountered Spring.” Alexandros Dallas “An exhaustive introduction to Spring. Perfect for new users or a great refresher for long time users.” Nathan B. Crocker “An excellent book to quickly learn or refresh yourself on Spring.” DeUndreJ. Rushon “This is a great introduction to Spring.” RajeshMohanan

    1 in stock

    £39.99

  • Programming Ruby 3.2: The Pragmatic Programmers'

    Pragmatic Bookshelf Programming Ruby 3.2: The Pragmatic Programmers'

    2 in stock

    Book SynopsisRuby is one of the most important programming languages in use for web development. It powers the Rails framework, which is the backing of some of the most important sites on the web. The Pickaxe Book, named for the tool on the cover, is the definitive reference on Ruby, a highly-regarded, fully object-oriented programming language. This updated edition is a comprehensive reference on the language itself, with a tutorial on the most important features of Ruby - including pattern matching and Ractors - and describes the language through Ruby 3.2. Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way instead of helping you get the work done? Are you using Rails and want to dig deeper into the underlying Ruby language? If so, then we've got a language and book for you! Ruby is a fully object-oriented language. The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of programmers that want to get things done quickly and cleanly. This comprehensive reference manual for Ruby includes a description of the most important standard library modules, built-in classes, and modules. It also includes all the new and changed syntax and semantics introduced through Ruby 3.2, including pattern matching and Ractors, and describes the language through Ruby 3.2. What You Need: This book assumes you have a basic understanding of object-oriented programming. In general, Ruby programmers tend to favor the the command line for running their code, and they tend to use text editors rather than IDEs. Ruby runs on Windows, Linux, and MacOS.

    2 in stock

    £50.34

  • Improving your C# Skills: Solve modern challenges

    Packt Publishing Limited Improving your C# Skills: Solve modern challenges

    2 in stock

    Book SynopsisConquer complex and interesting programming challenges by building robust and concurrent applications with caches, cryptography, and parallel programming.Key Features Understand how to use .NET frameworks like the Task Parallel Library (TPL)and CryptoAPI Develop a containerized application based on microservices architecture Gain insights into memory management techniques in .NET Core Book DescriptionThis Learning Path shows you how to create high performing applications and solve programming challenges using a wide range of C# features. You’ll begin by learning how to identify the bottlenecks in writing programs, highlight common performance pitfalls, and apply strategies to detect and resolve these issues early. You'll also study the importance of micro-services architecture for building fast applications and implementing resiliency and security in .NET Core. Then, you'll study the importance of defining and testing boundaries, abstracting away third-party code, and working with different types of test double, such as spies, mocks, and fakes. In addition to describing programming trade-offs, this Learning Path will also help you build a useful toolkit of techniques, including value caching, statistical analysis, and geometric algorithms. This Learning Path includes content from the following Packt products: C# 7 and .NET Core 2.0 High Performance by Ovais Mehboob Ahmed Khan Practical Test-Driven Development using C# 7 by John Callaway, Clayton Hunt The Modern C# Challenge by Rod Stephens What you will learn Measure application performance using BenchmarkDotNet Leverage the Task Parallel Library (TPL) and Parallel Language Integrated Query (PLINQ)library to perform asynchronous operations Modify a legacy application to make it testable Use LINQ and PLINQ to search directories for files matching patterns Find areas of polygons using geometric operations Randomize arrays and lists with extension methods Use cryptographic techniques to encrypt and decrypt strings and files Who this book is forIf you want to improve the speed of your code and optimize the performance of your applications, or are simply looking for a practical resource on test driven development, this is the ideal Learning Path for you. Some familiarity with C# and .NET will be beneficial.Table of ContentsTable of Contents What's New in .NET Core 2 and C# 7? Understanding .NET Core Internals and Measuring Performance Multithreading and Asynchronous Programming in .NET Core Securing and Implementing Resilience in .NET Core Applications Why TDD is Important Setting Up the .NET Test Environment Setting Up a JavaScript Environment What to Know Before Getting Started Tabula Rasa Testing JavaScript Applications Exploring Integrations Changes in Requirements The Legacy Problem Unraveling a Mess Geometry Randomization Files and Directories Advanced C# and .NET Features Cryptography

    2 in stock

    £37.99

  • Bash in easy steps

    In Easy Steps Limited Bash in easy steps

    2 in stock

    Book SynopsisThe Bourne Again SHell (Bash) is a powerful command-line shell interface that lets you communicate directly with the kernel at the heart of a computer's operating system for total control. Bash is the default shell for Unix-based operating systems Linux, Mac OS X, and Raspbian on Raspberry Pi devices, and is also available to Windows users on the Windows Subsystem for Linux (WSL).This book will show you how to use the Bash command-line interface and how to employ Bash''s programming abilities. Complete examples illustrate each aspect with colorized source code and full-color screenshots depict the actual output. Bash in easy steps begins by demonstrating Bash commands for system navigation and file manipulation so you will quickly become familiar with the command-line interface. It explains all the BASH basics before moving on to describe advanced features such as command history, command-line editing, and environment customization. The book then introduces Bash programming with examples of flow control, command switches, input/output, and debugging - allowing you to create your own executable programs by copying the examples. Bash in easy steps has an easy-to-follow style that will appeal to: Users who are completely new to Unix-based operating systemsCasual users who wish to expand their knowledge of their computer systemThose who would like to learn coding skills by writing useful shell scriptsThe student who is studying programming at school or collegeThose seeking a career in computing and need a fundamental understanding of the BASH interpreter on Unix-based operating systems

    2 in stock

    £11.39

  • PHP & MySQL in easy steps: Covers MySQL 8.0

    In Easy Steps Limited PHP & MySQL in easy steps: Covers MySQL 8.0

    2 in stock

    Book SynopsisPHP and MySQL in easy steps, 2nd edition teaches the user to write PHP server-side scripts and how to make MySQL database queries. It has an easy-to-follow style that will appeal to: anyone who wants to begin producing data-driven web pages.web developers wanting to add database interaction to their web sites. the programmer who quickly wants to add PHP and MySQL to their skills set. the hobbyist who wants to begin creating scripts for upload to their own ISP. the student, and to those seeking a career in computing, who need a fundamental understanding of server-side programming with PHP and MySQL. PHP and MySQL in easy steps, 2nd edition demonstrates by example how to produce data-driven web pages using the powerful PHP scripting language and the popular free MySQL database server. The book examples provide clear syntax-highlighted code showing how to selectively insert and extract data from databases for presentation on your web browser. PHP and MySQL in easy steps, 2nd edition begins by explaining how to install a free web server, the PHP interpreter, and MySQL database server, to create an environment in which you can produce your very own data-driven server-side web pages. You will learn how to write PHP server-side scripts and how to make MySQL database queries. Examples illustrate how to store and retrieve Session Data, how to provide a Message Board, and how to create an E-Commerce Shopping Cart. This book assumes you have no previous experience of any programming or scripting language so is ideal for the newcomer to PHP and MySQL technologies. Covers MySQL 8.0.

    2 in stock

    £11.39

  • Code-It: How To Teach Primary Programming Using

    Legend Press Ltd Code-It: How To Teach Primary Programming Using

    2 in stock

    Book SynopsisThe Scratch: The ideal place to begin programming!Key Stage 2 Programming Curriculum Guide .Most primary teachers and pupils have little if any experience programming. This book, classroom-tested and perfected by the author through his website code-it.co.uk, aids teachers in providing Key Stage 2 pupils with an exciting and challenging computer science curriculum.Code It can be used to supplement existing programming modules or as a complete KS2 computer science program of study. It contains a series of programming projects that gradually introduce pupils to algorithm design and evaluation, generalisation and decomposition. Pupils will learn how to use sequence, repetition, selection and variables through becoming creators of a wide variety of programming projects. Maths, literacy, humanities, gaming, music and control skills are all put to the test.There are four pupil workbooks to provide structure, resources and home learning links. These are designed to work in conjunction with the teacher book. A growing bank of online videos are also available, designed to help teachers improve their own skills and take full advantage of the cross-curricular benefits of developing depth in programming.The Scratch programming language, already widely recognised in schools, is freely accessible online or as a download at home. Scratch is the ideal place to begin programming as there is no other system that allows pupils to create such a wide variety of projects across primary and secondary education. It also enables pupils to extend their understanding independently through the Scratch online community the new computing curriculum is truly transformational!

    2 in stock

    £19.54

  • Programming with Python for Engineers

    Springer International Publishing AG Programming with Python for Engineers

    2 in stock

    Book SynopsisThis book introduces computing and programming with undergraduate engineering students in mind. It uses Python (Version 3) as the programming language, chosen for its simplicity, readability, wide applicability and large collection of libraries. After introducing engineering-related Python libraries, such as NumPy, Pandas, Matplotlib, Sci-kit, Programming with Python for Engineers shows how Python can be used to implement methods common in a wide spectrum of engineering-related problems drawn from (for example): design, control, decision-making, scheduling and planning. Important features of the book include the following: The book contains interactive content for illustration of important concepts, where the user can provide input and by clicking buttons, trace through the steps. Each chapter is also accessible as a Jupyter Notebook page and every code piece is executable. This allows the readers to run code examples in chapters immediately, to make changes and gain a better grasp of the concepts presented. The coverage of topics is complemented by illustrative examples and exercises. For instructors adopting the textbook, a solutions manual is provided athttps://sites.google.com/springernature.com/extramaterial/lecturer-material.

    2 in stock

    £58.49

  • Core Java Volume I

    Pearson Education Core Java Volume I

    1 in stock

    Book Synopsis

    1 in stock

    £53.99

  • C Core Guidelines Explained

    Pearson Education (US) C Core Guidelines Explained

    Book SynopsisRainer Grimm has worked as a software architect, team lead, and instructor since 1999, and offered seminars on C++, Python, and proprietary software since 2002. He writes regularly on C++, Python, and Haskell, speaks at conferences on programming issues, and blogs weekly in English (modernescpp.com) and German (www.grimm-jaud.de/index.php/blog). Now an independent instructor, he offers seminars on modern C++ and Python. He has authored several books on modern C++, concurrency, and related topics.Table of ContentsList of selected C++ Core Guidelines xiii List of figures xxiii List of tables xxvii Foreword xxix Preface xxxi Acknowledgments xxxvii About the author xxxix Part I: The Guidelines 1 Chapter 1: Introduction 3 Target readership 3 Aim 4 Non-aims 4 Enforcement 4 Structure 4 Major sections 5 Chapter 2: Philosophy 7 Chapter 3: Interfaces 15 The curse of non-const global variables 16 Dependency injection as a cure 18 Making good interfaces 20 Related rules 25 Chapter 4: Functions 27 Function definitions 28 Parameter passing: in and out 32 Parameter passing: ownership semantics 38 Value return semantics 42 Other functions 46 Related rules 52 Chapter 5: Classes and Class Hierarchies 53 Summary rules 54 Concrete types 58 Constructors, assignments, and destructors 59 Class hierarchies 98 Overloading and overloaded operators 117 Unions 126 Related rules 129 Chapter 6: Enumerations 131 General rules 131 Related rules 137 Chapter 7: Resource Management 139 General rules 140 Allocation and deallocation 145 Smart pointers 150 Related rules 164 Chapter 8: Expressions and Statements 165 General 166 Declarations 168 Expressions 186 Statements 199 Arithmetic 204 Related rules 210 Chapter 9: Performance 213 Wrong optimizations 214 Wrong assumptions 214 Enable optimization 218 Related rules 230 Chapter 10: Concurrency 231 General guidelines 232 Concurrency 245 Parallelism 266 Message passing 269 Lock-free programming 273 Related rules 277 Chapter 11: Error Handling 279 Design 281 Implementation 283 If you can't throw 288 Related rules 292 Chapter 12: Constants and Immutability 293 Use const 294 Use constexpr 298 Chapter 13: Templates and Generic Programming 301 Use 302 Interfaces 305 Definition 320 Hierarchies 330 Variadic templates 332 Metaprogramming 336 Other rules 362 Related rules 372 Chapter 14: C-Style Programming 375 Entire source code available 376 Entire source code not available 378 Chapter 15: Source Files 383 Interface and implementation files 384 Namespaces 391 Chapter 16: The Standard Library 397 Containers 398 Text 404 Input and output 411 Related rules 419 Part II: Supporting Sections 421 Chapter 17: Architectural Ideas 423 Chapter 18: Nonrules and Myths 427 Chapter 19: Profiles 437 Pro.typeType safety 438 Pro.boundsBounds safety 439 Pro.lifetimeLifetime safety 439 Chapter 20: Guidelines Support Library 441 Views 441 Ownership pointers 442 Assertions 443 Utilities 443 Part III: Appendixes 445 Appendix A: Enforcing the C++ Core Guidelines 447 Visual Studio 448 clang-tidy 450 Appendix B: Concepts 453 Appendix C: Contracts 457 Index 459

    £29.69

  • OCP Oracle Certified Professional Java SE 17

    Pearson Education (US) OCP Oracle Certified Professional Java SE 17

    Book SynopsisKhalid A. Mughal is associate professor (emeritus) in the Department of Informatics, University of Bergen, Norway. During his extensive career, he has designed and implemented many courses on Java, object-oriented system development, web application development, software security, and compiler techniques. He has also given seminars for the IT industry. He is the principal author of several books on Java. Vasily A. Strelnikov is a senior principal Oracle Cloud Infrastructure solutions specialist at Oracle. Strelnikov's specialties are large-scale system design and integration using Java. He has created training courses for Java and Java EE. He co-created the OCP certification exam and has developed official Oracle University training videos for it.

    £53.99

  • Learn Python the Hard Way

    Pearson Education (US) Learn Python the Hard Way

    4 in stock

    Book SynopsisZed A. Shaw is the author of the popular books, Learn Python the Hard Way, Learn Ruby the Hard Way, and Learn C the Hard Way. He is also the creator of several open source software projects and has been programming and writing for nearly 30 years. Most of his free time is devoted to the study of painting and art history.Table of ContentsPreface xix Module 1: Getting Started in Python 1 Exercise 0: Gearing Up 2General Instructions 2Minimalist Start 3Complete Instructions 3Testing Your Setup 3Learning the Command Line 4Next Steps 5 Exercise 1: A Good First Program 6What You Should See 7Study Drills 8Common Student Questions 9The Blue Plus 9 Exercise 2: Comments and Pound Characters 10What You Should See 10Study Drills 10Common Student Questions 11 Exercise 3: Numbers and Math 12What You Should See 13Study Drills 13Common Student Questions 13 Exercise 4: Variables and Names 16What You Should See 17Study Drills 17Common Student Questions 17 Exercise 5: More Variables and Printing 20What You Should See 20Study Drills 21Common Student Questions 21 Exercise 6: Strings and Text 22What You Should See 23Study Drills 23Break It 23Common Student Questions 24 Exercise 7: Combining Strings 26What You Should See 26Study Drills 26Break It 27Common Student Questions 27 Exercise 8: Formatting Strings Manually 28What You Should See 28Study Drills 29Common Student Questions 29 Exercise 9: Multi-Line Strings 30What You Should See 30Study Drills 31Common Student Questions 31 Exercise 10: Escape Codes in Strings 32What You Should See 33Escape Sequences 33Study Drills 34Common Student Questions 34 Exercise 11: Asking People Questions 36What You Should See 36Study Drills 37Common Student Questions 37 Exercise 12: An Easier Way to Prompt 38What You Should See 38Study Drills 38Common Student Questions 39 Exercise 13: Parameters, Unpacking, Variables 40Code Description 41Hold Up! Features Have Another Name 42What You Should See 42Study Drills 43Common Student Questions 43 Exercise 14: Prompting and Passing 46What You Should See 47Study Drills 47Common Student Questions 47 Exercise 15: Reading Files 50What You Should See 51Study Drills 51Common Student Questions 52 Exercise 16: Reading and Writing Files 54What You Should See 55Study Drills 55Common Student Questions 56 Exercise 17: More Files 58What You Should See 59Study Drills 59Common Student Questions 59 Module 2: The Basics of Programming 61 Exercise 18: Names, Variables, Code, Functions 62Exercise Code 63What You Should See 65Study Drills 65Common Student Questions 66 Exercise 19: Functions and Variables 68What You Should See 69Study Drills 70Common Student Questions 70 Exercise 20: Functions and Files 72What You Should See 73Study Drills 73Common Student Questions 74 Exercise 21: Functions Can Return Something 76What You Should See 77Study Drills 77Common Student Questions 78 Exercise 22: Strings, Bytes, and Character Encodings 80Initial Research 80Switches, Conventions, and Encodings 82Dissecting the Output 84Dissecting the Code 84Encodings Deep Dive 86Breaking It 87 Exercise 23: Introductory Lists 88Accessing Elements of a List 88Practicing Lists 89The Code 89The Challenge 90Final Challenge 91 Exercise 24: Introductory Dictionaries 92Key/Value Structures 92Combining Lists with Data Objects 93The Code 94What You Should See 95The Challenge 95Final Challenge 96 Exercise 25: Dictionaries and Functions 98Step 1: Function Names Are Variables 98Step 2: Dictionaries with Variables 98Step 3: Dictionaries with Functions 99Step 4: Deciphering the Last Line 99Study Drill 100 Exercise 26: Dictionaries and Modules 102Step 1: Review of import 102Step 2: Find the __dict__ 102Step 3: Change the __dict__ 103Study Drill: Find the "Dunders" 104 Exercise 27: The Five Simple Rules to the Game of Code 106Rule 1: Everything Is a Sequence of Instructions 106Rule 2: Jumps Make the Sequence Non-Linear 108Rule 3: Tests Control Jumps 110Rule 4: Storage Controls Tests 111Rule 5: Input/Output Controls Storage 112Putting It All Together 113 Exercise 28: Memorizing Logic 116The Truth Terms 116The Truth Tables 117Common Student Questions 119 Exercise 29: Boolean Practice 120What You Should See 122Study Drills 122Common Student Questions 122 Exercise 30: What If 124What You Should See 124dis() It 125Study Drill 125Common Student Questions 125 Exercise 31: Else and If 126What You Should See 127dis() It 127Study Drills 128Common Student Questions 128 Exercise 32: Making Decisions 130What You Should See 131dis() It 131Study Drills 132Common Student Questions 132 Exercise 33: Loops and Lists 134What You Should See 135dis() It 136Study Drills 137Common Student Questions 137 Exercise 34: While Loops 138What You Should See 139dis() It 139Study Drills 140Common Student Questions 140 Exercise 35: Branches and Functions 142What You Should See 143Study Drills 144Common Student Questions 144 Exercise 36: Designing and Debugging 146From Idea to Working Code 146Rules for If-Statements 149Rules for Loops 149Tips for Debugging 149Homework 150 Exercise 37: Symbol Review 152Keywords 152Data Types 153String Escape Sequences 154Old-Style String Formats 154Operators 155Reading Code 156Study Drills 157Common Student Questions 157 Module 3: Applying What You Know 159 Exercise 38: Beyond Jupyter for Windows 160Why Learn PowerShell? 161What Is PowerShell? 161Crash Landing 171 Exercise 39: Beyond Jupyter for macOS/Linux 172Why Learn Bash or ZSH? 173What Is Bash? 173Crash Landing 184 Exercise 40: Advanced Developer Tools 186Managing conda Environments 186Adding conda-forge 187Using pip 188Using a .condarc 188General Editing Tips 189Going Further 189 Exercise 41: A Project Skeleton 190Activate an Environment 190Just Use cookiecutter 190Building Your Project 191Installing Your Project 191Testing the Install 192Remove test-project 192Common Errors 193Study Drills 193 Exercise 42: Doing Things to Lists 194What You Should See 195What Lists Can Do 196When to Use Lists 197Study Drills 197Common Student Questions 198 Exercise 43: Doing Things to Dictionaries 200A Dictionary Example 201What You Should See 203What Dictionaries Can Do 203Study Drills 204Common Student Questions 204 Exercise 44: From Dictionaries to Objects 206Step 1: Passing a Dict to a Function 206Step 2: talk inside the Dict 207Step 3: Closures 208Step 4: A Person Constructor 209Study Drills 211 Exercise 45: Basic Object-Oriented Programming 212Python's People 212Using dir() and __dict__ 213About the Dot (.) 214Terminology 215A Word on self 216Study Drills 217Common Student Questions 217 Exercise 46: Inheritance and Advanced OOP 218How This Looks in Code 219About class Name(object) 221Study Drills 221Common Student Questions 222 Exercise 47: Basic Object-Oriented Analysis and Design 224The Analysis of a Simple Game Engine 225Top Down versus Bottom Up 229The Code for "Gothons from Planet Percal #25" 230What You Should See 236Study Drills 237Common Student Questions 237 Exercise 48: Inheritance versus Composition 238What Is Inheritance? 238The Reason for super() 243Composition 243When to Use Inheritance or Composition 245Study Drill 245Common Student Questions 246 Exercise 49: You Make a Game 248Evaluating Your Game 248Function Style 249Class Style 249Code Style 250Good Comments 250Evaluate Your Game 250 Exercise 50: Automated Testing 252What Is the Purpose of Testing? 252How to Test Efficiently 252Install PyTest 253Simple PyTest Demo 254Running pytest 255Exceptions and try/except 255Getting Coverage Reports 256Study Drills 256Common Student Questions 257 Module 4: Python and Data Science 259 Exercise 51: What Is Data Munging? 260Why Data Munging? 261The Problem 261The Setup 262How to Code 262Process Example 263Solution Strategies 265Awesome ETL Tools 266Study Drills 266 Exercise 52: Scraping Data from the Web 268Introducing with 268The Problem 269The Setup 269The Clue 270Awesome Scraping Tools 270Study Drills 271 Exercise 53: Getting Data from APIs 272Introducing JSON 272The Problem 273The Setup 274The Clue 274Awesome API Tools 275Study Drills 275 Exercise 54: Data Conversion with pandas 276Introducing Pandoc 276The Problem 276The Setup 277The Clue 277Study Drills 278 Exercise 55: How to Read Documentation (Featuring pandas) 280Why Programmer Documentation Sucks 280How to Actively Read Programmer Docs 281Step #1: Find the Docs 281Step #2: Determine Your Strategy 282Step #3: Code First, Docs Second 283Step #4: Break or Change the Code 283Step #5: Take Notes 284Step #6: Use It on Your Own 284Step #7: Write About What You Learned 284Step #8: What’s the Gestalt? 285Reading My pandas Curriculum 286 Exercise 56: Using Only pandas 288Make a Project 288The Problem 288The Setup 289Study Drill 289 Exercise 57: The SQL Crash Course 290What Is SQL? 290The Setup 291Fixing and Loading 292Create, Read, Update, Delete 293SELECT 293Date and Time 294INSERT 295UPDATE 296DELETE and Transactions 297Math, Aggregates, and GROUP BY 298Python Access 299 Exercise 58: SQL Normalization 300What Is Normalization? 300First Normal Form 301Second Normal Form (2NF) 303Querying 2NF Data 306Querying with Joins 308Study Drills 308 Exercise 59: SQL Relationships 310One-to-Many (1:M) 310Many-to-Many (M:M) 311One-to-One (1:1) 312Attributed Relations 313Querying M:M Tables 313Your Last Study Drill 314 Exercise 60: Advice from an Even Older Programmer 316 Index 318

    4 in stock

    £28.79

  • Functional Programming in C++

    Manning Publications Functional Programming in C++

    15 in stock

    Book SynopsisFunctional programming is becoming a required skill for allprogrammers, and for good reason. The functional style ofprogramming lets developers to write more concise code, which tendsto have fewer bugs. Functional Programming in C++ teaches developers the practical sideof functional programming and what tools C++ provides to developsoftware in the functional style. KEY FEATURES• Practical-guide• Hands-on examples• Step-by-step instructions This book is for developers who have worked professionally with C++for 2 or more years. ABOUT THE TECHNOLOGYBroadly speaking, Functional Programming is a style of programmingwhere the main programming building blocks are functions, asopposed to objects and procedures. AUTHOR BIOIvan Čukić has been teaching modern C++ techniques and functionalprogramming at the Faculty of Mathematics in Belgrade for 6 years and hasbeen using C++ for more than 15 years. He has been researching functionalprogramming in C++ before and during his PhD studies, and uses thetechniques in real-world projects. He is one of the core developers in KDE,the largest free/libre open source C++ project.

    15 in stock

    £35.99

  • Grokking Concurrency

    Manning Publications Grokking Concurrency

    4 in stock

    Book SynopsisThis easy-to-read, hands-on guide demystifies concurrency concepts like threading, asynchronous programming, and parallel processing in any language. For readers who know the basics of programming. Grokking Concurrency is the ultimate guide to effective concurrency practices that will help you leverage multiple cores, excel with high loads, handle terabytes of data, and continue working after hardware and software failures. The core concepts in this guide will remain eternally relevant, whether you are building web apps, IoT systems, or handling big data. Specifically, you will: Get up to speed with the core concepts of concurrency, asynchrony, and parallel programming Learn the strengths and weaknesses of different hardware architectures Improve the sequential performance characteristics of your software Solve common problems for concurrent programming Compose patterns into a series of practices for writing scalable systems Write and implement concurrency systems that scale to any size Grokking Concurrency demystifies writing high-performance concurrent code through clear explanations of core concepts, interesting illustrations, insightful examples, and detailed techniques you can apply to your own projects. About the technology Microservices, big data, real-time systems, and other performance-intensive applications can all slow your systems to a crawl. You know the solution is “concurrency.” Now what? How do you choose among concurrency approaches? How can you be sure you will actually reduce latency and complete your jobs faster? This entertaining, fully illustrated guide answers all of your concurrency questions so you can start taking full advantage of modern multicore processors.Trade ReviewDon't be afraid about concurrency, learn from Grokking Concurrency! Eddu Melendez This book is a model of clarity. It clearly puts back not-so-well-known concepts in context. Luc Rogge The Manning Grokking series has a well deserved good reputation and this book will not let the series down. Patrick Regan

    4 in stock

    £37.04

  • Python Tools For Scientists: An Introduction to

    No Starch Press,US Python Tools For Scientists: An Introduction to

    2 in stock

    Book SynopsisDoing Science With Python introduces readers to the most popular coding tools for scientific research, such as Anaconda, Spyder, Jupyter Notebooks, and JupyterLab, as well as dozens of important Python libraries for working with data, including NumPy, matplotlib, and pandas. No prior programming experience is required! You'll be guided through setting up a professional coding environment, then get a crash course on programming with Python, and explore the many tools and libraries ideal for working with data, designing visualisations, simulating natural events, and more.Trade Review"Python Tools for Scientists helps people get up and running in Python so that they can start solving their problems right away instead of being daunted by the dizzying array of tools available in the ecosystem. I wish something like this had been available when I first picked up Python as a scientist!" —James Bednar, Director of Custom Services, Anaconda, Inc.“Python has a wealth of scientific computing tools, so how do you decide which ones are right for you? This book cuts through the noise to help you deliver results." —Serdar Yegulalp, InfoWorld"The book [Python Tools for Scientists] by Lee Vaughan is a critical resource for anyone that is new to Python programming and intends to become a Python expert. It covers all of the critical topics in an easily understandable format and it goes deep enough to be helpful in navigating advanced topics. The book is also true to current Software Engineering standards and gives even new developers the tools to jump start their Python career."—Dr. Alec Yasinsac, Department of Computer Science, University of South Alabama"I wish there was a book like this when I started learning Python... [Python Tools for Scientists] is a practical, detailed, hands-on introduction to setting up a local Python workspace and getting started with the basics of Python programming. It was written for scientists, by a scientist who knows what the typical problems are when scientists and engineers start using Python tools in their everyday work. It also introduces the wide variety of packages that can be used in scientific programming and provides guidelines on when to use them. Matplotlib, numpy, and pandas are covered in much more detail - as they should be. The writing and the organization of the material are clear and easy to follow. I have been using Python for many years, but I know I will be using this book both in teaching and research."—Zoltán Sylvester, Senior Research Scientist, University of Texas at AustinTable of ContentsIntroductionPart 1: Setting up for ScienceChapter 1: Installing Anaconda and Launching NavigatorChapter 2: Keeping Organized with Conda EnvironmentsChapter 3: Simple Scripting in Jupyter Qt ConsoleChapter 4: Serious Scripting with SpyderChapter 5: Jupyter Notebook: An Interactive Journal for Computational ResearchChapter 6: JupyterLab: Your Center for SciencePart 2: Python PrimerChapter 7: Integers, Floats, and StringsChapter 8: VariablesChapter 9: The Container Data TypesChapter 10: Flow ControlChapter 11: Functions and ModulesChapter 12: Files and FoldersChapter 13: Object Oriented ProgrammingChapter 14: Documenting your WorkPart 3: The Scientific and Visualization LibrariesChapter 15: The Scientific LibrariesChapter 16: The InfoVis and SciVis Visualization LibrariesChapter 17: The GeoVis LibrariesPart 4: The Essential LibrariesChapter 18: Numpy: Numerical PythonChapter 19: Demystifying MatplotlibChapter 20: Pandas, Seaborn, and Scikit-learnChapter 21: Managing Dates and Times with Python and PandasAppendix A: Answers to the "Test your Knowledge" Challenges

    2 in stock

    £35.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