Beginning Software Engineering teaches you the practical, hands-on skills needed to design and build robust, efficient, and consistently reliable software. Using jargon-free English, this book uses numerous case studies to demonstrate important concepts and techniques, and describes methods that can be applied to any programming language. Each chapter concludes with a Try It Out and How It Works section where you can test your skills with practice exercises. No previous programming, development, or management experience is required for you to learn how to complete essential tasks within all development approaches including linear, waterfall, and agile.