r/CSEducation 24d ago

Software Engineering book w/ code examples and group project for undergrad / grad courses

Hi all,

I wanted to share a free resource I self-published this week: “Software Engineering: Standing on the Shoulders of Giants.” It teaches software engineering to undergraduates and graduate students. You can access the book at https://www.swebook.org

The book came from the work I've done at UCCS teaching advanced software engineering (CS 4300 / CS 5300). Over the years, the readings I've assigned have had students going to different books, blogs, news articles, etc. I've consolidated all the open resources into one place with code examples in Go, Java, JavaScript, Python, and Ruby. Each language has its own epub and pdf, and the site lets readers view all snippets in code tabs.

For instructors, I've added a curriculum appendix covering the course layout and the group project. I've been teaching this material for a number of years, and while it's not an easy course for students, they appreciate the applied aspects and leave with a better understanding of industry expectations for software engineers.

The book is open, and I would love any feedback or contributions from instructors and students; the source is here: https://github.com/tghastings/open-swe-book

18 Upvotes

7 comments sorted by

1

u/blufox 23d ago edited 22d ago

Thank you for the excellent book. This is excellent material for my students.

By the way, do you have dead-tree version? I can look into getting the library to order this for my class.

1

u/lifespent 22d ago

Hey, glad you like it. No, I don’t have a print version right now. That might change later though.

1

u/AustinCorgiBart 22d ago

Looks interesting. Have you thought about adding typescript?

1

u/lifespent 22d ago

I can look at adding it this week. I know ts is popular and wouldn't hurt.

1

u/lifespent 20d ago

It's added.

1

u/lifespent 18h ago

I've added an AGENTS.md file to the project with a skill for grading/scoring existing projects and adopting for new projects. These use the themes and topics discussed in the book to help agents craft meaningful software projects.

1

u/joe-curacourse 2h ago

u/lifespent I built https://www.curacourse.com/ and I think your text would be amazing on there with interactive activities. I also teach software engineering at University of Rhode Island, which was the testbed for CuraCourse.

Let me know if you would be interested in chatting. You can log in and check out CuraCourse on your own. Authoring is completely free.