Development of any software now will probably use some open source software and will use
large language models (LLMs) or generative AI for some of the tasks.
The open source movement has matured over the last few decades and open source software
is now an important and integral part of the software ecosystem.
LLMs, which arrived relatively recently, have taken the world by a storm
and are impacting all activities where generation of text (or other type of artifacts) is the goal,
including the development of software.
These two important trends are the reason for the sub-title of this edition "with open source and GenAI”.
While this edition of the book, like the previous one, will focus on developing software,
for the major tasks involved in a development project, it will also discuss the use of open source and LLMs.
This website provides some case studies and examples,
and teaching aids including lecture slides.
They are provided by the author to help instructors in teaching an introductory software engineering course
using this book as the primary text. Some of the material provided by the instructor are links to google drive,
where they may be updated.
Later, the author hopes to provide links to teaching material from other instructors
who want to share them through this page, if there is sufficient interest.
The book is published by Springer and this edition is expected to be available in Jan 2025.
For more information about the publication of this edition,
visit Springer's page for the book.
A special edition of this book is being published for the Indian Subcontinent by Wiley India. (It has FAQs for each
chapter for the target audience.)
Case studies of software development projects can be very helpful for teaching software engineering by showing real and complete examples. Some case studies of projects for which the developed application was delivered to the end user are given here. These cases are selected from the author’s course, and are projects which were later extended for deployment and use. The work on these projects was done by senior students under the guidance of the instructor. For most of the case studies the following is provided: the requirements document (SRS), the design document (including the architecture design), links to GitHub code repository, short description of code organization, and system test plan (a document). Some other material may also be provided. No guarantee of any kind is being provided for these case studies. Users can use them as they wish.
Presentation slides for lectures on various topics (but not all) discussed in the book are provided in
this google drive folder.
No guarantee of any kind is provided or implied for this material.
These are being provided under the MIT license, so they can be used or modified as desired by an instructor.
As the slides are copies of what the author uses, they may change as the author revises them.
Slides for other topics may also get added in due course.
Later more material may be added to further help instructors provide a better learning experience to students.
If any seasoned instructor wishes to share their material through this site, please contact the author -
links to the instruction materials of other instructors may be added on this site, if there is sufficient iterest.
Acknowledgements:
I would like to thank students in my course Software Development using Open Source---without engagement with them
this book would not have been possible.
To express my gratitude, I am happy to commit that royalties from this book will be donated as scholarships
to students for higher education and/or to support open source activities among students.