Software Engineering Education in the Modern Age


Book Description

This tutorial book presents an augmented selection of the material presented at the Software Engineering Education and Training Track at the International Conference on Software Engineering, ICSE 2005, held in St. Louis, MO, USA in May 2005. The 12 tutorial lectures presented cover software engineering education, state of the art and practice: creativity and rigor, challenges for industries and academia, as well as future directions.




Modern Software Engineering


Book Description

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.




Software Engineering at Google


Book Description

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions







Guide to the Software Engineering Body of Knowledge (Swebok(r))


Book Description

In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).




Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills


Book Description

Computer science graduates often find software engineering knowledge and skills are more in demand after they join the industry. However, given the lecture-based curriculum present in academia, it is not an easy undertaking to deliver industry-standard knowledge and skills in a software engineering classroom as such lectures hardly engage or convince students. Overcoming Challenges in Software Engineering Education: Delivering Non-Technical Knowledge and Skills combines recent advances and best practices to improve the curriculum of software engineering education. This book is an essential reference source for researchers and educators seeking to bridge the gap between industry expectations and what academia can provide in software engineering education.




Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications


Book Description

Professionals in the interdisciplinary field of computer science focus on the design, operation, and maintenance of computational systems and software. Methodologies and tools of engineering are utilized alongside computer applications to develop efficient and precise information databases. Computer Systems and Software Engineering: Concepts, Methodologies, Tools, and Applications is a comprehensive reference source for the latest scholarly material on trends, techniques, and uses of various technology applications and examines the benefits and challenges of these computational developments. Highlighting a range of pertinent topics such as utility computing, computer security, and information systems applications, this multi-volume book is ideally designed for academicians, researchers, students, web designers, software developers, and practitioners interested in computer systems and software engineering.




Handbook of Research on Emerging Advancements and Technologies in Software Engineering


Book Description

Advanced approaches to software engineering and design are capable of solving complex computational problems and achieving standards of performance that were unheard of only decades ago. Handbook of Research on Emerging Advancements and Technologies in Software Engineering presents a comprehensive investigation of the most recent discoveries in software engineering research and practice, with studies in software design, development, implementation, testing, analysis, and evolution. Software designers, architects, and technologists, as well as students and educators, will find this book to be a vital and in-depth examination of the latest notable developments within the software engineering community.




Software Engineering: Effective Teaching and Learning Approaches and Practices


Book Description

Over the past decade, software engineering has developed into a highly respected field. Though computing and software engineering education continues to emerge as a prominent interest area of study, few books specifically focus on software engineering education itself. Software Engineering: Effective Teaching and Learning Approaches and Practices presents the latest developments in software engineering education, drawing contributions from over 20 software engineering educators from around the globe. Encompassing areas such as student assessment and learning, innovative teaching methods, and educational technology, this much-needed book greatly enhances libraries with its unique research content.




Research On STEM Education in the Digital Age


Book Description

Supporting education through digital technology becomes increasingly important. Especially in the light of the Covid-19 pandemic, online teaching and learning has been increased massively. In these precarious times, multiple approaches have been developed to enable the delivery of online education. But also for the regular classroom setting, more and more technologies are developed and implemented in educational practice. This volume contains the papers presented at the Research On STEM Education in the Digital Age (ROSEDA) Conference, held in Porto, Portugal, in February 2023. The proceedings summarize and link theoretical consi-derations, practical experiences and ideas, and empirical research on the use of technology to enrich students’ learning. Hereby, the papers focus on the STEM subjects of Mathematics, Technology, Engineering and Mathematics. The ROSEDA Conference and its proceedings are part of the Erasmus+ Strategic Partnership ASYMPTOTE which is co-funded by the European Union.