Week 8 Class 15 Tue Oct 14 Posted: Oct 14
Agenda
Week 7 Class 14 Thu Oct 09 Posted: Oct 09
Agenda
Week 7 Class 13 Tue Oct 07 Posted: Oct 07
Agenda
Week 6 Class 12 Thu Oct 02 Posted: Oct 02
Announcements
I will post an exercise tomorrow.
We will not have an exercise this week. Have a good weekend.
Agenda
Week 6 Class 11 Tue Sep 30 Posted: Sep 30
Agenda
Week 5 Class 10 Thu Sep 25 Posted: Sep 25
Agenda
Exercise 7: Call Graph
Select some code and create a Call Graph for the code. Use the GitHub Classroom Invitation Link in Brightspace to create your repository. The files are already created, you just need to update their contents:
About the code:
Due Monday, Sep 29 3:00 pm.
Week 5 Class 9 Tue Sep 23 Posted: Sep 23
Agenda
Week 4 Class 8 Thu Sep 18 Posted: Sep 18
Agenda
Exercise 6: Coupling & Cohesion
Write at least a two-page document that discusses for each main categories of Coupling & Cohesion which code-analysis approaches could be used to automatically find these in a codebase. If the current approaches are insufficient, discuss what else would be needed.
Upload to Brightspace as a PDF.
The exercise is due at 3:30 pm on Monday, Sep 25
Notes: Static Analysis
Week 4 Class 7 Tue Sep 16 Posted: Sep 16
Agenda
Week 3 Class 6 Thu Sep 11 Posted: Sep 11
Agenda
Exercise 5: Disruption & Lifestages
Write at least a one-page document that discusses the interplay between disruption as defined by Clay Christensen, and the software lifespan, as defined by Václav Rajlich, by considering the following:
The exercise is due at 3 pm on Monday, Sep 15.
Week 3 Class 5 Tue Sep 09 Posted: Sep 09
Agenda
Week 2 Class 4 Thu Sep 04 Posted: Sep 04
Agenda
Exercise 3: Lehman's Laws
Write at least a one-page document answering the following questions about Lehman's Laws. You can refer to my notes, and the original Lehman's papers.
The Essence of Evolution Discuss the significance of Lehman's first law, "Continuing Change." How does the law relate to the dynamic environment of modern software? Provide any real-world examples that you can.
Complexity and Decline Evaluate the long-term implications of Lehman's second law, "Increasing Complexity", on the maintenance and sustainability of large software systems. How does this law correlate with the principle of technical debt in software development?
The Inherent Limitations of Software Evolution How can organizations address the issues caused by Lehman's "Law of Declining Quality"? Include any with the help of real-life case studies that you can where ignoring this law led to significant setbacks.
Feedback and Adaptation How does the "Feedback System" law underline the importance of feedback in agile methodologies and DevOps practices? Analyze its implications for modern software development teams that prioritize continuous integration and continuous delivery.
The exercise is due at 3:00 pm on Monday, Sep 8
Week 2 Class 3 Tue Sep 02 Posted: Sep 02
Announcements
Agenda
Week 1 Class 2 Thu Aug 28 Posted: Aug 28
Agenda
Exercise 2: Write a 1-page paper discussing which definition of software engineering that appears on the Wikipedia page is the most appropriate and why. You may also discuss the other definitions, and how similar they are to your preferred one.
Update to Brightspaces as a 1-page PDF
This exercise is due by 3 pm on Mon, Sep 1.
Week 1 Class 1 Tue Aug 26 Posted: Aug 26
Announcements
Agenda
Exercise 1: Write up to a one-page paper introducing yourself to me and the rest of the students:
Submit a PDF through Brightspace.
Notes: Introduction
For next class: Read the article "Changing the Paradigm of Software Engineering" by Václav Rajlich
All exercises are due by 3 pm on Wed Aug 27
Greetings and welcome to CPSC 680 Software Engineering Methodologies (SEM) for Fall 2025.
See you on Tuesday, Aug 26 at 2:00 - 3:15 in Arts & Sciences (CAS) room 134