Not logged in
Talk
Contributions
Create account
Log in
Navigation
Main page
About
People
Publications
Teaching
Resources
Research Blog
Wiki Functions
Recent changes
Help
Licensing
Page
Discussion
Edit
View history
Editing
Software Engineering (Fall 2025)
(section)
From CommunityData
Jump to:
navigation
,
search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Between-Sprint Planning == === October 21 (Tuesday) -- Design Part 2: Architecture and Systems === '''Before Class''' * Read [https://canvas.uw.edu/courses/1838606/files/folder/Week%205?preview=140117653 Reading Note 7] * Watch my mini-lecture on [https://canvas.uw.edu/courses/1838606/files/folder/Week%205?preview=139808742 Software Architecture] * Do the readings: ** Martin Fowler's [https://martinfowler.com/architecture/ blog post on Software Architecture] ** [https://arxiv.org/abs/2507.14554 This paper] -- it is a review of architecture trends 2020-2024. ** [https://en.wikipedia.org/wiki/Kubernetes The Wikipedia article on Kubernetes] -- you can stop reading when you reach the subsection 'Control plane' in the 'Concepts' section -- as the article itself warns, this article goes into a lot of detail. '''Class Goals:''' * Discuss Reading Note 7 * Git Commits, Diffs, and Merges -- moving towards integrating everyone's code! * Introduce 'planning poker' * Standup * Hands-on / triage issues with Task #4 * Examine your kanban boards and add additional stories * Take a look at the user stories in your kanban and play a round of planning poker with them '''Class Resources''' * [https://canvas.uw.edu/courses/1838606/files/folder/Week%205?preview=140436584 Miro discussion results] * [https://uw.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=cbb64ea1-f203-4c46-bc6c-b37d0173687d Panopto video] * [[Git and GitHub Demo Script: How to undo a bad change]] '''Optional Reading:''' * [https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/ This guide from Microsoft] lists several examples of architectural patterns and how they're fulfilled in an Azure context * This [https://www.geeksforgeeks.org/system-design/containerization-architecture-in-system-design/ guide on containerization] from Geeks For Geeks is a good resource as well. === October 23 (Thursday) -- Testing and CI / CD === '''Before Class''' * Read [https://canvas.uw.edu/courses/1838606/files/folder/Week%205?preview=140194319 Reading Note 8] * Watch [https://canvas.uw.edu/courses/1838606/files/folder/Week%205?preview=140194631 my mini-lecture on Testing and CI/CD] * Read [https://arxiv.org/pdf/2305.04772 this chapter] from '''Software Ecosystems: Tooling and Analytics''' by Mairieli Wessel, Tom Mens, Alexandre Decan, and Pooya Rostami Mazrae '''Class Goals:''' * Discuss Reading Note 8 * Team practice: Calculating Cyclomatic Complexity * Standup * Hands-on / triage issues with Task 4 (and 5) '''Class Resources:''' * [https://canvas.uw.edu/courses/1838606/files/folder/Week%205?preview=141089751 Miro board] * [https://uw.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=74e5a5ff-0029-4387-8b6c-b37f017356e2 Panopto recording] '''Optional Reading:''' * You might enjoy this [https://www.computerhistory.org/tdih/september/9/ historical note] on the use of the term "bug" to describe software flaws. * Brooks discusses types of debugging in [https://learning.oreilly.com/library/view/mythical-man-month-the/0201835959/ch11.xhtml Chapter 11] of ''The Mythical Man-Month'' * If you're interested in what research into testing has been looking at, you might enjoy [https://www.youtube.com/watch?v=GCy8bYJ_G0I this presentation on "How to create the nastiest test inputs ever"] from Andreas Zeller. === October 24 (Friday) === [[#Bot Project Task #4|Bot Project Task 4]] is due at 11:59 p.m. Pacific time. === October 28 (Tuesday) -- Security and Threat Modeling === Guest Speaker: Tiffany Chen, Software Engineer at ExtraHop Networks '''Before Class''' * Read [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=140337112 Reading Note 9] * Read the [https://www.threatmodelingmanifesto.org/ Threat Modeling Manifesto ] * Read Oosthoek, Cable, and Smaragdakis [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=140265257 A tale of two markets: Investigating the ransomware payments economy] * Watch my mini-lecture on [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=140336983 Security and Threat Modeling] '''Class Goals:''' * Discuss Reading Note 9 * Activity: Threat modeling * Standup * Hands-on / triage issues with Task #5 '''In-class Materials:''' * [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=141089766 Discussion board] * [https://uw.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=75696510-9237-4633-9dc0-b384017ae188 Class recording] '''Optional:''' * If you're interested in learning more about cybersecurity risk from an international perspective, this [https://www.infosecurityeurope.com/en-gb/blog/future-thinking/new-frameworks-vulnerability-risk-assessment.html blog post from Information Security Europe] describes alternatives to the US government's CISA frameworks. === October 30 (Thursday) -- Evidence Part 1: Static Analysis, Fuzzing, and Scanning === '''Before Class:''' * Read [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=140453242 Reading Note 10] * Watch my mini-lecture on [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=140336974 Static Analysis, Fuzzing, and Scanning] * Watch this lecture from [https://youtu.be/_HUcBzYuWmM?si=rfGRBEFz3PpY3q08 Marcel Bohme: "On the Surprising Efficiency and Exponential Cost of Fuzzing"] * Read [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=140336950 Chapter 9] in Oram & Wilson's '''Making Software: An Automated Fault Prediction System''', chapter written by Weyuker and Ostrand '''Class Goals:''' * Discuss Reading Note 10 * Standup * Run [[ESLint]] on your code. What issues did you find? Any good user stories? This might help you with task 5! * Final round of planning poker * Hands-on / triage issues with Task 5 '''Class Materials:''' * [https://canvas.uw.edu/courses/1838606/files/folder/Week%206?preview=141089765 Discussion board] * [https://uw.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=71d8f707-17f4-4104-9e20-b3860172af00 Panopto recording] '''Optional Resources''' * If you didn't follow the Fuzzing video, try this [https://www.youtube.com/watch?v=17ebHty54T4 overview of Fuzzing from David Brumley] and then give the Bohme lecture another try :) * The [https://en.wikipedia.org/wiki/Fuzzing coverage of Fuzzing on Wikipedia] is also quite good. * [https://faculty.washington.edu/lagesse/publications/ICSE2023.pdf This great paper describes using architectural and specification documents in predictions] of vulnerabilities -- written by Poozhithara, Asuncion, and Lagesse here at UW Bothell <!-- Ch 10-11 in making software --> === October 31 (Friday) === [[#Bot Project Task #5|Bot Project Task 5 Due]] at 11:59 p.m. Pacific time.
Summary:
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see
CommunityData:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:
Cancel
Editing help
(opens in new window)
Tools
What links here
Related changes
Special pages
Page information