3.76
"Software Engineering" by Ian Sommerville is a comprehensive and authoritative guide to the principles and practices of software engineering. The book is part of the International Computer Science Series and is now in its tenth edition, reflecting the ongoing evolution and importance of the field. The book is divided into three parts, with the first part providing an introduction to software engineering, including its history, principles, and processes. The second part covers the software development lifecycle in detail, from requirements gathering and analysis to design, implementation, testing, and maintenance. The final part of the book explores advanced topics in software engineering, such as software reuse, component-based development, and software project management. Sommerville's writing style is clear and concise, making the book accessible to readers with varying levels of experience in software engineering. The book includes numerous real-world examples, case studies, and exercises to help readers apply the concepts covered in each chapter. The tenth edition has been updated to include new developments in the field, such as agile methods, cloud computing, and DevOps. One of the strengths of "Software Engineering" is its emphasis on the importance of soft skills, such as communication, teamwork, and project management, in addition to technical skills. Sommerville argues that software engineering is not just about writing code, but also about working effectively in teams, managing projects, and delivering high-quality software that meets the needs of users. Overall, "Software Engineering" is an essential resource for anyone interested in the principles and practices of software engineering. Whether you are a student, a practitioner, or a manager, this book provides a comprehensive and up-to-date overview of the field, along with practical guidance on how to apply its principles in real-world settings...
Martin Fowler
Refactoring: Improving the Design of Existing Code
In this book, Martin Fowler provides a comprehensive guide to refactoring, or improving the design of existing code. He describes a wide range of refactoring techniques, and provides detailed examples and best practices for each one. The book is full of practical advice that will help you write better software.
Learn MoreStuart Russell
Artificial Intelligence: A Modern Approach
This book provides a comprehensive introduction to artificial intelligence, covering everything from problem-solving and logical agents to machine learning and natural language processing. The authors provide detailed examples and best practices for each topic, making the book an invaluable resource for anyone looking to understand how artificial intelligence works.
Learn More