Undergraduate Topics in Computer Science
6 total works
This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.
This textbook is a systematic guide to the steps in setting up a Capability Maturity Model Integration (CMMI) improvement initiative. Readers will learn the project management practices necessary to deliver high-quality software solutions to the customer on time and on budget. The text also highlights how software process improvement can achieve specific business goals to provide a tangible return on investment. Topics and features: supplies review questions, summaries and key topics for each chapter, as well as a glossary of acronyms; describes the CMMI model thoroughly, detailing the five maturity levels; provides a broad overview of software engineering; reviews the activities and teams required to set up a CMMI improvement initiative; examines in detail the implementation of CMMI in a typical organization at each of the maturity levels; investigates the various tools that support organizations in improving their software engineering maturity; discusses the SCAMPI appraisal methodology.
Tracing the story of computing from Babylonian counting boards to smartphones, this inspiring textbook provides a concise overview of the key events in the history of computing, together with discussion exercises to stimulate deeper investigation into this fascinating area. Features: provides chapter introductions, summaries, key topics, and review questions; includes an introduction to analogue and digital computers, and to the foundations of computing; examines the contributions of ancient civilisations to the field of computing; covers the first digital computers, and the earliest commercial computers, mainframes and minicomputers; describes the early development of the integrated circuit and the microprocessor; reviews the emergence of home computers; discusses the creation of the Internet, the invention of the smartphone, and the rise of social media; presents a short history of telecommunications, programming languages, operating systems, software engineering, artificial intelligence, and databases.
This practically-focused textbook provides a concise and accessible introduction to the field of software testing, explaining the fundamental principles and offering guidance on applying the theory in an industrial environment.
Topics and features: presents a brief history of software quality and its influential pioneers, as well as a discussion of the various software lifecycles used in software development; describes the fundamentals of testing in traditional software engineering, and the role that static testing plays in building quality into a product; explains the process of software test planning, test analysis and design, and test management; discusses test outsourcing, and test metrics and problem solving; reviews the tools available to support software testing activities, and the benefits of a software process improvement initiative; examines testing in the Agile world, and the verification of safety critical systems; considers the legal and ethical aspects of software testing, and the importance of software configuration management; provides key learning topics and review questions in every chapter, and supplies a helpful glossary at the end of the book.This easy-to-follow guide is an essential resource for undergraduate students of computer science seeking to learn about software testing, and how to build high quality and reliable software on time and on budget. The work will also be of interest to industrialists including software engineers, software testers, quality professionals and software managers, as well as the motivated general reader.