We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.
To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
Learn to program more effectively, faster, with better results… and enjoy both the learning experience and the benefits it ultimately brings. This undergraduate-level textbook is motivated by Formal Methods, encouraging habits that lead to correct and concise computer programs; but its informal approach sidesteps reliance on Formal Logic that programmers are sometimes led to believe is required. Instead, a straightforward and intuitive use of simple 'What's true here' comments encourages precision of thought without prescription of notation. Drawing on decades of the author's experience in teaching/industry, the text's careful presentation concentrates on key principles of structuring and reasoning about programs, applying them first to small, understandable algorithms. Then students can concentrate on turning those reliably into their corresponding –and correct– program source-codes. The text includes over 200 exercises, with full solutions available online for instructors' use, plus mini-projects and automated quizzes to support instructors in building their own courses.
Aimed at advanced undergraduate and graduate-level students, this textbook covers the core topics of quantum computing in a format designed for a single-semester course. It will be accessible to learners from a range of disciplines, with an understanding of linear algebra being the primary prerequisite. The textbook introduces central concepts such as quantum mechanics, the quantum circuit model, and quantum algorithms, and covers advanced subjects such as the surface code and topological quantum computation. These topics are essential for understanding the role of symmetries in error correction and the stability of quantum architectures, which situate quantum computation within the wider realm of theoretical physics. Graphical representations and exercises are included throughout the book and optional expanded materials are summarized within boxed 'Remarks'. Lecture notes have been made freely available for download from the textbook's webpage, with instructors having additional online access to selected exercise solutions.
Discover the foundations of classical and quantum information theory in the digital age with this modern introductory textbook. Familiarise yourself with core topics such as uncertainty, correlation, and entanglement before exploring modern techniques and concepts including tensor networks, quantum circuits and quantum discord. Deepen your understanding and extend your skills with over 250 thought-provoking end-of-chapter problems, with solutions for instructors, and explore curated further reading. Understand how abstract concepts connect to real-world scenarios with over 400 examples, including numerical and conceptual illustrations, and emphasising practical applications. Build confidence as chapters progressively increase in complexity, alternating between classic and quantum systems. This is the ideal textbook for senior undergraduate and graduate students in electrical engineering, computer science, and applied mathematics, looking to master the essentials of contemporary information theory.
Students will develop a practical understanding of data science with this hands-on textbook for introductory courses. This new edition is fully revised and updated, with numerous exercises and examples in the popular data science tool Python, a new chapter on using Python for statistical analysis, and a new chapter that demonstrates how to use Python within a range of cloud platforms. The many practice examples, drawn from real-life applications, range from small to big data and come to life in a new end-to-end project in Chapter 11. New 'Data Science in Practice' boxes highlight how concepts introduced work within an industry context and many chapters include new sections on AI and Generative AI. A suite of online material for instructors provides a strong supplement to the book, including lecture slides, solutions, additional assessment material and curriculum suggestions. Datasets and code are available for students online. This entry-level textbook is ideal for readers from a range of disciplines wishing to build a practical, working knowledge of data science.
Students will develop a practical understanding of data science with this hands-on textbook for introductory courses. This new edition is fully revised and updated, with numerous exercises and examples in the popular data science tool R, a new chapter on using R for statistical analysis, and a new chapter that demonstrates how to use R within a range of cloud platforms. The many practice examples, drawn from real-life applications, range from small to big data and come to life in a new end-to-end project in Chapter 11. New 'Data Science in Practice' boxes highlight how concepts introduced work within an industry context and many chapters include new sections on AI and Generative AI. A suite of online material for instructors provides a strong supplement to the book, including lecture slides, solutions, additional assessment material and curriculum suggestions. Datasets and code are available for students online. This entry-level textbook is ideal for readers from a range of disciplines wishing to build a practical, working knowledge of data science.
Emphasizing how and why machine learning algorithms work, this introductory textbook bridges the gap between the theoretical foundations of machine learning and its practical algorithmic and code-level implementation. Over 85 thorough worked examples, in both Matlab and Python, demonstrate how algorithms are implemented and applied whilst illustrating the end result. Over 75 end-of-chapter problems empower students to develop their own code to implement these algorithms, equipping them with hands-on experience. Matlab coding examples demonstrate how a mathematical idea is converted from equations to code, and provide a jumping off point for students, supported by in-depth coverage of essential mathematics including multivariable calculus, linear algebra, probability and statistics, numerical methods, and optimization. Accompanied online by instructor lecture slides, downloadable Python code and additional appendices, this is an excellent introduction to machine learning for senior undergraduate and graduate students in Engineering and Computer Science.
The textbook is primarily written for senior undergraduate and post graduate students studying in areas of computer science and engineering, and electrical engineering. However, as the subject covers various interdisciplinary areas, the book is also expected to be of interest to a larger readership in Science and Engineering. It has a comprehensive and balanced coverage of theory and applications of computer vision with a textbook approach providing worked out examples, and exercises. It covers theory and applications of some relatively recent advancements in technology such as on colour processing, deep learning techniques for processing images and videos, document processing, biometry, content based image retrieval, etc. It also delves with theories and processing in non-optical imaging systems, such as range or depth imaging, medical imaging and remote sensing imaging.
Bridge the gap between theoretical concepts and their practical applications with this rigorous introduction to the mathematics underpinning data science. It covers essential topics in linear algebra, calculus and optimization, and probability and statistics, demonstrating their relevance in the context of data analysis. Key application topics include clustering, regression, classification, dimensionality reduction, network analysis, and neural networks. What sets this text apart is its focus on hands-on learning. Each chapter combines mathematical insights with practical examples, using Python to implement algorithms and solve problems. Self-assessment quizzes, warm-up exercises and theoretical problems foster both mathematical understanding and computational skills. Designed for advanced undergraduate students and beginning graduate students, this textbook serves as both an invitation to data science for mathematics majors and as a deeper excursion into mathematics for data science students.
This focused textbook demonstrates cutting-edge concepts at the intersection of machine learning (ML) and wireless communications, providing students with a deep and insightful understanding of this emerging field. It introduces students to a broad array of ML tools for effective wireless system design, and supports them in exploring ways in which future wireless networks can be designed to enable more effective deployment of federated and distributed learning techniques to enable AI systems. Requiring no previous knowledge of ML, this accessible introduction includes over 20 worked examples demonstrating the use of theoretical principles to address real-world challenges, and over 100 end-of-chapter exercises to cement student understanding, including hands-on computational exercises using Python. Accompanied by code supplements and solutions for instructors, this is the ideal textbook for a single-semester senior undergraduate or graduate course for students in electrical engineering, and an invaluable reference for academic researchers and professional engineers in wireless communications.
Teaching fundamental design concepts and the challenges of emerging technology, this textbook prepares students for a career designing the computer systems of the future. Self-contained yet concise, the material can be taught in a single semester, making it perfect for use in senior undergraduate and graduate computer architecture courses. This edition has a more streamlined structure, with the reliability and other technology background sections now included in the appendix. New material includes a chapter on GPUs, providing a comprehensive overview of their microarchitectures; sections focusing on new memory technologies and memory interfaces, which are key to unlocking the potential of parallel computing systems; deeper coverage of memory hierarchies including DRAM architectures, compression in memory hierarchies and an up-to-date coverage of prefetching. Practical examples demonstrate concrete applications of definitions, while the simple models and codes used throughout ensure the material is accessible to a broad range of computer engineering/science students.
Important concepts from the diverse fields of physics, mathematics, engineering and computer science coalesce in this foundational text on the cutting-edge field of quantum information. Designed for undergraduate and graduate students with any STEM background, and written by a highly experienced author team, this textbook draws on quantum mechanics, number theory, computer science technologies, and more, to delve deeply into learning about qubits, the building blocks of quantum information, and how they are used in quantum computing and quantum algorithms. The pedagogical structure of the chapters features exercises after each section as well as focus boxes, giving students the benefit of additional background and applications without losing sight of the big picture. Recommended further reading and answers to select exercises further support learning. Written in approachable and conversational prose, this text offers a comprehensive treatment of the exciting field of quantum information while remaining accessible to students and researchers within all STEM disciplines.
In order to be effective mathematics educators, teachers need more than content knowledge: they need to be able to make mathematics comprehensible and accessible to their students. Teaching Key Concepts in the Australian Mathematics Curriculum Years 7 to 10 ensures that pre-service and practising teachers in Australia have the tools and resources required to teach lower secondary mathematics. By simplifying the underlying concepts of mathematics, this book equips teachers to design and deliver mathematics lessons at the lower secondary level. The text provides a variety of practical activities and teaching ideas that translate the latest version of the Australian Curriculum into classroom practice. Whether educators have recently studied more complicated mathematics or are teaching out of field, they are supported to recall ideas and concepts that they may have forgotten – or that may not have been made explicit in their own education.
Providing in-depth coverage, this book covers the fundamentals of computation and programming in C language. Essential concepts including operators and expressions, input and output statements, loop statements, arrays, pointers, functions, strings and preprocessors are described in a lucid manner. A unique approach - 'Learn by quiz' - features questions based on confidence-based learning methodology. It helps the reader to identify the right answer with adequate explanation and reasoning as to why the other options are incorrect. Computer programs and review questions are interspersed throughout the text. The book is appropriate for undergraduate students of engineering, computer science and information technology. It can be used for self-study and assists in the understanding of theoretical concepts and their applications.
Efficiently using data structures to collect, organise and retrieve information is one of the core abilities modern computer engineers are expected to have. This student-friendly textbook provides a complete view of data structures and algorithms using the Python programming language, striking a balance between theory and practical application. All major algorithms have been discussed and analysed in detail, and the corresponding codes in Python have been provided. Diagrams and examples have been extensively used for better understanding. Running time complexities are also discussed for each algorithm, allowing the student to better understand how to select the appropriate one. Written with both undergraduate and graduate students in mind, the book will also be helpful with competitive examinations for engineering in India such as GATE and NET. As such, it will be a vital resource for students as well as professionals who are looking for a handbook on data structures in Python.
Machine learning has become a dominant problem-solving technique in the modern world, with applications ranging from search engines and social media to self-driving cars and artificial intelligence. This lucid textbook presents the theoretical foundations of machine learning algorithms, and then illustrates each concept with its detailed implementation in Python to allow beginners to effectively implement the principles in real-world applications. All major techniques, such as regression, classification, clustering, deep learning, and association mining, have been illustrated using step-by-step coding instructions to help inculcate a 'learning by doing' approach. The book has no prerequisites, and covers the subject from the ground up, including a detailed introductory chapter on the Python language. As such, it is going to be a valuable resource not only for students of computer science, but also for anyone looking for a foundation in the subject, as well as professionals looking for a ready reckoner.
Learn with confidence with this hands-on undergraduate textbook for CS2 courses. Active-learning and real-world projects underpin each chapter, briefly reviewing programming fundamentals then progressing to core data structures and algorithms topics including recursion, lists, stacks, trees, graphs, sorting, and complexity analysis. Creative projects and applications put theoretical concepts into practice, helping students master the fundamentals. Dedicated project chapters supply further programming practice using real-world, interdisciplinary problems which students can showcase in their own online portfolios. Example Interview Questions sections prepare students for job applications. The pedagogy supports self-directed and skills-based learning with over 250 'Try It Yourself' boxes, many with solutions provided, and over 500 progressively challenging end-of-chapter questions. Written in a clear and engaging style, this textbook is a complete resource for teaching the fundamental skills that today's students need. Instructor resources are available online, including a test bank, solutions manual, and sample code.
Introduction to Probability and Statistics for Data Science provides a solid course in the fundamental concepts, methods and theory of statistics for students in statistics, data science, biostatistics, engineering, and physical science programs. It teaches students to understand, use, and build on modern statistical techniques for complex problems. The authors develop the methods from both an intuitive and mathematical angle, illustrating with simple examples how and why the methods work. More complicated examples, many of which incorporate data and code in R, show how the method is used in practice. Through this guidance, students get the big picture about how statistics works and can be applied. This text covers more modern topics such as regression trees, large scale hypothesis testing, bootstrapping, MCMC, time series, and fewer theoretical topics like the Cramer-Rao lower bound and the Rao-Blackwell theorem. It features more than 250 high-quality figures, 180 of which involve actual data. Data and R are code available on our website so that students can reproduce the examples and do hands-on exercises.
The global race to build the world's first quantum computer has attracted enormous investment from government and industry, and it attracts a growing pool of talent. As with many cutting-edge technologies, the optimal implementation is not yet settled. This important textbook describes four of the most advanced platforms for quantum computing: nuclear magnetic resonance, quantum optics, trapped ions, and superconducting systems. The fundamental physical concepts underpinning the practical implementation of quantum computing are reviewed, followed by a balanced analysis of the strengths and weaknesses inherent to each type of hardware. The text includes more than 80 carefully designed exercises with worked solutions available to instructors, applied problems from key scenarios, and suggestions for further reading, facilitating a practical and expansive learning experience. Suitable for senior undergraduate and graduate students in physics, engineering, and computer science, Building Quantum Computers is an invaluable resource for this emerging field.
Maximise student engagement and understanding of matrix methods in data-driven applications with this modern teaching package. Students are introduced to matrices in two preliminary chapters, before progressing to advanced topics such as the nuclear norm, proximal operators and convex optimization. Highlighted applications include low-rank approximation, matrix completion, subspace learning, logistic regression for binary classification, robust PCA, dimensionality reduction and Procrustes problems. Extensively classroom-tested, the book includes over 200 multiple-choice questions suitable for in-class interactive learning or quizzes, as well as homework exercises (with solutions available for instructors). It encourages active learning with engaging 'explore' questions, with answers at the back of each chapter, and Julia code examples to demonstrate how the mathematics is actually used in practice. A suite of computational notebooks offers a hands-on learning experience for students. This is a perfect textbook for upper-level undergraduates and first-year graduate students who have taken a prior course in linear algebra basics.
Understand algorithms and their design with this revised student-friendly textbook. Unlike other algorithms books, this one is approachable, the methods it explains are straightforward, and the insights it provides are numerous and valuable. Without grinding through lots of formal proof, students will benefit from step-by-step methods for developing algorithms, expert guidance on common pitfalls, and an appreciation of the bigger picture. Revised and updated, this second edition includes a new chapter on machine learning algorithms, and concise key concept summaries at the end of each part for quick reference. Also new to this edition are more than 150 new exercises: selected solutions are included to let students check their progress, while a full solutions manual is available online for instructors. No other text explains complex topics such as loop invariants as clearly, helping students to think abstractly and preparing them for creating their own innovative ways to solve problems.