{"id":44130679,"url":"https://github.com/pintergreg/software-engineering","last_synced_at":"2026-02-08T22:10:05.528Z","repository":{"id":257368416,"uuid":"824040486","full_name":"pintergreg/software-engineering","owner":"pintergreg","description":"software engineering teaching materials","archived":false,"fork":false,"pushed_at":"2025-12-03T17:04:04.000Z","size":50693,"stargazers_count":1,"open_issues_count":19,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-06T22:00:02.006Z","etag":null,"topics":["behavior-driven-development","c4-model","clean-code","code-quality","code-review","continuous-deployment","continuous-integration","legacy-code","requirement-analysis","risk-storming","software-design","software-engineering","teaching-materials","test-driven-development","user-story-mapping","wireframing"],"latest_commit_sha":null,"homepage":"https://pintergreg.github.io/software-engineering/","language":"Markdown","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pintergreg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-04T08:44:09.000Z","updated_at":"2025-12-03T17:02:24.000Z","dependencies_parsed_at":"2024-10-28T15:05:59.767Z","dependency_job_id":"f3a1f6e3-7025-4b58-9fb8-19ebb56391a9","html_url":"https://github.com/pintergreg/software-engineering","commit_stats":null,"previous_names":["pintergreg/software-engineering"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/pintergreg/software-engineering","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pintergreg%2Fsoftware-engineering","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pintergreg%2Fsoftware-engineering/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pintergreg%2Fsoftware-engineering/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pintergreg%2Fsoftware-engineering/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pintergreg","download_url":"https://codeload.github.com/pintergreg/software-engineering/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pintergreg%2Fsoftware-engineering/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29246444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T21:42:34.334Z","status":"ssl_error","status_checked_at":"2026-02-08T21:41:38.468Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["behavior-driven-development","c4-model","clean-code","code-quality","code-review","continuous-deployment","continuous-integration","legacy-code","requirement-analysis","risk-storming","software-design","software-engineering","teaching-materials","test-driven-development","user-story-mapping","wireframing"],"created_at":"2026-02-08T22:10:04.859Z","updated_at":"2026-02-08T22:10:05.523Z","avatar_url":"https://github.com/pintergreg.png","language":"Markdown","readme":"# software engineering handout\n\nThe goal of this course is to provide a common foundation in software engineering for students from various backgrounds.\nIt aims to provide a shared terminology that enables experts in business informatics to be able to work seamlessly with software developers.\nThe course introduces the fundamentals of modern software development methodologies and life cycle models, with a focusing in detail on Scrum and Kanban.\nThe course covers requirements analysis and software architecture, both in theory and in practice.\nDuring the practical classes, the students explore and document the requirements of a software system.\n\nThen, during the second half of the semester, they design its architecture.\nFor requirements analysis, the course applies user story mapping in accordance with the agile principles.\nFor the software design, the course uses the C4 model, which is a set of hierarchical diagrams describing the architecture of a software system.\nThe practical classes are workshops in which the students work in teams on the project assignment under an instructor's guidance.\nDuring the second half of the semester, lectures also cover topics such as code quality, code review, testing and automation.\n\n## copyrighted materials\n\n- the [how to run short \u0026 effective meetings](lectures/figures/borrowed/how_to_run_short_and_effective_meetings.jpg) comic is by [Sam Lau](https://www.samlau.xyz/about), and used with the author's permission\n- the [let's hop on a quick call](lectures/figures/borrowed/quick_call.jpg) comic is by [Ash Lamb](https://ashlamb.com/), and used with the author's permission\n\n## acknowledgements\n\n- 2020-Scrum-Guide-US.pdf is by Ken Schwaber \u0026 Jeff Sutherland, downloaded from [scrumguides.org](https://scrumguides.org/) and licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)\n- Kanban-Guide-2020-12.pdf is by Daniel Vacanti \u0026 John Coleman, downloaded from [kanbanguides.org](https://kanbanguides.org/english/) and licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)\n- quickstart-guide-to-user-story-mapping.pdf is by Eben Halford, downloaded via [web archive](https://web.archive.org/web/20210615192510/https://www.beliminal.com/quickstart-guide-to-user-story-maps/) and licensed under [CC BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/)\n- the Richard's guide to software development comic is by Oliver Knörzer \u0026 Puri Andini (Powree), downloaded from [sandraandwoo.com](https://www.sandraandwoo.com/2012/11/19/0430-software-engineering-now-with-cats/) and licensed under [CC BY-NC-ND 3.0](https://creativecommons.org/licenses/by-nc-nd/3.0/)\n\n## used software\n\n- [pandoc](https://pandoc.org/)\n- [mdbook](https://github.com/rust-lang/mdBook)\n- [markmap](https://github.com/markmap/markmap)\n\n### included into this repo\n\n- [reveal.js 5.2.1](https://github.com/hakimel/reveal.js)\n- ieee.csl and apa.csl files are from https://github.com/citation-style-language/styles repository and licensed under [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)\n- [quizdown 0.6.0](https://github.com/bonartm/quizdown-js)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpintergreg%2Fsoftware-engineering","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpintergreg%2Fsoftware-engineering","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpintergreg%2Fsoftware-engineering/lists"}