Recent Posts

Software Licensing

Software Licensing

When you buy software, you almost always buy a license to use the software, rather than the rights to the software itself. But you frequently do not have rights to...

Prof. McBurney Prof. McBurney
GP-H: Design Patterns

GP-H: Design Patterns

Either solo or in groups of two or three, your objective for this Guided Practice is, given a short program description and problem, look through the design patterns at https://refactoring.guru/design-patterns/catalog...

Prof. Sherriff Prof. Sherriff
Engineering Software Security

Engineering Software Security

Security is a non-functional requirement, which means it should be pervasive throughout the software system.

Prof. Sherriff Prof. Sherriff
Software Maintenance

Software Maintenance

“Maintenance” is too often a dirty word in software development… but really only the most skilled developers are good at it! Why does this happen? What skills do you need...

Prof. Sherriff Prof. Sherriff
GP-G: Design Decomposition

GP-G: Design Decomposition

In groups of two or three, you are going to practice doing an object-oriented decomposition of a simple assignment submissions system (think Gradescope).

Prof. Sherriff Prof. Sherriff
Design Patterns

Design Patterns

Design Patterns are proven solutions to design problems. Unlike frameworks, however, design patterns do not come with working code. Instead, they are abstract ideas and structures that can be mimicked....

Prof. McBurney Prof. McBurney
OO Decomposition

OO Decomposition

How do we design an object oriented system? What are the actors (objects)? What are their actions (methods)? How do they interact (relationships)? What different kind of relationships are there?...

Prof. McBurney Prof. McBurney
Modularity

Modularity

What does it mean for code to be modular? When designing a system, what is good modularity?

Prof. McBurney Prof. McBurney
GP-F: Framework Research

GP-F: Framework Research

Either by yourself or in groups of up to three people, you’re going to do some research on two different frameworks for two different programming languages (PHP, Python, Java, or...

Prof. Sherriff Prof. Sherriff
GP-E: Test Cases

GP-E: Test Cases

With your partners, look at the methods from the API for the OurSet class in Python and fill out the test plan on the next page for the three methods...

Prof. McBurney Prof. McBurney
Web Services

Web Services

Now that we know how individual web applications are built and we know the architectural design patterns used to build those apps… what can we do with them?

Prof. Sherriff Prof. Sherriff